Date post: | 08-Dec-2015 |
Category: |
Documents |
Upload: | christian-tellez |
View: | 17 times |
Download: | 2 times |
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Unidad lógica aritmética (ALU)
Por: Garcia Téllez Omar Christian, Cerda Solórzano Daniel y Corona Meléndez José Luis
Abstract: Se realizó una ALU (Unidad Lógica Aritmética) de 4 bits, que consiste en
realizar operaciones de suma, resta, comparación, y algunas operaciones lógicas, como lo
son: AND, OR, NAND, NOR, XOR, NOT y XNOR. Todo esto fue con una restricción de
solo construirla a base de compuertas lógicas y algunos multiplexores.
Introducción: En computación, 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, multiplicación, etc.) y operaciones lógicas (si, y, o, no),
entre dos números.
Fig. 1 Símbolo típico esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada de la unidad de
control; D es un estado de la salida.
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. Por lo tanto, creyó que era "razonable que una
computadora debería contener los órganos especializados para estas operaciones".
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
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.
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. 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.
Detalles del proyecto: El diseño de la ALU se realiza mediante bloques.
Las maneras de llevar esto a un circuito lógico físicamente son de las siguientes
formas:
Mediante compuertas lógicas
Mediante lógica estándar TTL
Una de las actuales formas del diseño electrónico digital es mediante el uso
de los FPGAs (arreglos de compuertas programables en el campo).
Como se mencionó anteriormente en este proyecto se utilizaran solo compuertas lógicas y
los bloques se presentan a continuación:
FUNCIONES LOGICAS BÁSICAS
Las funciones lógicas básicas son aquellas que realizan una operación combinacional
específica, enseguida se describen brevemente las funciones de las funciones:
AND: Es la multiplicación lógica de n bits.
OR: Hace la suma lógica de n bits.
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
NOT: Su función es negar las entradas que se le mandan, si su entrada es ‘1’ lo cambia a
‘0’ o viceversa en la salida de la función.
XOR: Esta función realiza las comparaciones entre palabras de n bits y si son iguales
arroja un resultado igual a ‘0’, de lo contrario manda un ‘1’.
XNOR: Es una XOR negada y arroja una salida ‘1’ al tener dos palabras de n bits son
iguales.
NAND: Es la función AND negada.
NOR: Es una OR negada.
Nota: al negar funciones como la OR o AND no significa que haga operaciones contrarias,
sino que en vez de arrojar ‘1’ arroja ‘0’ y viceversa.
CONMUTADORES
Los circuitos conmutadores son los primeros circuitos de mediana escala de
Integración que son cubiertos en un curso de electrónica digital. Los multiplexores
permiten seleccionar un conjunto de entradas a una salida, mientras que los demultiplexores
direccionan una sola entrada hacia un conjunto de salidas, mediante señales de control.
SUMADOR
El sumador binario completo de n bits se basa en el sumador binario completo de 1 bit. Su
gráfico a continuación:
Fig.2 Sumador completo
El sumador completo de 4 bits es una concatenación de 4 sumadores binarios
completos de 1 bit, como se muestra en el gráfico inferior. La concatenación se realiza a
través de los terminales de acarreo saliente (Cin) y acarreo entrante (Cout)
El sumador que se muestra suma dos números binarios de 4 bits cada uno.
A = A3A2A1A0 y B = B3B2B1B0, entonces la suma será S = Cout3S3S2S1S0
El bit menos significativo en los dos sumandos A y B es Ao y Bo y el bit más
significativo es A3 y B3.
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Fig.3 Forma en que realiza la operación Fig.4 Bloques de un sumador completo de 4 bits
interna un sumador completo
La suma se inicia en el sumador completo 0 (el inferior) con las suma de Ao y Bo, si
esta suma tuviese acarreo (Cout=1) este pasaría al sumador 1, y así sucesivamente hasta
llegar al sumador 3 en la parte superior del gráfico.
Si el sumador superior tiene acarreo ("1"), éste se refleja en la suma al lado
izquierdo de la sumatoria final. El acarreo entrante inferior no se conecta.
RESTADOR
Para la operación de las restas, todos estamos acostumbrados desde los estudios primarios a
utilizar el concepto de “préstamo”, el cual en los sistemas electrónicos es muy difícil
llevarlo a cabo, por lo que la operación aritmética de la resta se implanta mediante un
método algo más complicado para el razonamiento y consiste en realizar un complemento
al sustraendo para posteriormente utilizar la operación de la suma como estamos
habitualmente a realizarla, y de esta manera obtener el resultado de la resta.
El complemento es empleado básicamente en los microprocesadores de las
computadoras con el fin de simplificar tanto las operaciones de sustracción, así como
también en ciertas manipulaciones lógicas que de los valores numéricos tienen que hacerse,
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
debe tomarse en cuenta que para cada sistema de base “n” existe tan solo dos tipos de
complemento:
1.- Complemento de n
2.- Complemento de (n-1)
De lo dicho anteriormente y si consideramos la base numérica que empleamos de
manera natural (base 10), se tienen los complementos de 10 y 9 para números decimales,
mientras que para una base binaria (base 2) los complementos serán de 2 y 1.
Partiendo del conocimiento que se tiene para realizar operaciones en los sistemas
digitales, los números deben estar expresados en base binaria, es oportuno mencionar que
se emplea el complemento a 2 por ser éste el que menos complicaciones presenta.
Una vez que sabemos qué es un complemento y cómo se realiza, pasemos a revisar cuál es
el algoritmo a seguirse para una sustracción con complemento a 2 de números binarios.
Dada una resta como la siguiente:
1) Debemos obtener el complemento a 2 del Sustraendo.
2) Hay que sumar el Minuendo con el valor del Sustraendo complementado a 2.
3) Se debe verificar el resultado del paso (2) y de acuerdo con el acarreo final hay
que tomar una de las siguientes decisiones.
o 3.1 - Si se presenta un acarreo final, se descarta y se toma el valor de la
operación como el residuo de la resta.
o 3.2 - Si no se presenta un acarreo final, se toma el complemento a 2 del
valor resultante de la operación como el residuo de la resta y se agrega un
signo negativo.
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I. Fig.5 Diagrama lógico del restador completo
COMPARADOR
Una actividad común en el diseño de sistemas digitales es comparar dos palabras de n bits,
y producir una indicación si son iguales o si uno es más grande que otro. La OR-exclusiva
es un factor muy importante dentro de un comparador ya que produce un 1 si las dos
entradas (de 1 bit) son diferentes, en caso contrario emite un 0, como se muestra en la
figura 6.
Fig.6 Tabla de verdad de una compuerta XOR
Los números de “n” bits son distintos si cualquiera de los pares de entrada son
distintos. El circuito de la figura 7 muestra un comparador de 4 bits utilizando compuertas
XNOR y una AND. La salida de la AND es 1 si los números son iguales, pero si cualquier
par es diferente, será suficiente para llevar a la AND a un valor de 0
Estos comparadores pueden extenderse a cualquier numero de bits (comparadores
de 2 entradas y cada entrada de “n” bits).
Fig.7 Comparador de 4 bits
Un comparador es un circuito lógico combinacional. Para construir un comparador
de 4 bits que indicara; igual a, mayor que y menor que, tendremos que seguir un proceso
de diseño digital, como sigue.
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Diagrama a bloques: Aquí se definen las variables booleanas de entrada y
salida como se muestra en la figura 8, las variables de entrada son A, B, cada
una de 4 bits. Las salidas son de 1 bit, los cuales indicaran con un 1 si las
dos cantidades son iguales, o cual es mayor que la otra.
Fig.8 Diagrama a bloques de un comparador de 2 bits
Construirlo mediante compuertas lógicas: Es un método muy arcaico pero es
bueno para el razonamiento lógico, se podría trabajar hasta el nivel de
simulación.
Fig.9 Diagrama de un comparador de 4 bits
Con ayuda del programa “multisim” se procedió a simular este circuito y el
resultado es el siguiente:
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Fig.10 Simulación del comparador
Desarrollo: Mediante la implementación de diagramas se llevaron a cabo los
circuitos que están descritos en los siguientes bloques:
Multiplexor y funciones lógicas.
Para optimizar el uso de switch, cables, entre otros componentes se
utilizaron compuertas lógicas básicas y un multiplexor. El diagrama se muestra en la
figura 11.
Fig.11 Salidas de funciones lógicas a través de un MUX 8 a 1
Ya que solo se realizan funciones básicas consideramos que no era necesario
implementar 4 bits dentro de estas funciones sino solo 2 que son los necesarios para realizar
la mayoría de las funciones.
A
B
V15 V
A=B
A>B
A<B
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Sumador /Restador
Para el sumador restador el diagrama utilizado fue el siguiente:
Fig.12 Diagrama de un sumador restador
Fig.13 Simulación de un sumador restador completo
U1A
74LS86D
U2A
74LS86D
U3A
74LS08D
U4A
74LS08D
U5A
74LS32D
s
5 V
8
7
3
2
U6A
74LS86D
U7A
74LS86D
U8A
74LS08D
U9A
74LS08D
U10A
74LS32D
s1
5 V
13
12
11
10
U11A
74LS86D
U12A
74LS86D
U13A
74LS08D
U14A
74LS08D
U15A
74LS32D
s2
5 V
21
20
19
18
U16A
74LS86D
U17A
74LS86D
U18A
74LS08D
U19A
74LS08D
U20A
74LS32D
s3
5 V
c3
5 V
30
29
28
27
26
V15 V
0
U21A
74LS86D
U22A
74LS86D
U23A
74LS86D
U24A
74LS86D
A
B
J3
Key = G
1
34
35
36
37
5
16
24
32
15
23
31
6
17
25
33
4
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Resultado final:
Fig. 14 ALU construida mediante circuitos integrados
Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.
Electrónica digital I.
Conclusiones:
Garcia Téllez Omar Christian
La unidad lógica aritmética es un elemento muy importante para la implementación
de un CPU, ya que es la encargada de realizar operaciones. Este proyecto es de gran ayuda
para entender a producir diferentes operaciones aritméticas y funciones lógicas mediante el
uso de una gran variedad de funciones lógicas.
Cerda Solórzano Daniel
La múltiple interconexión de la compuertas reduce el voltaje que se requiere en la
entrada de las compuertas lógicas los cual afecta la salida que se espera. Con este proyecto
conocí el funcionamiento básico de una unidad lógica aritmética y lo complejo que es
realizar operaciones aritméticas y lógicas aunque sea las operaciones más simples.
Corona Meléndez José Luis
A través de diferentes compuertas lógicas, se pudo desarrollar una ALU (Unidad
Lógica Aritmética), la cual tiene como propósito el realizar diferentes operaciones, tanto
aritméticas como lógicas. Gracias a ello, pude implementar lo aprendido en el curso, y ver
de forma tangible cómo funciona. La ALU es un elemento fundamental en cualquier
dispositivo que realice cómputo.
REFERENCIAS:
Información obtenida de algunos documentos de internet
LIBRO:
Electrónica Digital Y Lógica Programable, ROMERO TRONCOSO, René de Jesús
1° Edición, Universidad de Guanajuato; Capitulo 5: 151-195
Stephen Brown, Zwonko Vranesivc Mc Graw Hill.
Arquitectura de Computadoras MorrisMano