Tema 6: Segmentación |
1.- Segmentación
Técnica de Implementación por la cual se solapa la ejecución de múltiples instrucciones.
- Cada Etapa de la Segmentación completa una
parte de la Instrucción (Segmento).
- Ciclo de Máquina, es lo que dura un segmento y viene determinado por
la duración de la Etapa mas lenta.
-
2.- Segmentación básica para DLX
Pasos Básicos de una Instrucción (Etapas de la Segmentación):
- Profundidad: Número de Instrucciones que Paraleliza la Segmentación.
- Cerrojos: Entre etapas de Cauce, sumando al tiempo de preparación, el retardo.
3.- Haciendo que funcione la segmentación
Cada Etapa de la Segmentación se activa en cada ciclo de reloj. Todas las operaciones de una etapa se deben completar en un ciclo de reloj.
- Sistema de Memoria: Se debe incrementar
cinco veces el ancho de banda.
- ALU: La instrucción en ejecución (EX) solo hace referencia
a una función (Cálculo Efectivo Dirección, Cálculo
de la Dirección Salto u Operación).
4.- Riesgos de la segmentación
Situaciones que impiden que se ejecute la siguiente instrucción durante su ciclo designado. Se introduce un Ciclo de Espera.
- Riesgos Estructurales:
El Hardware no soporta la Ejecución de 2 instrucciones (Conflicto de
Recursos). Un solo Bus de Memoria ® Detención
de 1 ciclo. => Duplicar buses.
- Riesgos Dependencia de Datos:
Los operandos de una instrucción dependen de la anterior (Orden de Acceso
los cambia la Segmentación). Detención de 3 ciclos. => Registros
Cerrojos a la Salida de la ALU con realimentación a la Entrada ®
Detención de 1 Ciclo.
|
Interbloqueo de la Segmentación: Detiene la Segmentación hasta que el riesgo desaparece.
DETECCIÓN DE RIESGOS:
- Multiplexores Entradas ALU
- Caminos MDR (Entradas Multiplexores ALU)
- Buffer para guardar Registro Destino de 2 Instrucciones anteriores
- 4 Comparadores para comparar los dos posibles campos del Registro Fuente con
los campos del Destino de las instrucciones anteriores
- Riesgos de Control:
Ejecución de un Salto, puede o no cambiar el PC a algo diferente de su
valor. Detención de 3 Ciclos. => Realimentación del PC en
Memoria ® Detención de 2 ciclos. (Averiguar
si el salto es o no Efectivo / Calcular PC Efectivo).