La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capítulo 5. El procesador: Camino de datos y control.

Presentaciones similares


Presentación del tema: "Capítulo 5. El procesador: Camino de datos y control."— Transcripción de la presentación:

1 Capítulo 5. El procesador: Camino de datos y control.
La CPU Ruta de datos Bloques funcionales principales Memoria Fichero de registros ALU Lógica digital Lógica glue Elementos de estado Intra-instrucción, interciclo, inter-instrucción. Unidad de control Modelo procesal: MEFD. Implementaciones Cableada Microprogramada Excepciones Excepciones e interrupciones Organización general del procesador MIPS CPU (Ruta de datos y unidad de control) Coprocesador 0: Gestión de memoria y excepciones Coprocesador 1: Punto flotante. ©José María Foces,

2 ©José María Foces Morán, 1997-2010
Capítulo 5. Microprocesador MIPS. Estructura general y sincronización vía clock ©José María Foces Morán,

3 Capítulo 5. Bloques funcionales. Memoria principal, usos.
Guardar instrucciones y datos En una celda, 1 byte Cada celda de 1 byte tiene su dirección 1 word: 4 celdas seguidas Dirección mod 4 = 0 ©José María Foces,

4 Capítulo 5. Bloques funcionales. Memoria principal, usos.
Guardar instrucciones y datos Segmento de datos estáticos Segmento de código Instrucciones (Rep. binaria) Segmento de datos dinámicos Pila Datos dinámicos (heap). ©José María Foces,

5 ©José María Foces Morán, 1997-2010
Capítulo 5. Bloques funcionales. Memoria principal en MIPS, ciclo de escritura Fases para transferir una word a una posición de memoria: Transferir la word desde su fuente al bus Datos a escribir Formar la dirección de memoria en el bus llamado Dirección La UC aserta la microorden EscrMem ©José María Foces Morán,

6 ©José María Foces Morán, 1997-2010
Capítulo 5. Bloques funcionales. Memoria principal en MIPS, ciclo de lectura Fases para leer una word que reside en una posición de memoria: Formar la dirección de memoria en el bus llamado Dirección La UC aserta la microorden LeerMem Transferir la word desde su posición de memoria al bus Datos leídos ©José María Foces Morán,

7 Capítulo 5. Bloques funcionales. Fichero de registros (FR) MIPS
Características generales: 32 registros de 32 bits Dos lecturas simultáneas 1 escritura ©José María Foces Morán,

8 ©José María Foces Morán, 1997-2010
Capítulo 5. Bloques funcionales. Fichero de registros (FR) MIPS, ciclo de escritura Lectura A y lectura B están estables Datos para escribir están estables Se activa EscrFR y se transfieren los datos al registro de destino Se necesita un ciclo completo ©José María Foces Morán,

9 ©José María Foces Morán, 1997-2010
Capítulo 5. Bloques funcionales. Fichero de registros (FR) MIPS, ciclo de lectura Lectura A y lectura B están estables, al principio del ciclo actual Los datos leídos en A y en B están listos al final de este ciclo Se necesita un ciclo completo para leer el FR ©José María Foces Morán,

10 ©José María Foces Morán, 1997-2010
Capítulo 5. Bloques funcionales. Fichero de registros (FR) MIPS y registros interciclo A y B Se necesita un ciclo completo para leer el FR Los datos procedentes del FR se usan en la ALU La ALU tarda un ciclo completo en operar con ellos Necesitamos un registro intermedio (interciclo) entre el FR y la ALU (A y B) ©José María Foces Morán,

11 ©José María Foces Morán, 1997-2010
Capítulo 5. Microprocesador MIPS. Estructura general y sincronización vía clock ©José María Foces Morán,

12 La CPU: Ruta de datos y Unidad de control
©José María Foces,

13 Instruction fetch: Fase 1, común a todas las instrucciones.
Leer memoria usando PC actual Escribir PC: PC PC+4 ©José María Foces,

14 Instruction decode: Fase 2, común a todas las instrucciones.
Decodificar instrucción Calcular branch target Lectura de dos registros GPR ©José María Foces,

15 Dirección de memoria que va a ser escrita (más tarde)
sw $s1, (100)$t0 Fase 3 ©José María Foces,

16 sw $s1, (100)$t0 Fase 4 Escribir el contenido del registro B en la dirección de memoria contenida en AluOut ! ©José María Foces,

17 lw $s1, (100)$t0 Fase 3 Dirección de memoria que va a ser leída (más tarde) 100 + $t0 ©José María Foces,

18 lw $s1, (100)$t0 Fase 4 Dato presente en la dirección $t0 se guarda en MDR ©José María Foces,

19 lw $s1, (100)$t0 Fase 5 Dato presente en MDR se transfiere al registro del RF indicado en los 5 bits IR[20-16] ©José María Foces,

20 j 350000 Fase 3 Cargar PC con la dirección de destino calculada:
PC  IR[0-25]<<2 || PC[28-32] ©José María Foces,

21 beq $t1, $t0, destino Fase 3 Si (ALU zero == 1) PC  AluOut
©José María Foces,

22 slt $t0, $s3, $s4 Fase 3 1 si $s3 < $s4 0 si $s3>=$s4
Guardar en AluOut: 1 si $s3 < $s4 ($s3-$s4 < 0, negativo) 0 si $s3>=$s4 ($s3-$s4 >=0, nulo/positivo) ©José María Foces,

23 slt $t0, $s3, $s4 Fase 4 Guardar en el registro $t0 (indicado por IR[15-11]) el resultado guardado en AluOut (Un 1 o un 0) ©José María Foces,

24 Ver figuras… Figura 5.35 Figura 5.36 Figura 5.42
Resumen de las fases de ejecución de las 9 instrucciones. Figura 5.36 Resumen de estados de la unidad de control Figura 5.42 Todos los estados de la unidad de control ©José María Foces,

25 Modelo MEFD de la implementación cableada del control
Figura 5.43 INPUTS: IR[31-26] y Zero OUTPUTS: Microórdenes ESTADO: Un registro de estado de… 4 bits (recuerda, 10 estados, por ahora) ©José María Foces,

26 Diagrama de estados resumido
©José María Foces,

27 Fases 0 y 1 (Comunes a todas las instrucciones)
©José María Foces,

28 Fases 2, 3 y 4 de las instrucciones lw y sw
©José María Foces,

29 Fases 2 y 3 de las instrucciones del tipo R (add, sub, and, or y slt)
©José María Foces,

30 Fase 2 de la instrucción beq
©José María Foces,

31 Fase 2 de la instrucción j
©José María Foces,

32 Modelo para la UC MEFD: Máquina de estados finita y determinista
Alfabeto de salida, O: El conjunto de microórdenes que produce la UC Alfabeto de entrada, I: El conjunto de señales que recibe a su entrada IR[31-26], bit de zero procedente de la ALU Otros que se pueden añadir: overflow, etc. Conjunto finito de estados, S: Uno de ellos es el estado inicial S0 ©José María Foces,

33 Modelo para la UC (II) MEFD: Máquina de estados finita y determinista
En cada estado la MEFD calcula lo siguiente: Qué salida O corresponde al estado presente Qué microórdenes se han de activar, esto es, qué configuración hay que realizar en la ruta de datos Cuál es el estado siguiente ©José María Foces,

34 UC cableada ©José María Foces,

35 UC cableada mediante una PLA
©José María Foces,

36 UC cableada mediante una ROM
ROM: Read-only memory. Una memoria que se escribe sólo la primera vez que se usa. m lineas de dirección: 2m posiciones de memoria n lineas de datos: 2n bits en cada posición n tablas de verdad (Funciones booleanas) Cada función es de m variables booleanas La ROM contiene las funciones de cálculo de la salida y las de estado siguiente. ©José María Foces,

37 UC microprogramada UC Datapath IR[31-26] ©José María Foces,

38 Microprograma MIPS para la UC
©José María Foces,

39 Formato de las microinstrucciones
©José María Foces,

40 Diagrama de estados completo
©José María Foces,

41 Diagrama de estados y microprograma completos
Label ALU Control SRC1 SRC2 Register control Memory PCWrite control Sequencing Fetch Add PC 4 Read PC ALU Seq Extend Shift Read Dispatch1 Mem1 A Extend Dispatch2 LW2 Read ALU Write MDR SW2 Write ALU Rformat1 Funct B BEQ1 Subt ALUOut-cond JUMP1 Jump address ©José María Foces,

42 Codificación y verticalidad del set de microinstrucciones
Sin codificación: Cada oeración del datapath emplea 1 bit Más rápido, requiere mas memoria Mucha codificación: Enviar las microinstrucciones a través de lógica para obtener las microórdenes Menos memoria, mas lento. ©José María Foces,

43 Excepción: Concepto. Evento que altera el flujo de ejecución de un programa de forma no determinista Instrucciones de salto Alteración programada del flujo de ejecución: beq, j, etc. ©José María Foces,

44 Excepción vs. interrupción
Una excepción se produce internamente en el procesador, dos tipos, por ahora: Overflow Instrucción no reconocida Una interrupción se produce externamente al procesador Un dispositivo que solicita la atención del procesador ©José María Foces,

45 Estudiamos dos excepciones
En el capítulo 5, como ejemplo, implementaremos las siguientes excepciones: Overflow Instrucción no reconocida ©José María Foces,

46 Una excepción provoca un salto
Efecto producido por la excepción: La ejecución del programa se suspende temporalmente: ¿Dirección de salto? Es la dirección donde debemos ubicar el programa qe sabe tratar la excepción: ¿Cómo se salva la dirección de memoria a la que debemos retornar? Similar a la dirección de retorno de procedimiento (jal/jr $ra …) ©José María Foces,

47 Dirección de salto “excepción”
Es la dirección 0x Programa gestor de excepción Cuando recibe control, a su vez, salta a la rutina que trata el tipo de excepción concreto que ha ocurrido ¿Cómo? ©José María Foces,

48 Registro Cause Indica el tipo de excepción ocurrida:
Se carga con el código de excepción concreto cuando ésta tiene lugar Consultado por el gestor de excepción ©José María Foces,

49 Registro EPC Salvar la dirección de memoria de la instrucción que produjo la excepción Para poder reiniciar su ejecución cuando se ha tratado la excepción 32 bits ©José María Foces,

50 Problemas EPC No basta con transferir PC -> EPC porque, cuando se detecta la excepción, el PC ya contiene PC+4. Es necesario calcular PC-4 -> EPC ©José María Foces,

51 Chequeo de excepciones
Instrucción no definida El estado siguiente al estado 1 para cualquier op-code distinto de lw, sw, tipo R, j y beq Overflow Se obtiene como salida de la ALU (Ver cap4) Se usa para crear un nuevo estado siguiente al estado 7 ©José María Foces,

52 Diagrama de estados completo
Instrucción desconocida Overflow ©José María Foces,

53 Ruta de datos completa Vector de excepción: 0x80000180
©José María Foces,

54 Estudio Cierto o falso:
Puesto que la instrucción j no depende de los valores del fichero de registros ni del branch target (Dirección de salto condicional), puede ser completada durante el segundo estado, en vez de esperar al tercero. Ejercicios propuestos 15, 17, 18, 19, 21, 22 Ver ejercicios resueltos en forma de java applets (CD-ROM) No olvidarse de los siguientes aspectos: Concepto de microprogramación Perspectiva general sobre excepciones ©José María Foces,


Descargar ppt "Capítulo 5. El procesador: Camino de datos y control."

Presentaciones similares


Anuncios Google