Los riesgos de datos ocurren cuando una instrucción depende del resultado de una instrucción anterior y ese resultado de la instrucción aún no se ha calculado. siempre que dos instrucciones diferentes utilicen el mismo almacenamiento. la ubicación debe aparecer como si se ejecutara en orden secuencial.
Hay cuatro tipos de dependencias de datos: Lectura tras escritura (RAW), Escritura tras lectura (WAR), Escritura tras escritura (WAW) y Lectura tras lectura (RAR). Estos se explican a continuación a continuación.
- Leer después de escribir (RAW):
también se conoce como dependencia verdadera o dependencia de flujo. Ocurre cuando el valor producido por una instrucción es requerido por una instrucción posterior. Por ejemplo,
ADD R1, --, --; SUB --, R1, --;
Se requieren puestos para manejar estos peligros.
- Write after Read (WAR):
También se le conoce como anti dependencia. Estos peligros ocurren cuando el registro de salida de una instrucción se usa justo después de leer una instrucción anterior. Por ejemplo,
ADD --, R1, --; SUB R1, --, --;
- Write after Write (WAW):
También se conoce como dependencia de salida. Estos peligros ocurren cuando el registro de salida de una instrucción se usa para escribir después de que lo haya escrito una instrucción anterior. Por ejemplo,
ADD R1, --, --; SUB R1, --, --;
- Read after Read (RAR):
Ocurre cuando ambas instrucciones leen del mismo registro. Por ejemplo,
ADD --, R1, --; SUB --, R1, --;
Dado que leer un valor de registro no cambia el valor de registro, estos peligros de lectura tras lectura (RAR) no causan ningún problema para el procesador.
Manejo de peligros de datos:
estos son varios métodos que utilizamos para manejar peligros: reenvío, grabación de código e inserción de bloqueo.
Estos se explican a continuación a continuación.
- Reenvío:
agrega circuitos especiales a la tubería. Este método funciona porque los valores requeridos tardan menos tiempo en viajar a través de un cable que un segmento de tubería para calcular su resultado. - Reordenación de código:
Necesitamos un tipo especial de software para reordenar el código. A este tipo de software lo llamamos compilador dependiente del hardware. - Inserción de parada:
inserta una o más instalaciones (instrucciones no operativas) en la tubería, lo que retrasa la ejecución de la instrucción actual hasta que el operando requerido se escribe en el archivo de registro, pero este método disminuye la eficiencia y el rendimiento de la tubería.
Publicación traducida automáticamente
Artículo escrito por rajkumarupadhyay515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA