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.

Slides:



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

El modelo de Von Neumann
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
El procesador: la ruta de datos y el control (II Parte)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Diseño de la Unidad de Control Multiciclo: Microprogramación
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
El procesador Diseño del control.
CLASE 14.
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
UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES UNIDAD 3: SISTEMAS COMBINACIONALES Y SECUENCIALES ING. GERARDO A. LEAL, MSC Unidad 3: Sistemas Combinacionales.
Constitución General de una Computadora.  Son todos los dispositivos y componentes físicos de una computadora.  Dispositivos de entrada.  Dispositivos.
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.
ITESCO – Arquitectura Computadoras L. S. C. A. Raúl Monforte Chulin - MORCH Systems 1.1. Arquitectura básica y sus operaciones. Objetivo: El estudiante.
L. S. C. A. Raúl Monforte Chulin
ARQUITECTURA BÁSICA DE UN ORDENADOR
Microprocesador Estructura interna.
Fundamentos de los Computadores Grado en Ingeniería Informática
SOFTWARE Se forma por el conjunto de instrucciones o programas. Los programa son una secuencia de órdenes que se le dan a la computadora para que haga.
Tratamiento de Datos Capitulo Dos.
U.T. 11: Introducción A Las Bases De Datos
El procesador Diseño del control.
5. Análisis y diseño de sistemas secuenciales (I)
Pipelining Datapath y control.
EL CPU.
Informática 1 Año. Trabajo Practico. Tema: Definiciones
Lenguajes y representación técnica
LENGUAJES Y REPRESENTACION TECNICA
Excepciones e interrupciones
8. Diseño del Procesador Fundamentos de los Computadores
Ingeniería en Sistemas de Información
Unidad 7: Nivel Interno Algunos Conceptos Importantes
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Tema 6. Conceptos básicos de programación (Clase 2)
CREAR DIAGRAMA DE FLUJO
INTRODUCCION DE SISTEMAS INFORMATICOS
Universidad Nacional de Canindeyú Facultad de Ciencias de la Salud
Creando un solo datapath
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
LÓGICA DE PROGRAMACIÓN
QUE ES EL SOFTWARE Es un conjunto de programas de computo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones.
Índice temático 2.1 Análisis de problemas. 2.2 Representación de algoritmos: gráfica y pseudocódigo. 2.3 Diseño de algoritmos aplicados a problemas 2.4.
COMPONENTES DE UN ORDENADOR
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
PICOBLAZE RESUMEN.
TAREA DEFINICIONES: Software: Equipamiento lógico o soporte lógico de una computadora digital; comprende el conjunto de los componentes lógicos necesarios.
CONCEPTOS PRELIMINARES (Cont)
HERRAMIENTAS DE PROGRAMACIÓN
Organización del Computador
PROCESADOR DIGITAL ESPECIALIZADO
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
8. Diseño del Procesador Fundamentos de los Computadores
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
ABSTRACCION DE DATOS   Estructura de Datos Básicos: En programación una estructurad de datos, es una forma particular de organizar datos en una computadora.
PICOBLAZE RESUMEN.
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
Tema 6. Conceptos básicos de programación (Clase 2)
El procesador Datapath y control.
5.Análisis y diseño desistemas secuenciales (III) Fundamentos de los Computadores Grado en Ingeniería Informática.
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.
Gestión del sistema de entrada / salida
Pipelining Peligros de control.
RIOHACHA ALGORITMO Y PROGRAMACION DAVID ENRIQUE FERNANDEZ PEREZ Docente.
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:

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 Conceptos básicos –Microinstrucciones: Definición y Formato –Microprograma –Memoria de control –Funcionamiento de la Microprogramación Ventajas y desventajas del control microprogramado. Microprogramación aplicada a MIPS –Formato de las microinstrucciones –Señales de control de cada campo y valores asociados –Microprograma –Secuenciador del microprograma Resumen

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)2 Microprogramación: Introducción

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)3 Microprogramación: Introducción Unidad de control multiciclo más compleja que la del monociclo Técnicas para la implementación del control –Máquina de estados finitos (control cableado) Representación en forma gráfica (diagrama de estados) La máquina consta de: –Un conjunto de estados –Función de estado siguiente: Hace corresponder el estado actual y las entradas a un nuevo estado. Indica cómo cambian los estados. –En cada estado se genera un conjunto de señales de control –Un ciclo de reloj por estado –Microprogramación (control microprogramado) Utiliza una representación programada para el control Se utiliza para unidades de control complejas (cientos de estados) De cada microinstrucción se obtienen: las señales de control que se aplican en cada estado, y la información de la siguiente microinstrucción a ejecutar –Conjunto de microinstrucciones -> microprograma -> ROM

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)4 Microprogramación: Introducción El concepto de microprogramación fue introducido por Maurice Wilkes a principio de los años 50 –Después de construir el primer computador de programada almacenado (EDSAC), Wilkes trató de buscar una mejor forma de diseñar la Unidad de Control. –Solución: Convierte la Unidad de Control en un computador en miniatura, que tiene una tabla para especificar el control del camino de datos, y una segunda tabla para determinar el flujo de control a nivel de microinstrucción

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)5 Microprogramación: Introducción Las señales de control se almacenan en forma de microinstrucciones en una memoria de control Las instrucciones del nivel ISA son interpretadas por un microprograma que consta de una secuencia de microinstrucciones Comparando con la implementación de la máquina de estados finitos, se observa que la lógica de control del siguiente estado (o siguiente microinstrucción a ejecutar) es externa. –Se implementa con un contador y lógica adicional dando lugar a un secuenciador externo. PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite AddrCtl Outputs Microcode memory IRWrite MemRead MemWrite RegDst Control unit Input Microprogram counter Address select logic O p [ 5 – 0 ] Adder 1 Datapath Instruction register opcode field BWrite Secuenciador externo Microinstrucción

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)6 Conceptos básicos: Microinstrucciones Microinstrucción –Especifica todas las señales de control del camino de datos más la posibilidad de decidir condicionalmente qué microinstrucción se debe ejecutar a continuación –Cada palabra de la memoria de control es una microinstrucción. –Formato de las microinstrucciones Señales de control: Señales para el camino de datos Condiciones: Bits que se pueden usar para seleccionar la condición que se desea utilizar para, en función de si es cierta o no, ejecutar la siguiente microinstrucción o saltar a otra. Siguiente instrucción: Campo que indica la siguiente instrucción a ejecutar

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)7 Señales de control Decodificador Conceptos básicos: Formato de las microinstrucciones Microinstruciones HORIZONTALES y VERTICALES –Clasificación en base al grado de codificación de los campos de la microinstrucciones Microinstrucción horizontal: Campos no codificados. Las señales de control se obtienen directamente de los bits de la microinstrucción. – Pocas microinstrucciones y anchas. Microinstrucción vertical: Campos codificados. Para obtener las señales de control necesitamos un decodificador. – Muchas microinstrucciones y cortas. Diseños intermedios: Algunos campos muy codificados y otros no codificados para proporcionar las señales de control directamente.

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)8 Conceptos básicos: Microprograma Microprograma –Secuencia coherente de microinstrucciones cuya ejecución permite interpretar una instrucción del nivel ISA (macroinstrucción) –Ejecutar una microinstrucción  Leer una microinstrucción de la memoria –Una vez diseñado el camino de datos y la memoria de microinstrucciones, el control se convierte básicamente en una tarea de programación. –Cambiando los microprogramas podemos ejecutar otros repertorios de instrucciones (implementación de distintas arquitecturas).

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)9 Memoria de control –En esta memoria se guardan los microprogramas o conjuntos de microinstrucciones a partir de los que se obtienen las señales de control necesarias para la ejecución del repertorio de instrucciones del nivel ISA –Normalmente se utiliza una ROM para esta memoria de control. Sin embargo, se han desarrollado máquinas en las que el microprograma se carga en memoria RAM -> permiten al usuario alterar su contenido Conceptos básicos: Memoria de control

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)10 Funcionamiento de la unidad de control microprogramada Funcionamiento generalizado –Para ejecutar una instrucción el módulo “Sequencing Logic” (SL) lanza un comando de lectura sobre la memoria de control –Se lee la palabra y se almacena en el “Control Buffer Register” (CBR) –El contenido de CBR (microinstrucción) genera las señales de control para el camino de datos y la información de dirección de la siguiente microinstrucción para SL –SL carga una nueva dirección de microinstrucción en el Control Address Register (CAR) basado en la información de la propia microinstrución y del campo de condición. La dirección puede ser: Siguiente microinstrucción Salto a una nueva rutina en función del campo “siguiente dirección” de la microinstrucción Salto a una rutina de instrucción basado en el código de operación de la instrucción ISA.

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)11 Ventajas y desventajas del control microprogramado Como las señales de control son almacenadas en una memoria las unidades de control microprogramadas: –Son sistemáticas con un formato bien definido –Pueden ser fácilmente modificables durante el proceso de diseño –Requieren más componentes para su implementación –Tienden a ser más lentas que las unidades de control cableadas debido a que tienen que realizar operaciones de lectura de una memoria para obtener las señales de control Emulación –Podemos modificar el microprograma para que la unidad de control interprete otro lenguaje máquina distinto (el de la máquina a emular) sin necesidad de realizar modificaciones en el hardware de la unidad de control -> sólo cambiamos el microprograma!

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)12 La técnica de microprogramación aplicada a la implementación de un subconjunto de MIPS Aplicaremos la técnica de microprogramación para diseñar la unidad de control como alternativa al anterior diseño basado en maquinas de estados finitos PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst NS3 NS2 NS1 NS0 O p 5 O p 4 O p 3 O p 2 O p 1 O p 0 S 3 S 2 S 1 S 0 State register IRWrite MemRead MemWrite Instruction register opcode field Outputs Control logic Inputs AddrCtl Outputs PLA or ROM State Address select logic O p [ 5 – 0 ] Adder Instruction register opcode field 1 Control unit Input PCWrite PCWriteCond IorD MemtoReg PCSource ALUOp ALUSrcB ALUSrcA RegWrite RegDst IRWrite MemRead MemWrite BWrite Implementación de la función “siguiente estado” en la Máquina de Estados Finitos Implementación de la función “siguiente estado” en el control microprogramado Externo! Interno!

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)13 Formato de las microinstrucciones 7 Campos -> Señales de Control (6) + Siguiente Microinstrucción (1)

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)14 Señales asociadas a los campos y sus valores

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)15 Microprograma de la unidad de control para el subconjunto MIPS 18 señales de control ->

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)16 Lógica de selección siguiente microinstrucción (secuenciador de microprograma) La lógica de selección de direcciones genera la dirección de la siguiente microinstrucción a ejecutar. La siguiente dirección puede ser: –Siguiente microinstrucción (AddrCtl = 3) –Obtenida de la ROM 2 (AddrCtl=2) –Obtenida de la ROM 1 (AddrCtl = 1) –Dirección 0 (AddrCtl = 0) State O p Adder 1 PLA or ROM Mux 3210 Dispatch ROM 1Dispatch ROM 2 0 AddrCtl Address select logic Instruction register opcode field

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)17 Unidad de control microprogramada: Xilinx (I)

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)18 Unidad de control microprogramada: Xilinx (II)

Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)19 Resumen En MIPS hemos utilizado microinstrucciones horizontales (poco codificadas). Las microinstrucciones poseen 6 campos de control y 1 campo de secuenciamiento. El microprograma está estructurado de tal manera que todas las instrucciones del ISA comienzan ejecutándose siguiendo los mismos pasos. A continuación, las tablas de dispatch nos permiten seleccionar la siguiente microinstrucción a ejecutar cuando ésta no es la siguiente secuencial (ni hay que volver al principio). En cualquier instante, la dirección de la siguiente microinstrucción a ejecutar puede ser: –La siguiente microinstrucción secuencial –La microinstrucción obtenida de la tabla dispatch 1 (indexada con el opcode) –La microinstrucción obtenida de la tabla dispatch 2 (indexada con el opcode) –La primera microinstrucción El registro de estado es el “contador del microprograma”, que señala siempre la dirección de la siguiente microinstrucción a ejecutar.