Optimización de Procesadores Segmentados: Lógica de Desvío y Resolución de Conflictos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 2,67 KB

Lógica de desvío (Forwarding)

La lógica de desvío es una técnica de anticipación o prevención de conflictos por dependencia de datos. Consiste en añadir un multiplexor a cada entrada de la ALU que tendrá como entradas la información de los registros interetapa.

Debido a que el uso del método de la burbuja supone un claro problema de rendimiento, hay que plantear una alternativa para resolver estos conflictos por dependencia de datos. Esta alternativa consiste, no en resolverlos, sino en anticipar y evitar que se produzcan. Para ello, vamos a hacer uso de los registros interetapa del procesador segmentado.

Esta anticipación se lleva a cabo mediante la instalación de dos multiplexores, uno en cada entrada de la ALU. Estos multiplexores de tres entradas tendrán las siguientes configuraciones en función de su flag de 2 bits:

  • Línea 00: Valor directo del Banco de Registros.
  • Línea 01: Información contenida en el registro interetapa ubicado en la salida de la ALU.
  • Línea 10: Información contenida en el registro interetapa ubicado en la salida de la Memoria de Datos.

El método de resolución de conflictos por dependencia de datos mediante la lógica de desvío permite evitar el uso de burbujas, dado que estos conflictos no llegan a producirse.

Tipos de conflictos y métodos de resolución

1. Conflictos estructurales

Es un conflicto que se produce cuando alguno de los componentes que conforman el procesador no está correctamente conectado; es un conflicto que no tiene solución.

  • Prevención: Montar el procesador segmentado sobre un procesador monociclo.

2. Conflictos por dependencia de datos

Es un conflicto que se produce cuando queremos usar un dato que ya está siendo utilizado por una instrucción anterior y no ha sido actualizado.

  • Métodos de resolución:
    • Método de la burbuja: Consiste en bloquear el cauce hasta que la instrucción que provoca el conflicto termina (mediante instrucciones NOP).
    • Lógica de desvío: Es una técnica de anticipación que consiste en proporcionar el dato directamente desde un registro interetapa (no hacen falta burbujas).

3. Conflictos por salto

Es un conflicto que se produce cuando cualquier instrucción que provoque un salto se ejecuta.

  • Métodos de resolución:
    • Ignorar el salto.
    • Bloquear la entrada de nuevas instrucciones después de la instrucción de salto.

Entradas relacionadas: