Академический Документы
Профессиональный Документы
Культура Документы
Ir a la navegaci�nIr a la b�squeda
Commons-emblem-question book orange.svg
Este art�culo o secci�n necesita referencias que aparezcan en una publicaci�n
acreditada.
Este aviso fue puesto el 15 de noviembre de 2013.
Para otros usos de este t�rmino, v�ase Alu (desambiguaci�n).
Humildemente, te pedimos ayuda.
Hola, lector/a de Argentina, al parecer us�s mucho Wikipedia; �eso es genial! Nos
resulta un poco inc�modo pedirte esto, pero este martes necesitamos tu ayuda. No
somos vendedores. Somos bibliotecarios/as, archivistas y entusiastas de la
informaci�n. Dependemos de donaciones que promedian 200 ARS, pero menos del 1 % de
los y las lectores/as hacen donaciones. Si don�s tan solo 60 ARS, Wikipedia podr�a
seguir funcionando. Gracias.
CERRAR
Por mucho, los circuitos electr�nicos m�s complejos son los que est�n construidos
dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores
tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador
moderno (y los mainframes) puede tener m�ltiples n�cleos, cada n�cleo con m�ltiples
unidades de ejecuci�n, cada una de ellas con m�ltiples ALU.
Muchos otros circuitos pueden contener en el interior una unidad aritm�tico l�gica:
unidades de procesamiento gr�fico como las que est�n en las GPU modernas, FPU como
el viejo coprocesador matem�tico 80387, y procesadores digitales de se�ales como
los que se encuentran en tarjetas de sonido, lectoras de CD y los televisores de
alta definici�n. Todos �stos tienen en su interior varias ALU potentes y complejas.
�ndice
1 Historia: Propuesta de Von Neumann
2 Sistemas num�ricos
3 Introducci�n pr�ctica
3.1 Detalle
4 Operaciones simples
5 Operaciones complejas
6 Entradas y salidas
7 ALU vs. FPU
8 ALU vs. FPU
9 V�ase tambi�n
10 Referencias
11 Enlaces externos
Historia: Propuesta de Von Neumann
El matem�tico John von Neumann propuso el concepto de la ALU en 1945, cuando
escribi� un informe sobre las fundaciones para un nuevo computador llamado EDVAC
(Electronic Discrete Variable Automatic Computer) (Computador Autom�tico Variable
Discreto Electr�nico). M�s adelante, en 1946, trabaj� con sus colegas dise�ando un
computador para el Princeton Institute of Advanced Studies (IAS) (Instituto de
Princeton de Estudios Avanzados). El IAS computer se convirti� en el prototipo para
muchos computadores posteriores. En esta propuesta, von Neumann esboz� lo que �l
crey� ser�a necesario en su m�quina, incluyendo una ALU.
Von Neumann explic� que una ALU es un requisito fundamental para una computadora
porque necesita efectuar operaciones matem�ticas b�sicas: adici�n, sustracci�n,
multiplicaci�n, y divisi�n.1? Por lo tanto, crey� que era "razonable que una
computadora deber�a contener los �rganos especializados para estas operaciones".1?
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, sustracciones, etc.
Introducci�n pr�ctica
Una ALU simple de 2 bits que hace operaciones de AND, OR, XOR y adici�n (ver
explicaci�n en el texto).
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.2?
Una unidad de control controla a la ALU, al ajustar los circuitos que le se�ala a
la ALU qu� operaciones realizar.
Detalle
En la imagen se detalla una ALU de 2 bits con dos entradas (operandos) llamadas A y
B: A[0] y B[0] corresponden al bit menos significativo y A[1] y B[1] corresponden
al bit m�s significativo.
Las entradas A y B van hacia las cuatro puertas de la derecha, de arriba a abajo,
XOR, AND, OR. Las tres primeras puertas realizan las operaciones XOR, AND, y OR
sobre los datos A y B. La �ltima puerta XOR es la puerta inicial de un sumador
completo.
El paso final de las operaciones sobre cada bit es la multiplexaci�n de los datos.
La entrada OP de 3 bits, OP[0], OP[1] y OP[2] (desde la unidad de control)
determina cual de las funciones se van a realizar:
OP = 000 ? XOR
OP = 001 ? AND
OP = 010 ? OR
OP = 011 ? Adici�n
Claramente se ve que las otras cuatro entradas del multiplexor est�n libres para
otras operaciones (sustracci�n, multiplicaci�n, divisi�n, NOT A, NOT B, etc).
Aunque OP[2] actualmente no es usada en este montaje (a pesar de estar incluida y
conectada), �sta ser�a usada en el momento de realizar otras operaciones adem�s de
las 4 operaciones listadas arriba.
Los datos de acarreo de entrada y acarreo de salida, llamados flags (banderas), son
t�picamente conectados a alg�n tipo de registro de estado.
Operaciones simples
La mayor�a de las ALU pueden realizar las siguientes operaciones:
Dise�ar una ALU muy compleja que calcule la ra�z cuadrada de cualquier n�mero en un
solo paso. Esto es llamado c�lculo en un solo ciclo de reloj.
Dise�ar una ALU compleja que calcule la ra�z cuadrada con varios pasos (como el
algoritmo que algunos hemos aprendido en la escuela). Esto es llamado c�lculo
iterativo, y generalmente conf�a en el control de una unidad de control compleja
con microc�digo incorporado.
Dise�ar una ALU simple en el procesador, y vender un procesador separado,
especializado y costoso, que el cliente pueda instalar adicional al procesador, y
que implementa una de las opciones de arriba. Esto es llamado coprocesador o unidad
de coma flotante.
Emular la existencia del coprocesador, es decir, siempre que un programa intente
realizar el c�lculo de la ra�z cuadrada, hacer que el procesador compruebe si hay
presente un coprocesador y usarlo si lo hay; si no hay uno, interrumpir el proceso
del programa e invocar al sistema operativo para realizar el c�lculo de la ra�z
cuadrada por medio de un cierto algoritmo de software. Esto es llamado emulaci�n
por software.
Decir a los programadores que no existe el coprocesador y no hay emulaci�n, as� que
tendr�n que escribir sus propios algoritmos para calcular ra�ces cuadradas por
software. Esto es realizado por bibliotecas de software.
Las opciones superiores van de la m�s r�pida y m�s costosa a la m�s lenta y
econ�mica. Por lo tanto, mientras que incluso la computadora m�s simple puede
calcular la f�rmula m�s complicada, las computadoras m�s simples generalmente
tomar�n un tiempo largo porque varios de los pasos para calcular la f�rmula
implicar�n las opciones #3, #4 y #5 de arriba.
Los procesadores complejos como el Pentium IV y el AMD Athlon 64 implementan la
opci�n #1 para las operaciones m�s complejas y la m�s lenta #2 para las operaciones
extremadamente complejas. Eso es posible por la capacidad de construir ALU muy
complejas en estos procesadores.
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.2?
V�ase tambi�n
Aritm�tica de saturaci�n
Arquitectura de CPU
Circuito digital
CPU
Microc�digo
Microprocesador
Circuitos multiplicadores
Registro (hardware)
Serie 7400 (chip # 74181)
Sumador
Unidad de control
Unidad de ejecuci�n
Unidad de gesti�n de memoria
Unidad de proceso
Unidad de punto flotante