Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPedro Espinoza Mora Modificado hace 6 años
1
8. Diseño del Procesador Fundamentos de los Computadores
Grado en Ingeniería Informática (desde diseño multiciclo en adelante)
2
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
3
Diseño multiciclo División del ciclo de instrucción en varias etapas o pasos Cada etapa se ejecuta en un ciclo de reloj Las etapas presentan cargas de trabajo equilibradas CPI (ciclos por instrucción) variables: instrucciones lentas y rápidas Reutilización de las unidades funcionales Una unidad puede utilizarse más de una vez por instrucción siempre que se haga en ciclos de reloj distintos. Memoria unificada, pero un único acceso por ciclo Una única ALU, pero una única operación ALU por ciclo Diseño del procesador
4
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
5
Implementación multiciclo: componentes básicos
r y A d s I n t u c i a D g R # L U B O Una sola memoria para datos e instrucciones Una sola ALU en vez de 1 ALU y 2 sumadores Uso de registros temporales a la salida de las unidades funcionales principales. Dos tipos de registros: Tipo A: Actualizan su contenido en cada instrucción (IR) Tipo B: Actualizan su contenido en cada ciclo de reloj (MDR, A,B,ALUOut) Diseño del procesador
6
Ruta de datos multiciclo
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 Compartición de unidades funcionales (reducción del hardware) uso de multiplexores Ejecución en múltiples ciclos cada ciclo requiere un conjunto determinado de señales de control Señales de control Diseño del procesador
7
Etapas de ejecución de las instrucciones
¿Qué operaciones realizamos en cada ciclo de reloj? Objetivo: equilibrar la carga computacional de cada etapa Minimización del tiempo de ciclo En cada etapa se va a realizar alguna de las siguientes operaciones: Un acceso a registro Actualización en cada ciclo (Registros temporales: MDR, A, B, ALUOut) Actualización según una señal de escritura (PC, IR) Un acceso a memoria Una operación de ALU ¿Cómo se determina el tiempo de ciclo mínimo? Todas las operaciones de un ciclo se ejecutan en paralelo Etapas o pasos de la instrucción se ejecutan en serie Diseño del procesador
8
Camino de datos multiciclo con las señales de control
h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 Diseño del procesador
9
Etapas de ejecución de las instrucciones (I)
Etapa 1: Búsqueda del código de operación (fetch) IR = Memory[PC] PC = PC + 4 Etapa 2: Decodificación y acceso a operandos A = Reg[rs] B = Reg[rt] ALUout = PC + extensión-signo(IR[15-0]) << 2 Etapa 3: Ejecución, cálculo de dirección o terminación del salto Instrucción tipo R (and, or, add, sub,slt) ALUOut = A op B Referencia a memoria (lw/sw) ALUOut = A + extensión-signo(IR[15-0]) Salto (beq) if (A == B) PC = ALUOut Bifurcación (j) PC = PC[31-28] || IR[25-0] << 2 Diseño del procesador
10
Etapas de ejecución de las instrucciones (II)
Etapa 4: Acceso a memoria/fin de ejecución instrucción tipo R Referencia a memoria (lw) MDR = Memory[ALUOut] Referencia a memoria (sw) Memory[ALUOut] = B Fin ejecución instrucción tipo R Reg[rd] = ALUOut Etapa 5: Fin de lectura en memoria Reg[rt] = MDR Diseño del procesador
11
Instrucción de CARGA (LW): Etapa 1
= B 1 O p M e m R a d I o D W i t P C u n s f h / g ( ' ) - y E Q J F 5 . 3 8 9 4 Instrucción de CARGA (LW): Etapa 1 S h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 T1 Diseño del procesador
12
Instrucción de CARGA (LW): Etapa 2
= B 1 O p M e m R a d I o D W i t P C u n s f h / g ( ' ) - y E Q J F 5 . 3 8 9 4 Instrucción de CARGA (LW): Etapa 2 S h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 T2 Diseño del procesador
13
Instrucción de CARGA (LW): Etapa 3
h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 T3 M e m W r i t I o D = 1 R a d A L U S c B O p g s y u n ( ' ) - b k 4 2 5 3 F T . 7 Diseño del procesador
14
Instrucción de CARGA (LW): Etapa 4
h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 T4 M e m W r i t I o D = 1 R a d A L U S c B O p g s y u n ( ' ) - b k 4 2 5 3 F T . 7 Diseño del procesador
15
Instrucción de CARGA (LW): Etapa 5
h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 T5 M e m W r i t I o D = 1 R a d A L U S c B O p g s y u n ( ' ) - b k 4 2 5 3 F T . 7 Diseño del procesador
16
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
17
Diseño multiciclo - Diseño de la unidad control
Control cableado (Máquina de estados finitos - FSM) Especificación del control mediante un diagrama de estados finitos (representación gráfica o tabular) Máquina de estados finitos Conjunto de estados Función estado siguiente Si ×Ij Sk Función salida Máquinas de Moore: Si Ok Máquinas de Mealy: Si ×Ij Ok Control microprogramado Especificación del control mediante un programa Necesaria para simplificar la especificación de una UC compleja Diseño del procesador
18
Ruta de datos multiciclo completo con las señales de control
h i f t l e 2 P C M u x 1 R g s r W d a I n c o [ 5 – ] 4 3 6 A L U Z m y B D O p - J 8 Diseño del procesador
19
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
20
Control cableado - FSM Etapas 1 y 2 Representación abstracta
Etapas 1 y 2 comunes a todas las instrucciones Diagrama de estados Etapas 1 y 2 M e m o r y a c s i n t u ( F g 5 . 3 8 ) R - p 9 B h 4 J 1 I f / d 7 S A L U S r c = B 1 O p M e m R a d I o D W i t P C u n s f h / g ( ' ) - y E Q J F 5 . 3 8 9 4 Diseño del procesador
21
Control cableado – FSM completa
W r i t e S o u c = 1 A L U B O p n d R g D s M m I a f h / J l E x y - b k ( ' ) Q 4 9 8 6 2 7 5 3 Diseño del procesador
22
Control cableado – Especificación de la UC con una FSM
Diseño del procesador
23
Control cableado - Implementación de la FSM
Unidad de control = Lógica de control + Registro de Estado Reg. Estado: Se escribe en cada flanco de reloj y es estable durante el ciclo 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 Estado Siguiente Estado Actual Diseño del procesador
24
Control cableado – Ecuaciones de implement. de la FSM
Diseño del procesador
25
Control cableado - Implementación de FSM con ROM
Diseño unificado Tamaño: 210 × 20 = 20Kb 6 bits código de operación + 4 bits de los estados = 210 posiciones de memoria 16 salidas de control + 4 salidas de nuevo estado = 20 bits de anchura Diseño no unificado Tamaño: 4.25Kb ROM de señales de salida (Tamaño = 24 × 16 = 256b) 4 bits de los estados = 24 posiciones de memoria 16 salidas de control = 16 bits de anchura ROM de nuevo estado (Tamaño 210 × 4 = 4Kb) 4 salidas de nuevo estado = 4 bits de anchura Diseño del procesador
26
Control cableado - Implementación de FSM con PLA
Tamaño de la PLA #inputs × #minterms + #outputs × #minterms = (10 × 17) + (20 × 17) = 510 celdas Diseño del procesador
27
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
28
Diseño de la UC – Control microprogramado
El control se especifica como un programa (microprograma) que está compuesto por instrucciones (microinstrucciones) que están almacenadas en una memoria (memoria de microcódigo) Un registro (contador de microprograma) indica cuál es la siguiente microinstrucción a ejecutar. Diseño del procesador
29
Control microprogramado – Formato de la microinstrucción
7 campos: 6 campos de control + 1 campo de secuenciación Diseño del procesador
30
Control microprogramado– Señales asociadas a los campos y valores
Diseño del procesador
31
Control microprogramado – Microprograma de la UC
Diseño del procesador
32
Diseño de la UC – Control microprogramado
El estado siguiente es frecuentemente el estado actual + 1 Las señales de control están almacenadas en una memoria Diseño del procesador
33
Control microprogramado –Secuenciador del microprograma
La lógica de selección de direcciones genera la dirección de la siguiente microinstrucción a ejecutar Diseño del procesador
34
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
35
Excepciones e interrupciones
Definiciones Eventos inesperados que cambian el flujo normal de ejecución de las instrucciones Excepción Evento que tiene su origen en el interior del procesador (desbordamiento aritmético, instrucción ilegal, etc.) Interrupción Evento que tiene su origen en el exterior del procesador (dispositivos de entrada/salida, fallo de página, etc.) Diseño del procesador
36
Tratamiento de excepciones en MIPS
Las acciones básicas a realizar son: Guardar la dirección de la instrucción causante en el registro Contador de Programa de Excepciones (EPC) Registrar la causa de la excepción en el Registro Cause Transferir el control al Sistema Operativo en alguna dirección especificada (0xC ) donde se tratará la excepción (ejecución de una rutina de servicio) Interrupción Rutina de servicio de la interrupción Programa Salto a rutina de servicio Retorno de la rutina de servicio Diseño del procesador
37
Implementación de excepciones en MIPS
Excepciones a implementar Desbordamiento aritmético Instrucción ilegal o no definida Registros adicionales requeridos EPC: Registro de 32 bits para guardar la dirección de la instrucción causante de la excepción CAUSE: Registro de 32 bits para registrar la causa de la excepción. Utilizaremos sólo el bit menos significativo bit 0 = 0 → Instrucción ilegal bit 0 = 1 → Desbordamiento aritmético Señales de control adicionales Intcause (0: instrucción ilegal - 1: desbordamiento) CauseWrite (1: escritura en el registro CAUSE - 0: no escribe) EPCWrite (1: escritura en el registro EPC - 0: no escribe) Constante: C (dirección a donde se transfiere el control cada vez que se interrumpe) Diseño del procesador
38
Especificación de la UC con soporte de excepciones
= 1 B O p P C W i t e o n d u R g D s M m I a f h / J l E x y - b k ( ' ) Q 4 9 8 6 2 7 5 3 v w Diseño del procesador
39
Ruta de datos con soporte de excepciones
h i f t l e 2 M m o r y D a W d u x 1 I n s c [ 5 – ] 4 g 3 6 A L U Z B R P C O p - J 8 E Diseño del procesador
40
Instrucciones para excepciones en MIPS
mfc0 $rt, $rd (move from coprocesador 0) Transfiere la información desde el registro de propósito general $rd al registro de propósito especial $rt (0 para CAUSE, 1 para EPC) Tipo R ttttt ddddd mtc0 $rd, $rt (move to coprocesador 0) Transfiere la información desde el registro de propósito especial $rt (0 para CAUSE, 1 para EPC) al registro de propósito general $rd ttttt ddddd rfe (return from exception) Transfiere el contenido del EPC al registro contador de programa Tipo J Diseño del procesador
41
Estructura del tema Metodología de sincronización
Diseño de un procesador MIPS R3000 reducido Rutas de datos individuales Diseño monociclo Diseño de la ruta de datos Diseño de la unidad de control de la ALU Diseño de la unidad de control Ventajas y desventajas Diseño multiciclo Control cableado Control microprogramado Excepciones e interrupciones Resumen y bibliografía Diseño del procesador
42
Resumen Para diseñar un procesador es necesario diseñar en primer lugar el repertorio de instrucciones A continuación se diseña la ruta de datos que es capaz de ejecutar el repertorio de instrucciones El siguiente paso es diseñar la unidad de control El manejo de excepciones es la parte difícil del control. Diseño del procesador
43
Bibliografía Estructura y diseño de computadores: interficie circuitería/programación Capítulo 5 David A. Patterson, John L. Hennessy Editorial Reverté, 1999 Diseño del procesador
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.