La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)1 Diseño de la Unidad de Control Multiciclo: Microprogramación Introducción.

Presentaciones similares


Presentación del tema: "Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)1 Diseño de la Unidad de Control Multiciclo: Microprogramación Introducción."— Transcripción de la presentación:

1 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)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 –Microprograma –Secuenciador del microprograma Resumen

2 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)2 Microprogramación: Introducción

3 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

4 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

5 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. PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite AddrCtl Outputs Microcode memory IRWrite MemRead MemWrite RegDst Control unit Input Microprogram counter Address select logic O p [ 5 – 0 ] Adder 1 Datapath Instruction register opcode field BWrite Secuenciador externo Microinstrucción

6 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

7 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)7 Señales de control Decodificador 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.

8 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)8 Conceptos básicos: Microprograma 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).

9 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)9 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 Conceptos básicos: Memoria de control

10 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.

11 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!

12 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 PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS1 NS0 O p 5 O p 4 O p 3 O p 2 O p 1 O p 0 S 3 S 2 S 1 S 0 State register IRWrite MemRead MemWrite Instruction register opcode field Outputs Control logic Inputs AddrCtl Outputs PLA or ROM State Address select logic O p [ 5 – 0 ] Adder Instruction register opcode field 1 Control unit Input PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst IRWrite MemRead MemWrite BWrite Implementación de la función “siguiente estado” en la Máquina de Estados Finitos Implementación de la función “siguiente estado” en el control microprogramado Externo! Interno!

13 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)

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

15 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 ->

16 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)16 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) State O p Adder 1 PLA or ROM Mux 3210 Dispatch ROM 1Dispatch ROM 2 0 AddrCtl Address select logic Instruction register opcode field

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

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

19 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)19 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.


Descargar ppt "Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)1 Diseño de la Unidad de Control Multiciclo: Microprogramación Introducción."

Presentaciones similares


Anuncios Google