Suponiendo que una CPU tiene la arquitectura como en la imagen, ¿cuál es el uso de los registros A1, A2 y Aout? ¿Por qué no se pueden conectar las entradas y la salida directamente a la ALU?
Este es un dibujo de un canalizado . Los registros están ahí como una optimización de la velocidad. Ciertamente podría funcionar sin ellos. Por ejemplo: supongamos que toma ALUDelay nanosegundos para que la ALU produzca una salida válida después de recibir nuevas entradas, y toma MemWriteDelay para que la memoria escriba una vez que reciba nuevas entradas . Luego, sin el registro Aout, deberá esperar (ALUDelay + MemWriteDelay) nanosegundos después de presentar entradas a la ALU, para asegurarse de que se escriba la memoria.
Pero, con Aout, solo tiene que esperar ALUDelay después de presentar las entradas a la ALU. Luego, en el siguiente ciclo de reloj, puede presentar nuevas entradas y dejar que la ALU produzca un nuevo resultado mientras la memoria está ocupada escribiendo su resultado anterior. Eso significa que solo necesita esperar max (ALUDelay, MemWriteDelay) en lugar de sum (AluDelay, MemWriteDelay) .
Los procesadores de escritorio modernos hacen un uso intensivo de ese tipo de canalización para lograr velocidades de reloj rápidas.
Lea otras preguntas en las etiquetas cpu