¿Qué le dice a un procesador que vaya a un caché para ejecutar la siguiente instrucción?

En relación con el caché del procesador, existe un concepto de pérdida de caché que desarrollaré más a fondo.

Cuando el procesador se enciende, comienza su ejecución con cada memoria limpia. Ahora, a medida que la ejecución se acumula, las instrucciones / datos llenan varias memorias como RAM, caché, etc. Para cada tarea realizada a nivel del sistema operativo (navegación, copia, edición de imágenes, música, etc.) siempre hay algunas instrucciones y datos que siempre se repiten se usa y aquí es donde entra el caché. Reconoce de manera adaptativa las direcciones de los datos y las instrucciones utilizadas repetidamente y almacena esos datos en la memoria caché (los más repetidos están en L1, luego L2, luego L3 y así sucesivamente; no hay L4 hasta ahora). Ahora, cuando el procesador alcanza una instrucción que está a punto de usar datos, verificará automáticamente en sus cachés si los datos de esa ubicación están disponibles en la memoria caché, verificará L1, si no se encuentra en L1 (error de caché L1) L1 buscará en L2 si el caché L2 se perdió y luego se obtiene de L3. Finalmente, si también se pierde L3, L3 lo buscará desde DRAM.

La DRAM nunca se comunica directamente con el núcleo de la CPU, habla con el controlador integrado de memoria C (IMC – fue pionero de AMD) dentro del chip y el IMC a su vez habla con el caché L3, el L3 habla con L2 y L2 con L1. La CPU solo habla directamente con L1. La velocidad de estas interfaces aumenta con la más baja siendo la DRAM L3 y la más alta como la CPU L1

Técnicamente, nadie le dice a los procesadores que vayan a la memoria caché y obtengan la siguiente instrucción. El contador del programa se incrementa después de cada instrucción y luego el procesador obtiene la siguiente instrucción.

La siguiente instrucción se obtiene automáticamente cada vez para mantener la tubería llena. Di la instrucción no. 100 es ejecutar alguna función sentada en 500. Aún después de la instrucción número 100, 101-102-103 … se buscará para mantener la canalización llena, pero cuando se ejecuta el número 100, el procesador se da cuenta de que ahora se requiere la instrucción número 500 y no 101-102 … entonces vacía la tubería y luego comienza con la búsqueda de la 500a instrucción.

Está cableado, que cuando el procesador recupera la siguiente instrucción, primero mira en el módulo de caché para ver si el contenido de la memoria de esa dirección existe en la caché, si no puede encontrarlos en la caché, pasa al siguiente nivel, lo que podría conducir finalmente a la recuperación De la memoria.
En resumen, la secuencia parece
CPU -> Caché -> Memoria.