2. • El matemático John von Neumann
propuso el concepto de la ALU en
1945.
Historia: Propuesta de Von Neuman
AL
U
• Von Neumann explicó que una ALU es
un requisito fundamental para una
computadora porque está garantizado
que tendrá que efectuar operaciones
matemáticas básicas, incluyendo
adición, sustracción, multiplicación, y
división. Por lo tanto, creyó que era
"razonable que una computadora
debería contener los órganos
especializados para estas operaciones".
• El IAS Computer se convirtió en el
prototipo para muchos computadores
posteriores. En la propuesta, von
Neumann esbozó lo que él creyó sería
necesario en su máquina, incluyendo una
ALU.
3. Unidad aritmético lógica
La Unidad aritmético-lógica (ALU por
sus siglas en inglés: Arithmetic Logic
Unit) es un contador digital capaz de
realizar las operaciones aritméticas y
lógicas entre los datos de un circuito;
suma, resta, multiplica y divide, así
como establece comparaciones lógicas
a través de los condicionales lógicos “si”,
“no”, y, “o”.
En la actualidad, las operaciones que realiza una ALU
entre los distintos datos, que deben ser iguales a los que
emplea el circuito digital, es la representación del número
binario de complemento a dos. Sin embargo no siempre
fue así: en sus comienzos, las distintas computadoras
utilizaron una amplia gama de sistemas numéricos, como
el Complemento a uno, o el sistema decimal, adecuando
el diseño de las ALU a cada sistema.
4. Sistemas numéricos
• Una ALU debe procesar números usando el mismo formato que el resto del circuito
digital. Para los procesadores modernos, este formato casi siempre es la
representación del número binario de complemento a dos. Las primeras
computadoras usaron una amplia variedad de sistemas de numeración, incluyendo
complemento a uno, formato signo-magnitud, e incluso verdaderos sistemas
decimales, con diez tubos por dígito.
• Las ALU para cada uno de estos sistemas numéricos mostraban diferentes diseños,
y esto influenció la preferencia actual por el complemento a dos, debido a que ésta
es la representación más simple, para el circuito electrónico de la ALU, para calcular
adiciones y sustracciones, etc.
5. Introducción práctica
• La ALU se compone básicamente de: Circuito Operacional, Registros de
Entradas, Registro Acumulador y un Registro de Estados, conjunto de
registros que hacen posible la realización de cada una de las operaciones.
• 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 unidad de control controla a la ALU, al ajustar los circuitos que le señala
a la ALU qué operaciones realizar.
6. Operaciones en la ALU
Con respecto a cualquier microprocesador, las instrucciones involucran
operaciones sobre un operando, o entre dos de ellos, estando uno de los
mismos almacenado en el registro acumulador que es el registro de
trabajo de cualquier ALU, por lo que en algunos casos suele denominarse
registro W. El tipo de operaciones que puede realizar una ALU, pueden
resumirse así:
1. Suma aritmética
2. Resta aritmética (complemento a 2)
3. operaciones lógicas
producto y suma lógica Comparación
Complementación enmascaramiento
4. Desplazamiento o rotación
5. No operar (transferencia)
7. Partes
– Operadores: aritméticos, lógicos y de desplazamiento
– Registros para almacenar datos temporales
– Registro de estado: conjunto de flags que indican situaciones
ocurridas al operar
– Registro contador de programa
– Registro de direcciones de interrupción
Clasificación de los operadores
Ámbito de aplicación: General Especializado
Realización: Combinación Secuencial
Número de operando: Monádico Diádico
Paralelismo: Serie o de dígito Paralelo o de vector
Operación: De desplazamiento Lógico Aritmético
Tecnología empleada: MOS Bipolar
8. Entradas y salidas
Las entradas a la ALU son los datos en los que se harán las
operaciones (llamados operandos) y un código desde la
unidad de control indicando qué operación realizar. Su salida es el
resultado del cómputo de la operación.
En muchos diseños la ALU también toma o genera como entradas
o salidas un conjunto de códigos de condición
desde o hacia un registro de estado. Estos códigos son usados
para indicar casos como acarreo entrante o saliente,
overflow, división por cero, etc.
9. Desplazamientos lógicos
– Independientemente del sistema de representación de los operando se
introducen ceros por la
derecha o por la izquierda según se trate de un desplazamiento a la izquierda
o a la derecha,
respectivamente.
– El bit o los bits que salen suelen copiarse en el indicador de acarreo (el
último que ha salido es el
que queda).
Desplazamientos lógicos a la izquierda; Desplazamientos lógicos a la derecha
Las operaciones lógicas realizan la operación sobre cada uno
de los bits del operando o de los operandos.
10. Desplazamientos aritméticos
– Equivalen a multiplicaciones y divisiones por dos, según sean hacia la
izquierda o a la derecha,
respectivamente. – El sistema de representación de los operandos debe
tenerse en cuenta si los
operandos tienen signo.
– El bit o los bits que salen suelen copiarse en el indicador de acarreo (el
último que ha salido es el
que queda).
11. Desplazamientos circulares
– Los bits que salen por un extremo entran por el
otro.
– El bit o los bits que salen suelen copiarse en el
indicador de acarreo (el último que ha salido es el
que queda)
Desplazamientos circulares a través del flag de acarreo
– Los bits que salen por un extremo entran por el otro.
– El bit o los bits que salen suelen copiarse en el indicador de
acarreo
12. ALU vs. FPU
Una unidad de coma flotante, Floating Point Unit (FPU), también realiza
operaciones aritméticas entre dos valores, pero lo hace para números en
representación de coma flotante, que es mucho más complicada que la
representación de complemento a dos usada comúnmente en una ALU.
Para hacer estos cálculos, una FPU tiene incorporados varios circuitos
complejos, no incluyendo algunas ALU internas.
Generalmente los ingenieros llaman ALU al circuito que realiza
operaciones aritméticas en formatos de número
entero (como complemento a dos y BCD), mientras que los circuitos que
calculan en formatos más complejos como
coma flotante, números complejos, etc., reciben generalmente un nombre
más ilustre