Arquitectura Interna de la CPU: Registros, ALU e Instrucciones Esenciales
Clasificado en Informática
Escrito el en
español con un tamaño de 764,09 KB
La Unidad Central de Procesamiento (CPU) es el cerebro de cualquier sistema informático. Dentro de ella, un conjunto de registros actúa como una memoria de alta velocidad, crucial para el procesamiento de datos. Estos registros se clasifican principalmente en dos categorías:
Registros de la CPU: Tipos y Funciones
1. Registros Visibles al Usuario
El usuario programador puede manipular estos registros mediante programas (generalmente en lenguaje ensamblador), optimizando los accesos a la memoria principal.
- De Uso General: Contienen datos relativos a las instrucciones en ejecución o al propio programa. Se emplean libremente para almacenar temporalmente resultados intermedios entre operaciones.
- Registros Exclusivos de Direcciones: Solo pueden contener direcciones de memoria. Están íntimamente implicados en el modo de direccionamiento de la memoria.
Tipos de Registros de Direcciones
Estos registros son fundamentales para la gestión de la memoria:
- Punteros de Segmento: Contienen la dirección base de un segmento. Puede haber múltiples registros de segmento (de datos, de instrucciones, etc.).
- Registros Índices: Facilitan el direccionamiento de una posición de memoria dentro de un segmento.
- Puntero de Pila (SP): Contiene la dirección de la cabeza de la pila. Disponer del contenido de este registro acelera las operaciones de pila.
2. Registros de Control y Estado
Estos registros son utilizados por la Unidad de Control (UC) para gestionar el funcionamiento interno de la CPU. Solo son accesibles por la Unidad de Control y por algunos programas privilegiados para controlar la ejecución de otros procesos.
Registros de Control Centrales
Los tipos principales de registros de control son:
- Contador de Programa (PC): Contiene la dirección de la siguiente instrucción a captar.
- Registro de Instrucción (IR): Contiene la última instrucción captada.
- Registro de Dirección de Memoria (MAR/RDM): Contiene la dirección de memoria de la próxima lectura o escritura.
- Registro Intermedio de Memoria (MBR/RIM): Contiene la palabra de datos a escribir en memoria o la última leída.
Nota: El MAR y el MBR suelen estar conectados directamente al bus de direcciones y al bus de datos, respectivamente.
Registro de Estado del Programa (PSW)
Todos los procesadores incluyen el Registro de Estado del Programa (PSW - Program State Word). Este registro contiene información crucial acerca del resultado de la última operación ejecutada por la CPU. Esta información se interpreta bit a bit (flags):
- Signo: Contiene el signo del resultado de la última operación.
- Cero: Indica que el resultado de la operación ha sido cero.
- Acarreo: Indica si el resultado de una operación genera un acarreo (suma) o un adeudo (resta) del bit más significativo.
- Igual: Indica si el resultado de una comparación lógica es la igualdad.
- Desbordamiento: Indica si ha habido desbordamiento aritmético.
- Interrupciones Habilitadas/Deshabilitadas: Permite o no el uso de interrupciones.
- Supervisor: Indica el modo de funcionamiento del procesador. En modo supervisor se pueden ejecutar ciertas instrucciones privilegiadas.
Unidad Aritmético-Lógica (ALU)
La ALU es la parte de la CPU donde se realizan las operaciones matemáticas y lógicas entre datos. El resto de componentes (Unidad de Control, registros, E/S y Memoria) suministran datos a la ALU con el fin de que los procese y devuelva el resultado.
Las operaciones que realiza la ALU son muy simples; básicamente, funciona como un sumador-comparador. Un registro accesible y fundamental de la ALU es el Acumulador (AC).
El Juego de Instrucciones y el Lenguaje Máquina
Una instrucción es una cadena de ceros y unos (código binario). El juego de instrucciones o lenguaje máquina de un procesador es el conjunto de instrucciones que es capaz de ejecutar.
En el diseño de un procesador, se deben considerar varios factores clave respecto a las instrucciones que serán las que pueda ejecutar:
- ¿Qué longitud tendrán las instrucciones (8, 16, 32... bits)?
- ¿Las instrucciones tienen todas la misma longitud?
- ¿Cuántas instrucciones tendrá el juego en total?
El Reloj de la CPU
El reloj es fundamental para la sincronización. Cada vez que el reloj avanza un tic, la Unidad de Control avanza en la ejecución de una instrucción, marcando el ritmo de procesamiento del sistema.