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):

  1. IF - Búsqueda de la Instrucción
  2. ID - Decodificación y Búsqueda de Registros
  3. EX - Ejecución y Cálculo Direcciones Efectivas
  4. MEM - Acceso a Memoria
  5. WB - Postescritura

- 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.

  • RAW - j trata de leer antes de que i escriba
  • WAR - j trata de escribir antes de que i lea
  • WAW - j trata de escribir antes de que i escriba

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).