Situacin en la que dos o ms instrucciones tratan de hacer uso de un nico recurso.
Casos ms habituales: Mquinas con una sola memoria (conflictos en lectura de datos e instrucciones) Unidades funcionales multi-ciclo no segmentadas Solucin al riesgo estructural: Parada de la unidad durante una etapa (introduccin de una burbuja) Reduccin del rendimiento
Riesgos de Datos Situacin en la que dos instrucciones que comparten datos tienen problemas de sincronizacin. Tipos: RAW (Lectura despus de escritura): Tambin conocida como Dependencia. WAR (Escritura despus de lectura): Tambin conocida como Anti-Dependencia. WAW (Escritura despus de escritura): Tambin conocida como Dependencia de salida. Nota: Observar que RAR no es un riesgo. Dependencia (RAW) Ocurre cuando una instruccin necesita leer un dato que otra instruccin previa aun no han producido. Anti-Dependencia (WAR) Ocurre cuando una instruccin modifica un dato que otra instruccin previa aun no ha ledo. NO ocurre en la versin simple de DLX. Ocurrir en una versin ms avanzada que se estudiar prximamente. Dependencia de salida (WAW) Ocurre cuando una instruccin modifica un dato antes de que otra instruccin previa lo modifique a su vez. NO ocurre en la versin simple de DLX. Ocurrir en una versin ms avanzada que se estudiar prximamente. Riesgos de Control Los riesgos de control son los ms negativos para el rendimiento El riesgo de control se produce ante cualquier instruccin de bifurcacin, debido a la incertidumbre que introduce Problema: La etapa IF no sabe si la prxima instruccin es en secuencia (salto no tomado) o se producir bifurcacin (salto tomado) Parada de la unidad. En la versin actual del DLX, la direccin efectiva de salto se calcula en la fase MEM Por lo tanto, la parada sera de 3 ciclos Solucin: Adelantar lo antes posible si el salto se toma o no la direccin efectiva del salto