¿Una arquitectura de longitud de instrucción variable reduciría las pérdidas de caché?

Esta pregunta tiene que ser respondida en dos partes.
1) ¿Está intentando ejecutar las Instrucciones de longitud variable en un procesador para el que fueron compiladas?
2) En caso afirmativo, ¿con qué arquitectura está comparando la arquitectura de longitud de la Cache Misses of Variable Instruction?
(Presumo arquitectura de longitud de instrucción fija 😛)

Al usar la arquitectura de Longitud de instrucción variable, usted está dando la responsabilidad de reordenar las instrucciones al compilador. Como resultado, le está dando la capacidad de aprovechar el Paralelismo de Nivel de Instrucción (ILP). Las instrucciones se emiten según el número de Unidades de ejecución y Latencia de instrucción en el procesador de destino. Como resultado, el procesador consume la caché de instrucciones rápidamente. Suponiendo que la eficiencia del almacenamiento en caché permanezca constante, el uso de una arquitectura de longitud de instrucción variable en su procesador objetivo, dará como resultado una mayor probabilidad de errores de caché en comparación con la arquitectura de longitud de instrucción fija.

Sin embargo, si no lo está utilizando en el procesador de destino, el compilador se verá obligado a emitir NOP debido a su incapacidad para paralelizar, como resultado de lo cual no verá una mayor probabilidad de errores de caché.

PD: juzgar el rendimiento del procesador basado en la tasa de errores de caché ‘solo’ es similar a juzgar ‘un jugador de tenis’ en función de su incapacidad para desempeñarse bien en un ‘tipo particular de cancha de tenis’ 😉