8. Diseño del Procesador Fundamentos de los Computadores

Slides:



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

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
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
El procesador: la ruta de datos y el control (II Parte)
Arquitectura del Computador
Unidad 2: Organización del CPU
Instrucciones: FORMATO DE INSTRUCCIONES
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.
Funcionamiento de la CPU
Capítulo 5. El procesador: Camino de datos y control.
Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Diseño de la Unidad de Control Multiciclo: Microprogramación
“Organización y Arquitectura de Computadores” William Stallings
CLASE 13.
Organización del Computador I Verano Procesador Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
El procesador Diseño del control.
Diseño del procesador uniciclo
CLASE 14.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
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.
ARQUITECTURA DE COMPUTADORES
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Componentes físicos de un ordenador MSc. Lic. David Escalera.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
INTRODUCCION A LOS SISTEMAS DE COMPUTO ARQUITECTURA VON NEUMAN Ing. David Gonzalez.
L. S. C. A. Raúl Monforte Chulin
Organización de computadoras
ARQUITECTURA BÁSICA DE UN ORDENADOR
Microprocesador Estructura interna.
Fundamentos de los Computadores Grado en Ingeniería Informática
Tratamiento de Datos Capitulo Dos.
El procesador Diseño del control.
5. Análisis y diseño de sistemas secuenciales (I)
Datapath para las instrucciones de brinco
EL CPU.
Informática 1 Año. Trabajo Practico. Tema: Definiciones
Excepciones e interrupciones
Organización del Computador
Titulación: Grado en Ingeniería de Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Creando un solo datapath
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.
Pipelining Introducción.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
PICOBLAZE RESUMEN.
Organización del Computador
TECNOLOGÍA DE EQUIPOS INFORMÁTICOS
Organización del Computador
Modelo de Von Neumman U.A.C.M Alejandra Andrade.
8. Diseño del Procesador Fundamentos de los Computadores
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
PICOBLAZE RESUMEN.
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
1 TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S.
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
El procesador Datapath y control.
1 ALU (Unidad aritmético lógica) Registros Unidad de control I/O y buses internos (usualmente 3 estados) I/O y buses internos Los buses I/O son de tres.
1 MEMORIAS Fundamentos de Informática Ingeniería Técnica Diseño Industrial.
ARQUITECTURA DE UN MICROPROCESADOR. ESTRUCTURA BÁSICA DE UN SISTEMA MICROPROGRAMABLE A. Hardware CPU (chip microprocesador): es un circuito integrado.
Transcripción de la presentación:

8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (desde diseño multiciclo en adelante)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 (0xC00000000) 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

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: C000 0000 0000 0000 (dirección a donde se transfiere el control cada vez que se interrumpe) Diseño del procesador

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

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

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 010000 0000 ttttt ddddd 00000000000 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 010000 0100 ttttt ddddd 00000000000 rfe (return from exception) Transfiere el contenido del EPC al registro contador de programa Tipo J 010000 10000000000000000000100000 Diseño del procesador

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

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

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