El truco con este tipo de pregunta es descubrir cómo usar cada información que se proporciona. Debe prestar atención a las unidades; por ejemplo, la penalización por falta de memoria caché se da en unidades de ns, pero todas las demás temporizaciones se dan en términos de períodos de reloj de 4 GHz. Tendrá que convertir uno a otro para combinarlos de una manera significativa.
Para comenzar, debes averiguar cuántas referencias de memoria hace cada instrucción. Tenemos que asumir que cada instrucción necesita una operación de búsqueda de instrucciones, además se nos dice que el 25% de las instrucciones también hacen una referencia de memoria de datos. Eso significa que en promedio, cada instrucción hace 1.25 referencias de memoria.
La tasa de fallos de caché se da como 3%, lo que significa que, en promedio, cada instrucción producirá 1.25 × 0.03 = 0.0375 fallos de caché.
Una falla de caché toma 50 ns, que es 50 ns × 4 GHz = 200 relojes. Por lo tanto, cada instrucción es responsable de 0.0375 × 200 = 7,5 relojes de caché.
Dado que cada instrucción toma 1.5 relojes, incluso si no hay fallas de caché, el tiempo total es 1.5 + 7.5 = 9.0 relojes por instrucción con las fallas. En otras palabras, el procesador se ejecuta a solo 1/6 de su velocidad máxima cuando la tasa de falta de caché es del 3%.