La unidad aritmético lógica, también conocida como ALU(siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, etc.) y operaciones lógicas (OR, AND, XOR, etc), entre dos números binarios. Es parte fundamental de un microprocesador. Se recomienda consultar http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica
El método más simple y directo de diseñar un CIRCUITO LÖGICO de una ALU se muestra a continuación, tal como se plantea en el texto "Lógica Digital y diseño de Computadores" de Morris Mano para una etapa de 2 bits Ai y Bi.
El circuito debe repetirse n veces para un circuito lógico de n bits. Las cuatro compuertas generan las 4 operaciones lógicas OR, OR EXCLUSIVA, AND y NOT. Las 2 variables de selección en el Multiplexor seleccionan una de las 4 compuertas en la salida.Al igual que el circuito lógico se puede diseñar un circuito similar aritmético, que por ejemplo, obtenga el complemento a uno (invierta los bits Ai y Bi), complemento a 2 (invierta los bits y le sume 1), sume Ai y Bi, reste Ai y Bi.
El circuito lógico puede ser combinado en el circuito aritmético para producir una unidad lógica aritmética. Las variables de selección S1 y S0 pueden hacerse comunes a ambas secciones siempre y cuando se use una tercera variable de selección S2 para diferenciar entre los dos.
Las salidas de los circuitos lógicos y aritméticos de cada estado pasan por un multiplexor con la variable de
selección s2 . Cuando S2=0 se. selecciona la salida aritmética, pero cuando S2 = 1 se selecciona la salida lógica.
Colocando en cascada 4 etapas como la anterior se puede elaborar una ALU de 4 bits, similar al 74181, el cual se puede simular en Altera:
La ALU 74181 se puede trabajar con cualquiera de dos tablas de funcionamiento.Una tabla con los datos activos en nivel bajo y otra donde los datos son activos en nivel alto.
EJERCICIO: Simular en ALTERA el 74181 para verificar el comportamiento de las dos tablas.
No hay comentarios:
Publicar un comentario