ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Documentos relacionados
Diseño del procesador MIPS R2000

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

UNIDAD 4: El procesador: Camino de los datos y Control.

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

MICROPROCESADOR. Multiciclo

Microarquitectura: DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE MICROARQUITECTURA: FLUJO DE DATOS Y CONTROL DEL MICROPROCESADOR

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

UNIDAD 5: Mejora del rendimiento con la segmentación.

Tema 4: Diseño de un microprocesador

Organización del Computador I Verano. Control Multiciclo. Basado en el capítulo 5 del libro de Patterson y Hennessy

op rs rt inmediato 6 bits 5 bits 5 bits Tipo J: Salto incondicional op

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Diseño Procesador Monociclo

Arquitectura de Computadores

Plataformas de soporte computacional: arquitecturas avanzadas,

Ejercicios del tema 4. El procesador

TEMA III: OPERACIONES CON LOS DATOS

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Estructura del Computador

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

El nivel ISA (II)! Conjunto de Instrucciones

Introducción a la arquitectura de computadores

Tema: Microprocesadores

ESTRUCTURA BÁSICA DE UN ORDENADOR

Asignatura de Organización de Computadoras. Alberto Hernández Cerezo. Cristian Tejedor García. Rodrigo Alonso Iglesias. Universidad de Valladolid

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.

4.5 Microprogramación para simplificar el diseño del control

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

SISTEMAS OPERATIVOS Arquitectura de computadores

Pipeline (Segmentación)

Unidad de Proceso Genérica y Unidad de Control Específica

Arquitectura de Computadores II Clase #3

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

Organización procesador MIPS

4.1 Ejecución de instrucciones en el nivel de Microprogramación

Memoria. Organización de memorias estáticas.

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6

Pipelining o Segmentación de Instrucciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Estructura de Computadores Tema 1. Introducción a los computadores

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

Arquitectura de Computadores. Tema 4 PROCESADORES SEGMENTADOS

Bloques Aritméticos - Multiplicadores

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

ARQUITECTURA DE COMPUTADORES CAPÍTULO 2. PROCESADORES SEGMENTADOS

Tema 3. 2 Sistemas Combinacionales

8. Diseño de la codificación binaria del repertorio de Instrucciones.

Tema 1: Introducción a Estructura de Computadores. Conceptos básicos y visión histórica

La decodificación y el mapeo de memoria es importante porque permite conectar mas de un dispositivo al microprocesador.

Diseño de una calculadora

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

Pipeline o Segmentación Encausada

TEMA 8. REGISTROS Y CONTADORES.

Implementación de instrucciones para el procesador MIPS de ciclo único.

Estructura de Computadores. Capítulo 3b: Programación en

Estructura de Computadores

3 - Arquitectura interna de un up

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia

Conceptos básicos de procesadores

Organización de Computadoras. Clase 2

Principios de Computadoras II

Instituto Tecnológico de Morelia

Organización Básica de un Computador y Lenguaje de Máquina

TEMA 1 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Operación de circuitos lógicos combinatorios.

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

Apuntes de Regulación y Automatización. Prácticas y Problemas.

Electrónica Digital II. Arquitecturas de las Celdas Lógicas. Octubre de 2014

FUNCIONAMIENTO DEL ORDENADOR

UNIDAD 1. COMPONENTES DEL COMPUTADOR

SISTEMAS ELECTRÓNICOS DIGITALES

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Tema IV. Unidad aritmético lógica

Ing. Yesid E. Santafe Ramon CIRCUITOS LÓGICOS COMBINATORIOS

Subsistemas aritméticos y lógicos. Tema 8

Unidad I: Organización del Computador. Ing. Marglorie Colina

Componentes indispensables Un (1) 74LS181 ALU Un (1) 74 LS 47 Un display 7seg Ánodo Común

-5.2 SUMADOR CON MULTIPLES SUMANDOS.

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores

Diagrama a bloques de una computadora

Organización del Computador I. Introducción e Historia

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Sumador Ripple-Carry

Nombre de la asignatura: Arquitectura de Computadoras. Créditos: Aportación al perfil

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria.

Estructuras en LabVIEW.

Registros y contadores

Representación de números enteros: el convenio exceso Z

Arquitectura e Ingeniería de Computadores

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

Tema 6: Circuitos Digitales BásicosB. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

PROBLEMA VHDL. 7 dig1. dig2. Entradas : Señales a[3..0] y b [3..0] en código GRAY Salida : Señales Dig1[6..0] y Dig2[6..0] para los visualizadores

Transcripción:

Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción incremental del camino de datos uniciclo. 3. El control de la UAL. 4. Diseño de la unidad de control para el camino de datos uniciclo.. Funcionamiento del camino de datos uniciclo. 6. Las instrucciones de salto incondicional en el camino de datos uniciclo. 7. Conclusiones e implicaciones del diseño uniciclo. 2

. Introducción En la primera parte del tema: Se han presentado varias instrucciones del repertorio del MIPS. Se han estudiado los elementos básicos que forman parte de un camino de datos en un computador sencillo. Se han presentado algunos caminos de datos sencillos para ciertas operaciones. Con todo ello, en esta segunda parte: Se construirá un camino de datos conjunto para todas las instrucciones presentadas. Se diseñará la circuitería de control para dicho camino de datos. Se analizará el funcionamiento de dicho camino de datos. Características del camino de datos construido: Es muy sencillo, ya que responde a un subconjunto reducido del repertorio de instrucciones del MIPS. Para ejecutar otras instrucciones sería preciso ampliar el camino de datos, tanto en sus interconexiones como en la circuitería de control. Las instrucciones se ejecutan en un único ciclo de reloj. 3 2. Camino de datos uniciclo Esquema global del camino de datos: Data Register # PC Address Instruction Instruction Registers Register # ALU memory Register # Address Data memory Data El camino de datos se va a construir en forma incremental, añadiéndole gradualmente la circuitería necesaria para ejecutar nuevas instrucciones. 4

Camino de datos uniciclo Circuitería necesaria para las instrucciones de memoria y aritmético-lógicas. Camino de datos uniciclo Se añade la circuitería para la búsqueda de instrucciones. 6

Camino de datos uniciclo Se añade la circuitería para las instrucciones de ramificación incondicional. 7 3. El control de la UAL Operaciones efectuadas por la UAL: Señales de control de la UAL Función And Or Suma Resta Set on less than Supondremos que existe una señal ALUOp de 2 bits que distingue el tipo de operación en función del tipo de instrucción que se va a ejecutar: ALUOp Operación Sumar para calcular la dirección en una instrucción de memoria. Restar para calcular la dirección de salto en una ramificación. Dada por el campo Funct de la instrucción (instrucciones de tipo R). 8

El control de la UAL Así, las señales para controlar la UAL se generan mediante un circuito cuyas entradas son: Los dos bits de ALUOp. Los 6 bits del campo Funct. Cálculo de los 3 bits de control de la UAL: Código de operación ALUOp Operación Campo de función Acción deseada en la UAL Entradas de control LW Cargar palabra Suma SW Almacenar palabra Suma BEQ Ramificar si iguales Resta Tipo R Sumar Suma Tipo R Restar Resta Tipo R AND And Tipo R OR Or Tipo R Activar si menor que Activar si menor que 9 El control de la UAL Tabla de verdad para generar los 3 bits de control de la UAL: ALUOp ALUOp ALUOp F F4 Campo Funct F3 F2 F F ALU Operation

El control de la UAL Tabla de verdad para Operation2 = : ALUOp ALUOp ALUOp Campo Funct F F4 F3 F2 F F Tabla de verdad para Operation = : ALUOp ALUOp ALUOp F Campo Funct F4 F3 F2 F F Tabla de verdad para Operation = : ALUOp ALUOp ALUOp F Campo Funct F4 F3 F2 F F El control de la UAL Circuito resultante: ALUOp ALUOp ALUOp ALU control block F3 Operation2 F ( ) F2 F F Operation Operation Operation 2

4. Diseño de la unidad de control Para diseñar la unidad de control es preciso examinar los formatos de las instrucciones utilizadas. Tipo R (shamt: shift amount en instrucciones de desplazamiento) Cód. Op. 6 3-26 Registro fuente rs 2-2 Registro fuente 2 rt 2-6 Registro destino rd - shamt -6 Funct funct 6 - Carga o almacenamiento (tipo I) Cód. Op. x23 ó 2B 6 Registro base rs Registro destino rt Desplazamiento Offset 6 3-26 2-2 2-6 - Ramificación condicional (tipo I) Cód. Op. x4 6 Registro fuente rs Registro fuente 2 rt Desplazamiento Offset 6 3-26 2-2 2-6 - 3 Observaciones sobre los formatos de instrucción El campo del código de operación tiene siempre el mismo tamaño (6 bits) y está siempre en el mismo lugar (bits 3-26). En las instrucciones de tipo R, BEQ y SW los números de los registros de lectura están siempre en los campos rs (bits 2-2) y rt (bits 2-6). El número del registro base para la instrucción LW está siempre en el campo rs. El desplazamiento relativo, ya sea para BEQ o para las instrucciones de memoria, siempre ocupa 6 bits y está en los bits -. El registro destino puede estar en dos lugares: En LW está en rt (bits 2 a 6). En las instrucciones de tipo R está en rd (bits -). Esto implica que sea preciso añadir un multiplexor para seleccionar el número del registro sobre el que se va a escribir. 4

Camino de datos uniciclo Señales de control Señal de control RegDest RegDst EscrReg RegWrite FuenteALU ALUSrc FuentePC PCSrc LeerMem MemRead EscrMem MemWrite MemaReg MemtoReg Efecto cuando está inactiva El identificador de registro destino está en rt (bits 2-6) Ninguno El segundo operando de la UAL proviene del segundo registro leído El PC se incrementa normalmente (sumándole 4) Ninguno Ninguno El valor en la entrada del banco de registros procede de la UAL Efecto cuando está activa El identificador de registro destino está en rd (bits -) El registro destino se escribe con el valor correspondiente El segundo operando de la UAL es el desplazamiento extendido a 32 bits El PC se carga con una nueva dirección dada por la salida del sumador de cálculo de direcciones Se lee una posición de memoria y su contenido se coloca a la salida de datos Se escribe una posición de memoria con el valor dado en la entrada de datos El valor de la entrada del banco de registros procede de la memoria La señal PCSrc no se puede generar directamente por la unidad de control, porque hace falta conocer la señal de resultado nulo procedente de la UAL. La señal ALUOp es de dos bits, e indica a la UAL qué operación tiene que realizar. 6

Camino de datos con la unidad de control 7 Implementación de la función de control La función de control está completamente especificada por los bits del código de operación. Instrucción y código de operación RegDest RegDst FuenteALU ALUSrc MemaReg MemtoReg EscrReg RegWrite LeerMem MemRead EscrMem MemWrite Saltocond Branch ALUOp ALUOp Formato R LW SW BEQ El control es muy sencillo, porque se utilizan sólo unas pocas de las combinaciones posibles para el código de operación. La sencillez del control justifica su realización mediante una red de puertas. Si se incluyesen todas las instrucciones del repertorio, la función de control se especificaría mediante una gran tabla, y su síntesis se realizaría mediante otras técnicas: Decodificadores, ROM. PLA: simplificación asistida por métodos automáticos. 8

Tabla de la función de control Control Señal Formato R LW SW BEQ Op Op4 Entradas Op3 Op2 Op Op RegDest (RegDst) FuenteALU (ALUSrc) MemaReg (MemtoReg) EscrReg (RegWrite) Salidas LeerMem (MemRead) EscrMem (MemWrite) Saltocond (Branch) ALUOp ALUOp 9 Circuito de control Inputs Op Op4 Op3 Op2 Op Op R-format Iw sw beq Outputs RegDst ALUSrc MemtoReg RegWrite MemRead MemWrite Branch ALUOp ALUOpO 2

. Funcionamiento del camino de datos En la realización uniciclo, la unidad de control genera y activa todas las señales pertinentes para una instrucción en un único periodo de reloj. A pesar de ello, puede considerarse que, en su ejecución, las instrucciones atraviesan una serie de fases o etapas. El número y la secuencia de etapas depende de la propia instrucción. Las etapas son activadas por la unidad de control, que se encarga de generar las señales de control adecuadas en el instante preciso. Ejemplo: etapas de una instrucción de tipo R.. Lectura de la instrucción que está en memoria e incremento del PC. 2. Lectura de los operandos fuente, contenidos en sendos registros de propósito general ubicados en el banco de registros. 3. Realización de la operación en la UAL. 4. Escritura del resultado obtenido en el registro destino ubicado en el banco de registros. 2 Instrucción R: etapa Leer instrucción de memoria e incrementar el PC. 22

Instrucción R: etapa 2 Leer los registros del banco de registros. 23 Instrucción R: etapa 3 Realizar la operación en la UAL. 24

Instrucción R: etapa 4 Guardar resultado en el banco de registros. 2 Instrucción LW Etapas de una instrucción LW:. Lectura de la instrucción que está en memoria e incremento del PC. 2. Lectura de la dirección base, contenida en un registro de propósito general ubicado en el banco de registros. 3. Cálculo de la dirección del operando fuente en la UAL mediante la suma del registro base más los 6 bits menos significativos de la instrucción extendidos en signo. 4. Lectura en memoria del operando fuente. La dirección en la que se encuentra viene dada por el resultado de la suma efectuada en la etapa anterior.. Escritura del dato leído en la etapa anterior en el registro destino, ubicado en el banco de registros en la posición dada por los bits 2-6 de la instrucción. 26

Instrucción LW 27 Instrucción BEQ Etapas de una instrucción BEQ:. Lectura de la instrucción que está en memoria e incremento del PC. 2. Lectura de los operandos fuente, contenidos en sendos registros de propósito general ubicado en el banco de registros. 3. La UAL resta los operandos fuente para determinar si son iguales, lo cual es cierto si el resultado de la resta es. Al mismo tiempo, se suma el valor del PC, previamente incrementado, más los 6 bits menos significativos de la instrucción previamente desplazados dos lugares hacia la izquierda y extendidos en signo hasta 32 bits para calcular la dirección de ramificación. 4. Se almacena la dirección de la siguiente instrucción en el PC. Esta dirección puede ser la que ya contenía (en caso de que la resta no dé resultado nulo), o bien la dirección de ramificación (en caso de que el resultado de la resta sea nulo). 28

Instrucción BEQ 29 6. Instrucciones de salto incondicional Formato de la instrucción: Cód. Op. x2 6 3-26 Dirección destino target 26 2- Etapas de una instrucción J:. Lectura de la instrucción que está en memoria e incremento del PC. 2. Almacenamiento de la dirección de la siguiente instrucción en el PC, que se calculará como la concatenación de los cuatro bits más significativos del PC actual y el campo de dirección destino de la instrucción desplazado dos posiciones hacia la izquierda. Circuitería necesaria: Otro multiplexor para seleccionar el nuevo PC, con su correspondiente señal de control. Un desplazador. 3

Instrucciones de salto incondicional 3 7. Conclusiones e implicaciones del diseño Todas las instrucciones deben durar lo mismo: ciclo de reloj. El ciclo de reloj debe ser suficientemente largo como para permitir la ejecución de la instrucción más lenta de todas. Camino crítico de la ruta de datos: dado por la instrucción lw. Supongamos que las unidades funcionales tienen los siguientes retardos: Unidades de memoria: 2 ns cada una. UAL y sumadores: 2 ns cada uno. Acceso de cualquier tipo al banco de registros: ns. Multiplexores, unidad de control, cables, unidad de extensión de signo, lectura o escritura del PC: despreciable. En tal caso, el retardo de lw sería 8 ns El retardo de las demás instrucciones sería menor, pero todas ocuparían 8 ns! Habría que añadir un margen para evitar problemas debidos al sesgo del reloj. El ciclo de reloj largo hace que las instrucciones más cortas se ejecuten en más tiempo del necesario: esta implementación es ineficiente. Si hay instrucciones muy largas (coma flotante, múltiples accesos a memoria) frente a otras muy cortas, el desperdicio de tiempo es enorme. 32