¿Qué sucede dentro del hardware de la CPU cuando la CPU ejecuta una instrucción?

Hablaré específicamente sobre la arquitectura de la tienda de carga. Cuando haces c = a + b, entonces se ejecutan cuatro instrucciones
Cargar $ Reg1, a
Cargar $ Reg2, b
Agregar $ Reg3, $ Reg1, $ Reg2
Tienda $ Reg3, C

Ahora los sistemas actuales tienen una arquitectura de canalización, lo que significa que habrá bastantes bloques de hardware independientes que pueden funcionar de forma independiente en las instrucciones, explotando así el paralelismo en el nivel de instrucción.
Ahora al principio hay caché de instrucciones L1 desde donde se obtiene la instrucción (la dirección se conoce a través de la PC, es decir, el contador del programa). Por lo tanto, debe saber que la lectura de instrucciones será de 32 bits (es decir, 1 y 0). Por lo tanto, deben decodificarse en lo que significan, qué instrucción representan, cuántos operandos tienen, de dónde deben leerse los operandos o dónde deben escribirse los resultados. Entonces, en el decodificador, los 32 bits se dividen en componentes. Digamos que estamos viendo la tercera instrucción mencionada anteriormente. Entonces sabrá que es una instrucción aritmética de tipo Add, y que hay 2 operandos de origen y 1 de destino. Desde aquí, los 5 bits (suponiendo que estén presentes 32 registros en el archivo de registro) necesarios para saber la ubicación del registro se envían al archivo de registro (y esta etapa es Registro de lectura). Por lo tanto, enviaremos 2 direcciones / ubicaciones de registros de origen y obtendremos 2 valores de 32 bits de los registros, que se introducen en ALU (que se seleccionarán para realizar la operación de agregar debido a la señal de control seleccionada por el bloque Decoder). Ahora la adición ocurrirá por ALU y luego la reescritura del registro ocurrirá en la ubicación seleccionada por la tercera ubicación del registro, es decir, el registro de destino.

NOTA: También hay una etapa de memoria que aparece cuando hay instrucciones de almacenamiento de carga que lee o escribe en la memoria de datos, es decir, caché de datos L1.

Además, en el sistema actual hay múltiples avances como predictores de rama, unidades fuera de orden (marcador, tomasulo), búferes de reordenamiento, múltiples ALUS (arquitectura superescalar). Espero que esto le brinde una visión general de todo lo que sucede en la CPU, qué etapas necesita pasar. Mencioné la tubería baisc de 5 etapas, pero el presente i7 tiene una tubería de 15-20 etapas.

Comente si necesita justificación para algún punto específico.

Gracias por el A2A.

Davesh Shingari ya ha proporcionado una mirada en profundidad sobre cómo funciona la CPU. Solo quería señalar el modelo de los programadores de (en este PPT particular, un x86) CPU: http://intrawww.ing.puc.cl/sidin

Para mí, algo como esto proporciona un contexto fácil para entender la CPU.

Este libro es una muy buena introducción a eso, desde el transistor a la CPU: Diseño de circuitos digitales para estudiantes de informática.