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
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
Circuitos Digitales II
Pipelines: Riesgos.
El procesador: la ruta de datos y el control (II Parte)
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
CLASE 11.
ISA (Instruction Set Architecture)
Unidad 2: Organización del CPU
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Instrucciones: FORMATO DE INSTRUCCIONES
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 COMPUTADORES Semestre A-2009 Clase 13.
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.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Capítulo 5. El procesador: Camino de datos y control.
Diseño de la Unidad de Control Multiciclo: Microprogramación
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 del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
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
ARQUITECTURA DE COMPUTADORES
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
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
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipeline: Peligros de datos
Unidad aritmético-lógica
El procesador Diseño del control.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Datapath para las instrucciones de brinco
EL CPU.
Arquitecturas alternativas UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNICIONES ADMINISTRACION DE SERVIDORES.
Excepciones e interrupciones
Pipelining Peligros (hazards).
Organización del Computador
Titulación: Grado en Ingeniería de Computadores
8. Diseño del Procesador Fundamentos de los Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Creando un solo datapath
Organización del Computador
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.
PICOBLAZE RESUMEN.
Organización del Computador
Organización del Computador
Pipeline: Peligros de datos
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
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.
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 (hasta final del diseño monociclo)

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

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

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

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

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

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

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

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

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

Ruta de datos individuales – Decodificación y lectura de registros 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

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

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

Instrucciones de acceso a memoria lw y sw lw rt, despl(rs) ó sw rt, despl(rs) 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

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

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

Ruta de datos individuales – Saltos condicionales Resta $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 + 4 + (extensión-signoIR[15:0])<<2 Diseño del procesador

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

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

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

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

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 varios… Diseño del procesador

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

Diseño de la RD - Integración tipo R y memoria Instrucción Dirección a leer 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 Dato a escribir 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

Diseño de la RD - tipo R + lw/sw + beq Instrucción Dirección a leer 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 Dato a escribir 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

Diseño de la RD - tipo R + lw/sw + beq + j Instrucción Dirección a leer 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 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

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

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

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

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

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

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

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

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 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

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

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

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

Diseño de la UC de la ALU - Implementación 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 – Señales de control Diseño del procesador

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

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

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

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

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

Diseño de la UC – Implementación de la UC 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

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

Solución Diseño del procesador

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