La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño de la Unidad de Control Multiciclo: Microprogramación

Presentaciones similares


Presentación del tema: "Diseño de la Unidad de Control Multiciclo: Microprogramación"— Transcripción de la presentación:

1 Diseño de la Unidad de Control Multiciclo: Microprogramación
Introducción Conceptos básicos Microinstrucciones: Definición y Formato Microprograma Memoria de control Funcionamiento de la Microprogramación Ventajas y desventajas del control microprogramado. Microprogramación aplicada a MIPS Formato de las microinstrucciones Señales de control de cada campo y valores asociados Secuenciador del microprograma Resumen Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

2 Microprogramación: Introducción
S h i f t l e 2 M m o R g I r D a d W P C y u x 1 s n c [ 5 ] 4 A L U O p B 3 6 Z Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

3 Microprogramación: Introducción
Unidad de control multiciclo más compleja que la del monociclo Técnicas para la implementación del control Máquina de estados finitos (control cableado) Representación en forma gráfica (diagrama de estados) La máquina consta de: Un conjunto de estados Función de estado siguiente: Hace corresponder el estado actual y las entradas a un nuevo estado. Indica cómo cambian los estados. En cada estado se genera un conjunto de señales de control Un ciclo de reloj por estado Microprogramación (control microprogramado) Utiliza una representación programada para el control Se utiliza para unidades de control complejas (cientos de estados) De cada microinstrucción se obtienen: las señales de control que se aplican en cada estado, y la información de la siguiente microinstrucción a ejecutar Conjunto de microinstrucciones -> microprograma -> ROM Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

4 Microprogramación: Introducción
El concepto de microprogramación fue introducido por Maurice Wilkes a principio de los años 50 Después de construir el primer computador de programada almacenado (EDSAC), Wilkes trató de buscar una mejor forma de diseñar la Unidad de Control. Solución: Convierte la Unidad de Control en un computador en miniatura, que tiene una tabla para especificar el control del camino de datos, y una segunda tabla para determinar el flujo de control a nivel de microinstrucción Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

5 Microprogramación: Introducción
Las señales de control se almacenan en forma de microinstrucciones en una memoria de control Las instrucciones del nivel ISA son interpretadas por un microprograma que consta de una secuencia de microinstrucciones Comparando con la implementación de la máquina de estados finitos, se observa que la lógica de control del siguiente estado (o siguiente microinstrucción a ejecutar) es externa. Se implementa con un contador y lógica adicional dando lugar a un secuenciador externo. Microinstrucción P C W r i t e o n d I D M m R g S u c A L U O p B l s y a [ 5 ] 1 h f Secuenciador externo Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

6 Conceptos básicos: Microinstrucciones
Microinstrucción Especifica todas las señales de control del camino de datos más la posibilidad de decidir condicionalmente qué microinstrucción se debe ejecutar a continuación Cada palabra de la memoria de control es una microinstrucción. Formato de las microinstrucciones Señales de control: Señales para el camino de datos Condiciones: Bits que se pueden usar para seleccionar la condición que se desea utilizar para, en función de si es cierta o no, ejecutar la siguiente microinstrucción o saltar a otra. Siguiente instrucción: Campo que indica la siguiente instrucción a ejecutar Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

7 Conceptos básicos: Formato de las microinstrucciones
Microinstruciones HORIZONTALES y VERTICALES Clasificación en base al grado de codificación de los campos de la microinstrucciones Microinstrucción horizontal: Campos no codificados. Las señales de control se obtienen directamente de los bits de la microinstrucción. Pocas microinstrucciones y anchas. Microinstrucción vertical: Campos codificados. Para obtener las señales de control necesitamos un decodificador. Muchas microinstrucciones y cortas. Diseños intermedios: Algunos campos muy codificados y otros no codificados para proporcionar las señales de control directamente. Señales de control Decodificador Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

8 Conceptos básicos: Microprograma
Secuencia coherente de microinstrucciones cuya ejecución permite interpretar una instrucción del nivel ISA (macroinstrucción) Ejecutar una microinstrucción  Leer una microinstrucción de la memoria Una vez diseñado el camino de datos y la memoria de microinstrucciones, el control se convierte básicamente en una tarea de programación. Cambiando los microprogramas podemos ejecutar otros repertorios de instrucciones (implementación de distintas arquitecturas). Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

9 Conceptos básicos: Memoria de control
En esta memoria se guardan los microprogramas o conjuntos de microinstrucciones a partir de los que se obtienen las señales de control necesarias para la ejecución del repertorio de instrucciones del nivel ISA Normalmente se utiliza una ROM para esta memoria de control. Sin embargo, se han desarrollado máquinas en las que el microprograma se carga en memoria RAM -> permiten al usuario alterar su contenido Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

10 Funcionamiento de la unidad de control microprogramada
Funcionamiento generalizado Para ejecutar una instrucción el módulo “Sequencing Logic” (SL) lanza un comando de lectura sobre la memoria de control Se lee la palabra y se almacena en el “Control Buffer Register” (CBR) El contenido de CBR (microinstrucción) genera las señales de control para el camino de datos y la información de dirección de la siguiente microinstrucción para SL SL carga una nueva dirección de microinstrucción en el Control Address Register (CAR) basado en la información de la propia microinstrución y del campo de condición. La dirección puede ser: Siguiente microinstrucción Salto a una nueva rutina en función del campo “siguiente dirección” de la microinstrucción Salto a una rutina de instrucción basado en el código de operación de la instrucción ISA. Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

11 Ventajas y desventajas del control microprogramado
Como las señales de control son almacenadas en una memoria las unidades de control microprogramadas: Son sistemáticas con un formato bien definido Pueden ser fácilmente modificables durante el proceso de diseño Requieren más componentes para su implementación Tienden a ser más lentas que las unidades de control cableadas debido a que tienen que realizar operaciones de lectura de una memoria para obtener las señales de control Emulación Podemos modificar el microprograma para que la unidad de control interprete otro lenguaje máquina distinto (el de la máquina a emular) sin necesidad de realizar modificaciones en el hardware de la unidad de control -> sólo cambiamos el microprograma! Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

12 La técnica de microprogramación aplicada a la implementación de un subconjunto de MIPS
Aplicaremos la técnica de microprogramación para diseñar la unidad de control como alternativa al anterior diseño basado en maquinas de estados finitos P C W r i t e o n d I D M m R g S u c A L U O p B s N 3 2 1 5 4 a f l [ ] Implementación de la función “siguiente estado” en la Máquina de Estados Finitos en el control microprogramado Externo! Interno! Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

13 Formato de las microinstrucciones
7 Campos -> Señales de Control (6) + Siguiente Microinstrucción (1) Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

14 Señales asociadas a los campos y sus valores
Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

15 Microprograma de la unidad de control para el subconjunto MIPS
18 señales de control -> Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

16 Tema 4: Diseño del procesador (parte II)
Lógica de selección siguiente microinstrucción (secuenciador de microprograma) La lógica de selección de direcciones genera la dirección de la siguiente microinstrucción a ejecutar. La siguiente dirección puede ser: Siguiente microinstrucción (AddrCtl = 3) Obtenida de la ROM 2 (AddrCtl=2) Obtenida de la ROM 1 (AddrCtl = 1) Dirección 0 (AddrCtl = 0) S t a e O p A d r 1 P L o R M u x 3 2 D i s c h C l g I n f Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

17 Unidad de control microprogramada: Xilinx (I)
Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

18 Unidad de control microprogramada: Xilinx (II)
Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

19 Tema 4: Diseño del procesador (parte II)
Resumen En MIPS hemos utilizado microinstrucciones horizontales (poco codificadas). Las microinstrucciones poseen 6 campos de control y 1 campo de secuenciamiento. El microprograma está estructurado de tal manera que todas las instrucciones del ISA comienzan ejecutándose siguiendo los mismos pasos. A continuación, las tablas de dispatch nos permiten seleccionar la siguiente microinstrucción a ejecutar cuando ésta no es la siguiente secuencial (ni hay que volver al principio). En cualquier instante, la dirección de la siguiente microinstrucción a ejecutar puede ser: La siguiente microinstrucción secuencial La microinstrucción obtenida de la tabla dispatch 1 (indexada con el opcode) La microinstrucción obtenida de la tabla dispatch 2 (indexada con el opcode) La primera microinstrucción El registro de estado es el “contador del microprograma”, que señala siempre la dirección de la siguiente microinstrucción a ejecutar. Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)


Descargar ppt "Diseño de la Unidad de Control Multiciclo: Microprogramación"

Presentaciones similares


Anuncios Google