Tema 5: Técnicas Básicas de Implementación de Procesadores


1.- Introducción

Descomposición en la Arquitectura de Von Neumann del Computador: CPU, Memoria, E/S, Computación y Control.

2.- Caminos de Datos del Procesador

Unidades de Ejecución, ALU, Desplazamiento, Registro y Caminos de Comunicación.

3.- Pasos Básicos de Ejecución

- Búsqueda de Instrucción
Transfiere el PC al MAR y ubica la instrucción de memoria en el Reg de Inst.

- Decodificación de la Instrucción
Decodifica la Instrucción y accede al fichero de registros para leer los registros. Ademas, incrementa el PC para que señale a la siguiente instrucción.

- Ejecución / Paso a Dirección Efectiva (Referente a Mem, ALU, Salto)

- Acceso a Memoria / Completar Salto
Accede a Mem si es necesario. Si la instrucción es una carga, devuelve el dato desde mem; si es un almacenamiento, escribe el dato en mem.

- Postescritura
Escribe el resultado en el fichero de registros.

4.- Control Cableado

Indica al Camino de Datos lo que tiene que hacer cada Ciclo de Reloj, durante la Ejecución de la Instrucción.

Diagrama de Estados Finitos:
Cada Estado corresponde a un Ciclo de Reloj y las Operaciones que se van a realizar se escriben en ese Estado.
La Conversión de un Diagrama de Estados en Hardware se realiza acotando la complejidad del control mediante el producto.

Numero de Estados · Entradas Control · Salidas de Control

Tabla: Cada Fila contiene los valores de las Lineas de Control, para realizar las operaciones requeridas por ese estado, y suministra el numero del estado siguiente.

Reducción de Costes:
Implementación mas Rápida ® R.O.M. (Solo va una pequeña parte sin información única).
Mantenimiento de la información única a coste de una decodificación mas complicada ® P.L.A. (Minimizando el numero de Minterms).

Rendimiento del Control Cableado:Minimizar el CPI medio, Ciclo de Reloj, cantidad de hardware para especificar el control y el tiempo para desarrollar un controlador correcto.

5.- Control Microprogramado

Microprogamación: Segunda tabla para determinar el flujo de control al nivel e "micro".

Posibilita que el repertorio de Instrucciones pudiera cambiarse alterando el contenido de a Memoria de Control sin tocar el hardware.

Reducción de Costes:
Saltos Condicionales: Se coloca el código de operación de la microinstrucción, en medio de la dirección de la siguiente microinstrucción.

Memoria del Microprograma: Las Instrucciones demandan la mayor parte del tiempo de ejecución son optimizadas por velocidad y espacio.

Lineas de Control: Escribir primero el microprograma completo en una notación simbólica. Tomando medidas podemos reconocer los bits de control que se pueden codificar en un campo mas pequeño. CODIFICACIÓN: Las lineas de control pueden codificarse juntas cuando se inicializan ocasionalmente en la misma microinstrucción.

Múltiples Formatos de Microinstrucciones: Microinstrucciones mas cortas si se descomponen en formatos diferentes y se añade un código de operación para distinguirlas.
a) Delgada pero alta: Microinstucción Vertical
b) Ancha pero corta: Microinstucción Horizontal

Control Cableado: Reducción del numero de microinstrucciones con microsubrutinas.

C.P.I.: Dedicar microcodigo extra para Instrucciones mas frecuentes.
Para uso de Ciclos de Espera ® Control Cableado que evite retardo de reloj externo
Mas Operaciones por Microinstrucción ® Paralelismo

6.- Interrupciones

Eventos distintos de los saltos que cambian el Flujo normal de la ejecución de los sistemas.

  1. Síncrono / Asíncrono: Si el evento ocurre en el mismo lugar cada vez que se ejecuta.
  2. Petición de Usuario / Forzada
  3. Enmascarable / No enmascarable
  4. En Instrucciones / Entre Instrucciones
  5. Reanudar / Terminada

Examen de Interrupciones: Se comprueba antes de Decodificar la Instrucción o después que se termina la ejecución.

7.- Control para DLX