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

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Fernando Escribano Pro 1º de Bachillerato
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
Pipelines: Riesgos.
El procesador: la ruta de datos y el control (II Parte)
El nivel de la Microprogramación
Funcionamiento de una Computadora
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
CLASE 11.
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador

ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MICRO Y MACRO ARQUITECTURA
Unidad 2: Organización del CPU
Introducción a la Ingeniería en Sistemas
(CC) , José M. Foces-Morán.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Arquitectura de Computadoras
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Overview Sistemas Computacionales
Capítulo 5 El procesador Félix García Carballeira Jesús Carretero Pérez José Daniel Sánchez García David Expósito Singh © Ediciones Paraninfo1.
Cap. 12 Microprocesadores (Conferencia 3) TEEL 4011 Prof. Jaime José Laracuente-Díaz Referencia: Floyd.
Funcionamiento de la CPU
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Nombre: Cristian Achina Curso: 4to «A» Fecha:
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
“Organización y Arquitectura de Computadores” William Stallings
Sistemas de E/S, Programada por Interrupciones su Gestión
Organización del Computador 1
CLASE 13.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
CLASE 14.
Capítulo 4 CPU y la memoria.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
1.1 Introducción A Los Sistemas Informáticos
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Simulación en VHDL del Controlador FSM del MIPS
Principio unidad 1.
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
ARQUITECTURA DE COMPUTADORES
Unidad de transferencia de memoria
1 Unidades funcionales de un ordenador Procesadores Memorias Dispositivos de E/S
Curso: Fundamentos de Computación
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
Cetina Luna Luis Antonio Irma Lizette Espinosa Negrete Omar Alberto Herrera Caamal Rigoberto Lizarraga Hernandez.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Unidad de Control Ubicación: Es uno de los tres bloques funcionales principales en los que se divide una unidad central de procesamiento (CPU). Realizar.
El procesador Diseño del control.
Excepciones e interrupciones
8. Diseño del Procesador Fundamentos de los Computadores
El procesador Datapath y control.
Transcripción de la presentación:

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, 1997-2007

©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, 1997-2010

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, 1997-2007

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, 1997-2007

©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, 1997-2010

©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, 1997-2010

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, 1997-2010

©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, 1997-2010

©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, 1997-2010

©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, 1997-2010

©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, 1997-2010

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

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

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, 1997-2007

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

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, 1997-2007

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, 1997-2007

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

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, 1997-2007

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, 1997-2007

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

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, 1997-2007

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, 1997-2007

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, 1997-2007

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, 1997-2007

Diagrama de estados resumido ©José María Foces, 1997-2007

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

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

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

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

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

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, 1997-2010

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, 1997-2010

UC cableada ©José María Foces, 1997-2007

UC cableada mediante una PLA ©José María Foces, 1997-2007

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, 1997-2007

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

Microprograma MIPS para la UC ©José María Foces, 1997-2007

Formato de las microinstrucciones ©José María Foces, 1997-2007

Diagrama de estados completo ©José María Foces, 1997-2007

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, 1997-2007

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, 1997-2007

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, 1997-2007

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, 1997-2007

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

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, 1997-2007

Dirección de salto “excepción” Es la dirección 0x80000180 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, 1997-2007

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, 1997-2007

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, 1997-2007

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, 1997-2007

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, 1997-2007

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

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

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, 1997-2007