• Save
MICROPROCESADOR UNICICLO
Upcoming SlideShare
Loading in...5
×
 

MICROPROCESADOR UNICICLO

on

  • 1,314 views

 

Statistics

Views

Total Views
1,314
Views on SlideShare
1,312
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

https://jujo00obo2o234ungd3t8qjfcjrs3o6k-a-sites-opensocial.googleusercontent.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MICROPROCESADOR UNICICLO MICROPROCESADOR UNICICLO Presentation Transcript

  • Capítulo 3 El procesador, la ruta de datos y el control (I Parte) Página
  • Jerarquía de traducción Página
  • Proceso de diseño del CPU
    • En el proceso de diseño de un procesador se deben conocer los siguientes aspectos:
    Página Procesador Ruta de datos Ruta de control Reg ALU Mem Deco Secuenciador Arquitectura del conjunto de instrucciones Circuitos lógicos View slide
  • Diseño del CPU
    • Una forma de diseñar la Unidad de Control o de interpretación de instrucciones es mediante el diseño de máquinas de estado.
    Página Lógica de próximo estado Memoria Lógica de salida A B C D E View slide
  • MAQUINAS DE ESTADO
    • Máquina de Mealy
    • Máquina de Moore
    • Máquina tipo C
    • Máquina microprogramada
    Página
  • Máquina Clase A, Mealy Página
  • Máquina Clase B, Moore Página
  • Máquina Clase C, Moore sin registro de salidas Página
  • Máquina Clase E Página
  • Máquina Clase D Página
    • Dos tipos de unidades funcionales
      • Elementos que operan en la ruta de los datos (combinacional)
      • Elementos que contienen estados (secuenciales)
    Detalles para la implementación Página
  • TIPOS DE MÁQUINAS
    • Máquinas cuya operación se realiza en un solo ciclo de reloj
    • Máquinas cuya operación se realiza en varios ciclos de reloj
    Página
  • Señales de Reloj
    • El reloj es una señal periódica:
    • El disparo por borde permite a los datos ser leídos de un registro y almacenados en un registro todo en un solo ciclo de reloj
    Página Cualquier valor almacenado en la máquina se actualiza solo Borde creciente Borde decreciente
  • Operación en su sólo ciclo
    • Todas las operaciones en lógica combinacional deben realizarse en un ciclo de reloj.
    Página Un ciclo de reloj PROBLEMA: El ciclo del reloj debe ser muy largo Registro Lógica combinacional (ALU) Registro Se actualiza aquí
  • Operación con múltiples ciclos
    • Los cambios ocurren en el borde creciente los momentos seleccionados
    Página escritura Requiere de señales de control adicionales Registro Combinational Logic (ALU) Registro escritura
  • Concepto de un solo ciclo
    • La ruta de datos en el CPU se encuentra entre los registros – el pulso de reloj determina cuando los registros cambian.
    Página Retardo en carga de registros Retardo en la lógica combinacional
  • La visión abstracta
    • Contador de programa: próxima instrucción
    • Memoria de instrucciones
    • Archivo de registros
    • Memoria de datos
    • Estructura del bus: transferencia de información
    Página
  • Construcción de la ruta de datos
    • Memoria para instrucciones
      • Contenga sólo instrucciones
    • Contador de programa
      • Apunte a la próxima instrucción
    • Unidad aritmética y lógica
      • Solo un sumador
    Página
  • Instrucciones y el PC
    • Incrementa: suma 4 al PC para obtener la dirección de la próxima instrucción.
    • Necesita de extensiones para ejecutar saltos.
    Página
  • Registros y ALU
    • Archivo de registros con el fin de ejecutar instrucciones con direccionamiento por registro
    • La unidad lógica y aritmética se puede diseñar de una forma muy similar al circuito integrado 74181
    Página
  • Agregando la memoria de datos
    • Transferencia de direcciones a memoria
    • Transferencia de los datos al archivo de registros
    • Unidad de extensión de signo para el cálculo de la dirección.
    Página
  • Ruta de datos para el salto
    • PC+4 + extensión del signo y dirección desplazada
    Página
  • Conectando las unidades
    • Archivo de registros
    • ALU para operandos y cálculos de direcciones
    • Memoria de datos
    Página
  • Agregando la unidad de búsqueda de instrucción
    • La unidad de búsqueda de instrucción provee la instrucción.
    Página
  • Agregando la unidad de salto
    • Se pueden manejar todas la instrucciones básicas
    Página
  • EJERCICIO
    • Realice las modificaciones de HW necesarias para que esta arquitectura que se muestra a continuación realice una instrucción que SUME dos operados, uno almacenado en un registro, otro almacenado en una dirección de memoria y que el resultado se almacene en un registro
    Página
  • EJERCICIO Cont Página
  • Procesador de un solo ciclo Página Memoria Para Datos Contador de programa Direcciones de memoria Incrementar Campos de instrucciones – Registros con puertos duales Ruta de datos - ALU Memoria principal para datos P C Memoria Para Instrucciones M U X 0 1 Addr D ADD M U X 0 1 M U X 0 1 Registros D R1id WRid R2id ADD +4 ALU M U X 0 1 ¿Porqué esto aquí? R1 ID R2 ID WR ID otro ¿Porqué esta esto aquí?
  • Acción de un procesador de un solo ciclo Página Escribir datos a un registro Búsqueda de instrucción – Requiere “Read” Actualice el PC – Requiere “0” Mux de dirr Decodifique la Instrucción Seleccione Reg Addr Pase la dirección de los Datos Pase la dirección de datos por la ALU Lea los datos Envié los datos a los registros Escriba la instrucción en el registro Ahora los relojes en el sistema Registros D R1id WRid R2id P C ADD Memoria De instrucciones ALU Memoria De Datos ADD M U X 0 1 M U X 0 1 M U X 0 1 M U X 0 1 Addr D Read 0 1 1 0 NOP Read Write Campo de la dirr Reg Campo de Dirr Datos Clk Clk
  • Temporización de un solo ciclo Página I Memoria lectura PC Mux 0 Reg Mux ALU Mux 0 0 ALU Op NOP D Memoria lectura Data Mux 1 Reg Ctrl escritura RELOJ Ciclo de reloj requerido
  • Control básico
    • Repaso de las funciones de la ALU/líneas de control.
    • Bits de control de la ALU: origen de
      • 00: suma (carga o almacena una palabra)
      • 01: resta (salta si es igual)
      • 10: operaciones de acuerdo al valor de la función (instrucciones con direccionamiento por registro)
    Página
  • Control de la ALU Página
  • Control central
    • Código de operación: Op [31-26]
    • Registros de lectura: rs [25-21], rt [20-16]
    • Registro base (LW, SW): rs[25-21]
    • Registro destino
      • Cargue: rt[20-16]
      • Tipo R: rd[15-11]
      • Requiere de un multiplexor para indicar el número del registro en el que se va a escribir
    Página
  • Ruta de datos extendida
    • Multiplexores para la selección de escritura en registros
    • Todas las líneas de control
    Página
  • RESUMEN DE LAS LINEAS DE CONTROL
    • REGDEST: fuente del registro destino para la operación
    • REGWRITE: habilita la escritura a un registro del archivo
    • ALUSRC: fuente del segundo operando de la ALU, puede ser un registro o parte de la instrucción
    • PCSRC: fuente del PC, (incremente[POC+4] o salta)
    • MEMREAD/MEMWRITE: lectura o escritura de memoria
    • MEMTOREG: fuente de escritura de un registro
    Página
  • Ruta de datos y control Página
  • Operación de la ruta de datos
    • Ejemplo: Instrucción tipo registro
      • Búsqueda de instrucción e incremento del PC
      • Lectura de registros
      • Procesamiento de los datos en la ALU
      • Escritura del resultado en el archivo de registros
    Página
  • EJEMPLO DE INSTRUCCIÓN TIPO R Página
  • EJEMPLO DE EJECUCION
    • Lw $3, offset ($2)
      • Se busca la instrucción en memoria, incrementa el PC
      • Lee el valor del registro $2
      • Calcula la dirección final
      • Utiliza la dirección para direccionar la memoria
      • Escribir el dato en el file de registros
    • Beq $10, $11, offset
      • Busca la instrucción en memoria, incrementa el PC
      • Lee los dos valores de los registros ($10,$11)
      • Resta los valores, calcula la dirección de salto
      • Utiliza la señal de cero para determinar el salto o la etiqueta.
    Página
  • Finalización del control
    • Códigos de operación en decimal
    • Códigos de operación en binario
    Página
  • Funciones de control Página
  • Implementación
    • Seleccione la correcta
      • Lógica
      • PLA
      • ROM
      • Etc....
    Página
  • Instrucción de salto
    • Realizar una extensión de la arquitectura que se está tratando
    • Tiene el siguiente formato
      • Instrucción
      • Dirección
    Página
  • Arquitectura con Jump Página
  • Limitaciones de la solución con un solo ciclo
    • El tiempo de acceso para varias operaciones varía
      • Acceso a memoria 10 ns
      • Acceso a registros 2 ns
      • Add 3 ns
      • Sub 3.5 ns
      • Multiplicación 20 ns
      • Multiplicación en PF 24 ns
      • Funciones transcendentales 40 ns
    • Tiempo depende de la implementación
    • El módulo más lento define la duración del ciclo
    Página
  • EJEMPLO
    • Lista de acciones por instrucción
    • Número de ciclos por instrucción
    Página
  • Ejemplo cont.
    • Probabilidades
      • Formato 49% 16 ns
      • Load 22% 24 ns
      • Store 11% 22 ns
      • Branch 16% 14 ns
      • Jump 2% 8 ns
    • Tiempo de ciclo de reloj del CPU es de: 18 ns
    • Tiempo de ciclo de reloj por el bloque más lento: 24 ns (ignorando operaciones largas)
    Página
  • Implementación de un solo ciclo
    • Calcule el tiempo de ciclo asumiendo tiempos de retardo despreciables excepto: memoria (2ns), ALU y sumadores (2ns), acceso al file de registros (1ns)
    Página
  • EJERCICIO
    • Se quiere agregar una nueva instrucción al conjunto de instrucciones MIPS, es la instrucción “jr” (jump register). Modifique la arquitectura vista en clase tanto en la ruta de control como en la ruta de los datos
    Página
  • Arquitectura uniciclo Página
  • Palabra de control Página
  • Secuencia de ejecución de un modo de direccionamiento Página
  • Secuencia de ejecución de un modo indirecto Página
  • Secuencia de ejecución de modo inmediato Página
  • Secuencia de ejecución de una instrucción MOVE Página
  • Secuencia de ejecución de un Fetch Página
  • UNIDAD DE CONTROL Página
  • UNIDAD DE CONTROL (MOVE) Página
  • Problemas
    • ¿Que sucede con las instrucciones complejas?
      • Aumento del HW
      • Desperdicio de área
      • Tiempo de ciclo muy largo
    • SOLUCIÓN
      • Utilizar un tiempo de ciclo más pequeño
      • Si se tienen diferentes instrucciones se tienen diferentes número de ciclos
      • Ruta de datos con multiciclo.
    Página
  • Problemas en procesadores de un solo ciclo
    • En la implementación de un solo ciclo: Cada instrucción tarda un solo ciclo de reloj en ejecutarse.
      • No se pueden compartir los recursos.
    • Generalmente la instrucción más larga es LOAD
      • El tiempo de ciclo es mucho mayor que cualquier otra instrucción.
      • Ejemplos:
        • Instrucciones tipo R no requieren acceso a la memoria de datos.
        • Los saltos incondicionales “JUMP” no requieren operaciones con la ALU ni tampoco acceso a la memoria de datos.
    Página
    • Se estaría reutilizando las unidades funcionales
      • La ALU se utilizaría para calcular direcciones e incrementar el PC
      • La memoria se utilizaría para almacenar datos e instrucciones
    • Las señales de control no serán determinadas solamente por las instrucciones.
    • Se utilizará una máquina de estados para realizar el control.
    Solución con multiciclo Página
    • Se rompe la instrucción en pasos, cada paso toma un ciclo
      • Balance en el trabajo a realizar
      • Restringir cada ciclo a utilizar solo una unidad funcional
    • Al final del ciclo
      • Almacenar valores para que se utilicen en los siguientes ciclos.
      • Introducir registros internos adicionales
    Solución con Multiciclo Página