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.
Examen de Interrupciones: Se comprueba antes de Decodificar la Instrucción o después que se termina la ejecución.
7.- Control para DLX