Diseño de la Unidad de Control Multiciclo: Microprogramación

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Microprocesadores Componentes básicos..
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Alumno: Roy R. Mercado Núñez
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
PERCY CHUMBE BUENDIA. KIZZY GUTIERREZ VALVERDE. RUTH NOEMY APAZA JARA.
Introducción a la Programación
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
LECCIÓN 10. INTRODUCCIÓN AL CONTROL MICROPROGRAMADO
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Introducción a la programación
El procesador: la ruta de datos y el control (II Parte)
Teoría de lenguajes y compiladores
El nivel de la Microprogramación
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
TRADUCTOR DE UN PROGRAMA
Proceso de información en la computadora
LA COMPUTACIÓN.
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
EL MICROPROCESADOR.
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 Máquinas Computadoras II
Arquitectura de Computadoras
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Overview Sistemas Computacionales
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Esperanza Lozada de Coronel
1.4 Traductor y Su estructura
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Capítulo 5. El procesador: Camino de datos y control.
Tema 2: Lenguaje máquina
Arquitectura de Von Neumann
Nombre: Cristian Achina Curso: 4to «A» Fecha:
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
“Organización y Arquitectura de Computadores” William Stallings
El procesador Diseño del control.
Diseño del procesador uniciclo
CLASE 14.
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
Metodología de la programación
Informática Clase Arquitectura de la Computadora.
1.1 Introducción A Los Sistemas Informáticos
FUNCIONAMIENTO INTERNO DEL ORDENADOR
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Elaboración de algoritmos usando lógica de programación
Simulación en VHDL del Controlador FSM del MIPS
Principio unidad 1.
LENGUAJE ENSAMBLADOR TIPOS DE LENGUAJES ENSAMBLADORES
Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Salina Cruz CARRERA INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES.
INTEGRANTES: JOSE ESTEVEZ _HUGO ANDRADE CURSO: 5TO “B”
ARQUITECTURA DE COMPUTADORES
Resolución de problemas Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Curso: Fundamentos de Computación
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Cetina Luna Luis Antonio Irma Lizette Espinosa Negrete Omar Alberto Herrera Caamal Rigoberto Lizarraga Hernandez.
El proceso ensamblador. José Luis Vergara Soberanis.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
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.
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.
8. Diseño del Procesador Fundamentos de los Computadores
Transcripción de la presentación:

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 Secuenciador del microprograma Resumen Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

Microprogramación: Introducción S 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 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

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)

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)

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. Microinstrucción 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 l s y a [ 5 – ] 1 h f Secuenciador externo Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

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)

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. Señales de control Decodificador Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

Conceptos básicos: 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)

Conceptos básicos: 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 Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

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)

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)

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 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 [ – ] Implementación de la función “siguiente estado” en la Máquina de Estados Finitos en el control microprogramado Externo! Interno! Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

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)

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

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)

Tema 4: Diseño del procesador (parte II) 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) S t a e O p A d r 1 P L o R M u x 3 2 D i s c h C l g I n f Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)

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

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

Tema 4: Diseño del procesador (parte II) 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. Estructura de Computadores (EUI: 2º ITIS) Tema 4: Diseño del procesador (parte II)