1. La unidad lógica aritmética (ALU):la calculadora
El trabajo de la ALU es realizar operaciones aritméticas y lógicas en datos. Esto incluye:
* Operaciones aritméticas: Suma, resta, multiplicación, división, incremento, disminución.
* Operaciones lógicas: Y, o, Xor, no, comparaciones (mayores que, menos que, igual a).
* Operaciones bitwise: Brocas de cambio a izquierda o derecha (útil para la multiplicación/división por poderes de 2), bits de enmascaramiento.
Cómo funciona:
1. Entrada de datos: La ALU recibe datos (operandos) de registros:pequeñas ubicaciones de memoria de alta velocidad dentro de la CPU.
2. Ejecución de operación: Según la instrucción recibida de la CU, la ALU realiza la operación especificada en los datos de entrada.
3. Salida de resultados: El resultado de la operación se almacena en un registro o se escribe a la memoria. La ALU también a menudo establece banderas (bits de estado) que indican cosas como el desbordamiento (resultado demasiado grande para el registro), el resultado cero o el transporte (un dígito transportado durante la adición). El CU utiliza estas banderas para tomar decisiones sobre las instrucciones posteriores.
2. La unidad de control (Cu):el jefe
El CU es el "cerebro" de la CPU, que dirige el flujo de datos y operaciones. Sus responsabilidades clave son:
1. INSTRUCTIONICIÓN DE INSTRUCCIÓN: El CU obtiene instrucciones de la memoria, una a la vez, basada en el contador del programa (PC), que realiza un seguimiento de la dirección de la siguiente instrucción.
2. Decodificación de instrucciones: El CU decodifica la instrucción obtenida para determinar qué operación debe realizarse y qué datos están involucrados. Esta decodificación implica comprender el código de operación (código de operación) y los operandos (datos).
3. Operand Betch: El CU recupera los operandos necesarios de los registros o la memoria.
4. Operación Alu: El CU envía los operandos y el código de operación al ALU. Luego espera a que el ALU complete su operación.
5. Almacenamiento de resultados: Una vez que termina el ALU, el CU dirige el almacenamiento del resultado de nuevo en un registro o ubicación de memoria.
6. Actualización de contador del programa: El CU actualiza el contador del programa para apuntar a la siguiente instrucción en la secuencia del programa.
7. Ramificación y salta: Basado en las banderas establecidas por el ALU (u otras condiciones), el CU puede alterar el flujo del programa. Esto podría implicar saltar a una ubicación diferente en la memoria o ejecutar bloques de código condicionalmente (por ejemplo, declaraciones `if`).
8. Entrada/salida (E/S) Control: El CU administra la comunicación con dispositivos externos (como teclados, monitores y discos duros).
Interacción entre Alu y Cu:
El Alu y el CU funcionan de una manera estrechamente acoplada:
* El Cu orquesta todas las operaciones. Le dice al ALU qué hacer y dónde obtener los datos.
* El ALU realiza los cálculos y establece banderas, proporcionando retroalimentación al CU.
* El CU usa esta retroalimentación para tomar decisiones sobre los próximos pasos en la ejecución del programa.
En esencia, la ALU es responsable de "qué" (realización de cálculos), mientras que la CU es responsable de "cómo" (controlando el flujo de datos y operaciones). Son interdependientes y esenciales para la funcionalidad de cualquier microprocesador.