La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Fundamentos de los Computadores Grado en Ingeniería Informática

Presentaciones similares


Presentación del tema: "Fundamentos de los Computadores Grado en Ingeniería Informática"— Transcripción de la presentación:

1 Fundamentos de los Computadores Grado en Ingeniería Informática
8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática

2 Objetivos Plantear y modificar una ruta de datos para un repertorio de instrucciones simple en un procesador básico Especificar y modificar una unidad de control con una máquina de estados finitos para una ruta de datos y un repertorio de instrucciones simples Implementar una unidad de control especificada mediante una máquina de estados finitos Especificar y modificar una unidad de control microprogramada para una ruta de datos y un repertorio de instrucciones simple Implementar una unidad de control microprogramada. Escribir una rutina de tratamiento de excepción para interrupciones o excepciones básicas Diseño del procesador

3 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

4 Metodología de Sincronización
La metodología de sincronización define cuándo pueden leerse y escribirse las diferentes señales Características de la metodología de sincronización por nivel Un elemento de estado puede ser actualizado sólo en el flanco de reloj Un elemento de estado puede ser leído y modificado en un mismo ciclo Señales de habilitación de escritura explícitas Diseño del procesador

5 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

6 Conocimientos previos: Arquitectura MIPS
Registros 32 registros de propósito general, de 32 bits cada uno. ($0, $1, ..., $31) Memoria Direccionable por bytes en modo “big endian” Direcciones de 32 bits Modo de direccionamiento registro base + desplazamiento [100($1)] Diseño del procesador

7 Conocimientos previos: Arquitectura MIPS
Repertorio de instrucciones longitud fija de 32 bits. 3 tipos de instrucciones aritmético-lógicas: add, sub, and, or, slt add $1, $2, $3 de referencia a memoria: lw, sw lw $1, 100($2) Saltos (condicionales o no): beq, j beq $1, $2, 48 3 formatos formato R formato I formato J op rs rt rd funct desplazamiento dirección shamt Diseño del procesador

8 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

9 Ciclo de instrucción Ciclo de instrucción
Lectura de la instrucción M[PC] Decodificación de la instrucción y lectura de los registros Ejecución de la instrucción Ejecución de instrucciones: Pasos Común Leer instrucción de la memoria con el PC Leer registros especificados en la instrucción Similar Utilizar la ALU Diferente Terminación de ejecución de instrucción Diseño del procesador

10 Ruta de datos individuales – Búsqueda de la instrucción
Lectura de la memoria de instrucciones Actualización del PC a la siguiente instrucción Diseño del procesador

11 Ruta de datos individuales – Decodificación
Envío de los campos de código de operación y función a la unidad de control Lectura del banco de registro de los registros $rs y $rt Diseño del procesador

12 Ruta de datos individuales – Aritmético-lógicas
add, sub, and, or y slt add rd, rs, rt Ejemplo: add $8, $9, $10  $8=$9+$10 Formato tipo R: op y funct especifican la operación aritmético-lógica Diseño del procesador

13 Ruta de datos individuales – Aritmético-lógicas
Escritura del registro $rd del banco de registros con la salida de la ALU Diseño del procesador

14 Instrucciones de acceso a memoria
lw y sw lw rt, despl(rd) ó sw rt, despl(rd) Ejemplos: lw $1, 24($2)  $1= Mem[$2+24] sw $1, 24($2)  Mem[$2+24]= $1 Formato tipo I op rs rt desplazamiento Diseño del procesador

15 Ruta de datos individuales– Cargas y almacenamientos
Cálculo de la dirección de memoria address  $rs + extensión-signo(IR[15:0]) Carga de un registro (load) $rt  M[$rs + extensión-signo(IR[15:0])] Almacenamiento de un registro (store) M[$rs + extensión-signo(IR[15:0])]  $rt Diseño del procesador

16 Instrucción de salto condicional
beq rs, rt, despl Ejemplo: beq $1, $2, despl  si ($1=$2) PC=PC+despl Formato tipo I op rs rt desplazamiento Diseño del procesador

17 Ruta de datos individuales – Saltos condicionales
Resta de $rs y $rt y comprobación de la señal zero de la ALU Cálculo de la dirección efectiva de salto address  PC extensión-signo(IR[15:0]<<2) Diseño del procesador

18 Instrucción de salto incondicional
j dirección Ejemplo: j 1000  PC = PC[31-28] [27-2]+00[1-0] Formato tipo J op dirección Diseño del procesador

19 Ruta de datos individuales – Bifurcaciones
Reemplazo del PC por la dirección efectiva de salto PC  PC[31:28] || (IR[25:0]<<2) Diseño del procesador

20 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

21 Tcpu = N · CPI · tciclo Diseño monociclo Depende del compilador y
de la arquitectura del repertorio de instrucciones Dependen de la organización e implementación del procesador Diseño del procesador

22 Diseño monociclo Integración de las rutas de datos individuales
Recursos hardware + multiplexores + señales de control + restricciones de diseño Restricción de diseño Todas las instrucciones tardan un único ciclo de reloj La instrucción más lenta determina el tiempo de ciclo Ningún componente de la ruta de datos puede ser reutilizado Memorias separadas de instrucciones y datos Sumadores… Diseño del procesador

23 Diseño de la RD - Integración tipo R y memoria
Diseño del procesador

24 Diseño de la RD - Integración tipo R y memoria
Instrucción Leer dirección Memoria de Instrucciones PC 4 Add Extensión de signo result ALU Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos Registro lectura 1 Registro lectura 2 Registro a Escribir Dato a Escribir Dato leído 1 Banco de Registros leído 2 leído MemWrite MemtoReg MemRead Diseño del procesador

25 Diseño de la RD - tipo R + lw/sw + beq
Instrucción Leer dirección Memoria de Instrucciones PC 4 Add Desplaz. izq. 2 Extensión de signo result ALU Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos Registro lectura 1 Registro lectura 2 Registro a escribir Dato a Escribir Dato leído 1 Banco de Registros leído 2 leído MemtoReg MemWrite MemRead PCSrc Diseño del procesador

26 Diseño de la RD - tipo R + lw/sw + beq + j
Instrucción Leer dirección Memoria de Instrucciones PC 4 Add result ALU Desplaz. izq. 2 Registro lectura 1 Registro lectura 2 Registro a escribir Dato a escribir Dato leído 1 Banco de Registros Extensión de signo Zero 16 32 M u x RegWrite ALUSrc 3 Operación Dirección Escribir dato Memoria de Datos leído 2 leído MemWrite MemtoReg MemRead PCSrc1 PCSrc2 28 26 Instrucción[25-0] PC+4 [31-28] Diseño del procesador

27 Diseño de la RD – Señales de control
Selección de la operación a realizar Operación ALU: ALUControl Escritura y lectura del banco de registros: RegWrite Escritura y lectura de las memorias: MemRead, MemWrite Selección de entradas de los multiplexores (flujo de datos) ALUSrc, MemToReg ¿Y el número del registro destino de donde viene? Diseño del procesador

28 Diseño de la RD – Integración de la RD y de la UC
Diseño del procesador

29 Diseño de la RD – Flujo de datos y control para tipo R
Diseño del procesador

30 Diseño de la RD – Flujo de datos y control para lw
Diseño del procesador

31 Diseño de la RD – Flujo de datos y control para beq
Diseño del procesador

32 Integración de la RD – Flujo de datos y control para j
Diseño del procesador

33 Esquema alternativo (sin instrucción j)
Camino de datos con todos los multiplexores y líneas de control necesarias (según figura del libro de texto) M e m t o R g a d W r i A L U O p S c D s P C I n u y [ 3 1 ] 2 6 5 4 x l Z h f 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 Diseño de la UC de la ALU: visión completa
Camino de datos con la unidad principal de control y la unidad local de control de la ALU P C I n s t r u c i o m e y R a d [ 3 1 ] 2 6 5 A M g L U O p W B h D S 4 x l Z f Diseño del procesador

36 Diseño de la UC de la ALU – Estructura de la ALU
Operaciones básicas (solo usaremos 5 de las 8 posibles) Diseño del procesador

37 Diseño de la UC de la ALU – Especificación del control ALU
Operaciones a realizar según la instrucción Load (lw) y store (sw): Suma($rs + extensión-signo(IR[15:0])) Salto (beq): Resta($rs-$rt) Aritméticas (tipo R: add, sub, or, and y slt): Definida por el campo funct Diseño del procesador

38 Diseño de la UC de la ALU: Tabla de verdad
op rs rt rd shamt funct 6 11 16 21 26 31 6 bits 5 bits Instrucción Tipo R: Main Control op 6 ALU (Local) func N ALUop ALUctr 3 funct<3:0> Instruction Op. 0000 0010 0100 0101 1010 add subtract and or set-on-less-than Diseño del procesador

39 Diseño de la UC de la ALU - Implementación
Diseño del procesador

40 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

41 Diseño de la UC – Señales de control
Diseño del procesador

42 Diseño de la UC – Funcionalidad de las señales de control
Diseño del procesador

43 Funcionamiento instrucción tipo R (add, sub, and, or, slt)
add $t1,$t2,$t3 P C I n s t r u c i o m e y R a d [ 3 1 ] 2 6 5 A M g L U O p W B h D S 4 x l f Z Diseño del procesador

44 Funcionamiento instrucción lw
lw $t1, desplazamiento ($t2) P C I n s t r u c i o m e y R a d [ 3 1 ] 5 2 6 A M g L U O p W B h D S 4 x l f Z Diseño del procesador

45 Funcionamiento instrucción sw
sw $t1, desplazamiento($t2) P C I n s t r u c i o m e y R a d [ 3 1 ] 5 2 6 A M g L U O p W B h D S 4 x l f Z Diseño del procesador

46 Funcionamiento instrucción branch
beq $t1, $t2, desplazamiento P C I n s t r u c i o m e y R a d [ 3 1 ] 5 2 6 A M g L U O p W B h D S 4 f l x Z Diseño del procesador

47 Diseño de la UC – Implementación de la UC
Diseño del procesador

48 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

49 Rendimiento de la implementación monociclo - Ejemplo
Suponiendo que los tiempos de operación (latencia) de las unidades funcionales son: Unidad de memoria: 2 ns ALU y sumadores: 2 ns Registros (lectura o escritura): 1 ns Resto de los componentes (multiplexores, acceso al PC, etc. ): 0 ns ¿Cuál de las siguientes implementaciones será más rápida? 1.- Una implementación en la que cada instrucción se ejecuta en un ciclo de reloj de duración fija. 2.- Una implementación donde cada instrucción se ejecuta en un ciclo de reloj pero de duración variable (solución no práctica, pero ilustrativa). Suponer un programa compuesto por: 24% carga (lw), 12% almacenamiento (sw), 44% R-format, 18% saltos (beq/bne) y 2% bifurcacines (j). Diseño del procesador

50 Solución Diseño del procesador

51 Ventajas y desventajas
V: Todas las instrucciones tardan un ciclo en ejecutarse D: Aprovechamiento ineficiente del área del chip (componentes repetidos) D: Ciclo de reloj largo para acomodar la instrucción más lenta Las instrucciones de punto flotante requerirían un tiempo de ciclo extra largo Diseño del procesador

52 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

53 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

54 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

55 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

56 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

57 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

58 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

59 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

60 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

61 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

62 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

63 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

64 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

65 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

66 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

67 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

68 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

69 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

70 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

71 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

72 Control cableado – Especificación de la UC con una FSM
Diseño del procesador

73 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

74 Control cableado – Ecuaciones de implement. de la FSM
Diseño del procesador

75 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

76 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

77 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

78 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

79 Control microprogramado – Formato de la microinstrucción
7 campos: 6 campos de control + 1 campo de secuenciación Diseño del procesador

80 Control microprogramado– Señales asociadas a los campos y valores
Diseño del procesador

81 Control microprogramado – Microprograma de la UC
Diseño del procesador

82 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

83 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

84 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

85 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

86 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

87 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

88 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

89 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

90 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

91 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

92 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

93 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


Descargar ppt "Fundamentos de los Computadores Grado en Ingeniería Informática"

Presentaciones similares


Anuncios Google