Hay rendimiento y latencia.
En núcleos lentos muy simples, el caché se ejecuta a la misma velocidad que la CPU y puede proporcionar datos en 1 ciclo, por lo que los datos están disponibles de inmediato sin demoras. Cuando hay una falta de caché, los datos se toman de la memoria principal y la latencia inicial puede ser de más de 10 ciclos. Lo bueno es que una vez que los primeros datos están disponibles, los siguientes datos se pueden obtener rápidamente, de ahí la idea de transferencias de ráfagas y rellenos de caché. La CPU solo necesita un byte o una palabra de 32 bits, pero 32 o 64 bytes se transfieren a la vez de la memoria al caché.
En las CPU más avanzadas, las que tienen L1, L2, DRAM y reloj gigahertz, incluso el contenido de la caché L1 no se puede obtener inmediatamente.
Para la instrucción, existen mecanismos para predecir el flujo de instrucción y obtener instrucciones de antemano: obtener continuamente direcciones consecutivas, a menos que la instrucción sea una rama, una llamada, ...
Para los datos, es más complejo. Mediante la canalización, algunas CPU pueden tener varias transferencias de datos pendientes antes de detenerse. La solución actual real para mitigar las latencias largas es la ejecución fuera de orden, la CPU hace el mayor trabajo posible, incluso ejecutando instrucciones que no están en orden de programa, para ocultar la larga latencia de instrucciones como la lectura y escritura de datos.