Unidad Central de Proceso - CPU
Considerada la unidad de procesamiento por excelencia, en ella los datos, las instrucciones y la memoria se integran para producir resultados esperados de los programas.
La unidad aritmético-lógica ALU
La unidad aritmético lógica es la encargada del desarrollo de las operaciones lógicas o aritméticas, para lo cual hace uso de algunos registros que permiten establecer los dos operadores y cuyo resultado se almacena nuevamente en el primero de ellos que se denomina registro acumulador.
Uno de los elementos característicos de la ALU es que mantiene estrecha relación con un registro que se observará en unidades subsiguientes denominado registro de banderas, sobre el cual recae la responsabilidad de establecer qué tipo de acción se debe desarrollar con los resultados y cómo interpretarlos.
En la ALU se pueden observar algunos de los registros de usuario y la forma cómo se opera con ellos. Interactúa directamente con la memoria principal, los registros y los buses de tal forma que en la medida que se determina el tipo de operación que se debe realizar en el bus de control, los datos son colocados en los registros correspondientes y el resultado de la operación procesada aparece en el acumulador, que inmediatamente puede volver a la entrada de datos o a la memoria para su almacenamiento.
Figura 1. ALU, buses y registros, componen el sistema de procesamiento de la CPU.
(Para ampliar la imagen haga clic sobre ella)
La unidad de control UC
Establece las acciones que se deben realizar con los datos, a ella le corresponde determinar qué instrucción está siendo solicitada por el programa, colocar los datos necesarios en la entrada de la ALU y proceder a realizar la operación necesaria. Sus resultados afectan uno de los principales registros del sistema denominado el Registro de Banderas.
No se puede ubicar físicamente la UC en algún sitio particular del procesador o del diagrama en bloques, debido a que las diferentes operaciones se encuentran distribuidas a lo largo del circuito digital que compone el procesador.
Una rutina básica que determina la operación de la unidad de control se muestra a continuación:
- Leer de la memoria la instrucción a ejecutarse.
- Interpretarla.
- De ser necesario, se leen los datos solicitados por la instrucción.
- Ejecutar la instrucción solicitada.
- Almacenar el resultado de cada instrucción.
- Afectar de ser necesario el registro de banderas.
Figura 2. Set de registros del procesador, donde se destaca la interconexión con la ALU y la UC.
(Para ampliar la imagen haga clic sobre ella)
Registros del sistema
Los registros del sistema pueden clasificarse de la siguiente manera:
- Registros de propósito general: también denominados registros de usuario, significa que puede ser referenciado desde el lenguaje de máquina, el programador puede minimizar la utilización de la RAM solo con la interacción con los registros de usuario.
- Registros de apuntador: Guardan las direcciones a los diferentes puntos del procesador que contienen datos importantes, por ejemplo el IP almacena la dirección de la siguiente instrucción a ejecutarse.
- Registro de banderas: En él se almacena el estado del procesador luego de la última instrucción ejecutada, contiene códigos de condición bit a bit que por su estado de alto o bajo, proporcionan la información pertinente sobre determinada bandera de inspección. Por ejemplo una de las banderas del registro es la de Overflow, la cual normalmente se encuentra en cero, sin embargo si se excedió el límite del registro en una operación de coma flotante, se produce un error de desbordamiento y la bandera se coloca en uno.
- Registros de segmento: Cada uno de los segmentos de un programa llegan a la memoria principal en posiciones diferentes, el apuntador de segmento indica la dirección inicial de cada segmento. Por ejemplo, el apuntador de pila o Stack Pointer mantiene la dirección de acceso a la pila del programa, la cual varía cada vez que se producen resultados intermedios en el procesamiento.
- Registros de control: Regularmente no son visibles al usuario excepto si se observan a través de un editor de lenguaje ensamblador como MASM, TASM o el propio DEBUG del sistema operativo.
- Registros de estado: Utilizados en funciones de intercambio entre la CPU la unidad de E/S y la RAM. Los más importantes son: MAR, MBR, IOAR. Y IOBR. La unidad de control tiene asignados algunos otros registros como el PC, IR y SR
Figura 3. Diagrama en bloque de los registros de estado y control del procesador.
(Para ampliar la imagen haga clic sobre ella)
