Su misión es realizar las operaciones con los datos
que recibe, siguiendo las indicaciones dadas por la unidad de control.
El nombre
de unidad aritmética y lógica se debe a que puede realizar operaciones tanto
aritméticas como lógicas con los datos transferidos por la unidad de control.
La unidad
de control maneja las instrucciones y la aritmética y lógica procesa los datos.
Para que
la unidad de control sepa si la información que recibe es una instrucción o
dato, es obligatorio que la primera palabra que reciba sea una instrucción,
indicando la naturaleza del resto de la
información a tratar.
Para que
la unidad aritmética y lógica sea capaz de realizar una operación aritmética,
se le deben proporcionar, de alguna manera, los siguientes datos:
1. El
código que indique la operación a efectuar.
2. La dirección de la celda donde está almacenado el
primer sumando.
3. La
dirección del segundo sumando implicado en la operación.
4. La
dirección de la celda de memoria donde se almacenará el resultado.
Los
Registros son un medio de ayuda a las operaciones realizadas por la unidad de
control y la unidad aritmética y lógica. Permiten almacenar información,
temporalmente, para facilitar la manipulación de los datos por parte de la CPU.
Realizando
una similitud con el resto del sistema informático, los registros son a la CPU
como la memoria principal es a la computadora.
Los
registros se dividen en tres grupos principales:
•
Registros de Propósito General.
•
Registros de Segmento de Memoria.
•
Registros de Instrucciones.
Seguidamente
se presenta una relación completa de los tres grupos de registros que contiene
un microprocesador típico como puede ser el Intel 80386:
Registros de Propósito General:
(AX)
Registro de Datos
(DX)
Registro de Datos
(CX)
Registro de Datos
(BX)
Registro de Datos
(BP)
Registro Puntero Base
(SI)
Registro Índice Fuente
(DI)
Registro Índice Destino
(SP)
Registro Puntero de la Pila
Registros
de Segmento de Memoria:
(CS)
Registro Segmento de Código
(SS)
Registro Segmento de la Pila
(DS)
Registro Segmento de Datos
(ES)
Registro Segmento de Datos Extra
(DS)
Registro Segmento de Datos Extra
(ES) Registro
Segmento de Datos Extra
Registros de Instrucciones
(FL)
Registro de «Flags» o también denominado registro de estado
(IP) Registro Puntero de Instrucción o también
denominado registro Contador de Programa
(PC)
De esta
relación de registros los cuatro más importantes son:
• El
Registro Puntero de Instrucciones.
El
registro puntero de instrucciones o contador de programa indica el flujo de las
instrucciones del proceso en realización, apuntando a la dirección de memoria
en que se encuentra la instrucción a ejecutar.
Dado que
las instrucciones de un programa se ejecutan de forma secuencial, el procesador
incrementará en una unidad este registro cada vez que ejecute una instrucción,
para que apunte a la siguiente.
La
información que almacena este registro se puede modificar cuando una
interrupción externa, o la propia ejecución del proceso en curso, provoque una
alteración en la secuencia de operaciones. Esta alteración transferirá el
control del sistema informático a otro proceso diferente al que está en
ejecución.
• El Registro Acumulador.
Es el
Registro donde se almacenan los resultados obtenidos en las operaciones
realizadas por la unidad aritmética y lógica.
Su
importancia radica en las características de la información que almacena, ya
que con su contenido se realizan todas las operaciones de cálculo que ha de
ejecutar la unidad aritmética y lógica.
• El registro de Estado.
El
Registro de Estado o registro de «flags» no es un solo registro propiamente
dicho, ya que se compone de varios registros de menor tamaño; este tamaño puede
ser incluso de un solo bit.
El
registro de estado se utiliza para indicar cambios de estados y condiciones en
los otros registros existentes en el sistema informático. Estos cambios en la
situación de los demás registros se producen debido a las modificaciones del
entorno a lo largo de la ejecución de los procesos realizados por el sistema
informático.
• El Registro Puntero de la Pila.
Este
Registro almacena la dirección de la zona de la memoria donde está situada la
parte superior de la pila.
La Pila
es una zona de los registros de segmento de memoria que la unidad aritmética y
lógica utiliza para almacenar temporalmente los datos que está manipulando.
Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades
del proceso impiden que estos datos puedan almacenarse en los registros creados
para ello se envían a la pila, donde se almacenan hasta que la unidad de
control recupera la información para que la procese la unidad aritmética y
lógica.
La
ventaja de manejar una pila como almacén de información es que la información que
se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola
dirección de memoria. Esto permite que la unidad de control no necesite conocer
más que esa dirección para poder manejar los datos almacenados en la pila.