Está en la página 1de 3

4.3 Estructura y funcionamiento de una ALU.

Todas las operaciones aritméticas se llevan a cabo en la unidad aritmética/lógica


{ALU) de una computadora. El propósito principal de la ALU es recibir datos binarios
que se almacenan en la memoria instrucciones provenientes de la unidad de control.
La unidad aritmética/lógica contiene al menos dos registros de flip-flop: el registro B
y el registro acumulador. También contiene lógica combinacional, la cual realiza las
operaciones aritméticas y lógicas sobre los números binarios que se almacenan en
el registro B y en el acumulador. Una secuencia común de operaciones puede
ocurrir de la siguiente manera:

1. La unidad de control recibe una instrucción (de la unidad de memoria) en la


que se especifica que un número almacenado en cierta posición de memoria
(dirección) se debe sumar al número que se encuentra almacenado en el
registro acumulador.

2. El número que se va a sumar se transfiere de la memoria al registro B.

3. El número en el registro B y el número en el registro acumulador se suman


en los circuitos lógicos (cuando lo ordena la unidad de control). La suma
resultante se envía al acumulador para que sea almacenada.

4. El nuevo número en el acumulador puede permanecer ahí para que se le


pueda sumar otro número, o si se terminó ese proceso aritmético, puede
transferirse de vuelta a la memoria para su almacenamiento.

Ilustración 1 - Diagrama a bloques de una ALU común.

4.1.1 Registro de estado


Se conoce como registro de estado a los registros de memoria en los que se
deja constancia de algunas condiciones que se dieron en la última operación
realizada y que podrán ser tenidas en cuenta en operaciones posteriores. Por
ejemplo, en el caso de hacer una resta, en el registro de estado queda constancia
de si el resultado fue cero, positivo o negativo, o si se sobrepasó la capacidad de
representación.
Cada modelo de procesador tiene sus propios registros de estados, pero los más
comunes son:
 Z = Zero flag: El resultado es cero.
 N = Negative flag: El resultado es negativo.
 V = Overflow flag: El resultado supera el número de bits que puede manejar
la ALU.
 P = Parity flag: Paridad del número de 1 en los datos.
 I = Interrupt flag: Se ha producido una interrupción.
 C = Carry flag: Acarreo de la operación realizada.

4.3.2 Operaciones con datos de memoria y registros.


La mayoría de las acciones de la computadora son realizadas por la ALU. La ALU
toma datos de los registros del procesador. Estos datos son procesados y los
resultados de esta operación se almacenan en los registros de salida de la ALU.
Otros mecanismos mueven datos entre estos registros y la memoria.
Una secuencia común de operaciones puede ocurrir de la manera siguiente:
La unidad de control recibe una instrucción (de la unidad de memoria)
especificando que un número almacenado en cierta localidad de la memoria
(dirección) se sumará al número que está almacenado en ese momento en el
registro acumulador.
El número que se sumará se transfiere de la memoria al registro B.
El número contenido en el registro B y el número en el registro acumulador se
suman en los circuitos lógicos (por el comando emitido desde la unidad de
control). La suma resultante se envía entonces al acumulador para ser
almacenada.
El nuevo número en el acumulador puede permanecer para que se pueda sumar
otro número a él, o, si el proceso aritmético particular llega a su fin, puede ser
transferido a la memoria para ser almacenado
4.3.3 Operaciones con punto flotante y fijo.
Las operaciones de punto fijo están dadas por:
1. Operaciones lógicas
2. Suma y resta
3. Multiplicación
4. Multiplicación con signo
5. División
Las operaciones aritméticas en punto flotante tienen una implementación compleja
por dos motivos principalmente: Alineamiento de la mantisa y redondeo
Las operaciones en punto flotante están dadas por:
1. Suma
2. Multiplicación
3. División

También podría gustarte