unidad lógica aritmética (reporte final)

11
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".

Upload: christian-tellez

Post on 08-Dec-2015

17 views

Category:

Documents


2 download

DESCRIPTION

electronica digital_ALU

TRANSCRIPT

Page 1: Unidad Lógica Aritmética (REPORTE FINAL)

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".

Page 2: Unidad Lógica Aritmética (REPORTE FINAL)

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.

Page 3: Unidad Lógica Aritmética (REPORTE FINAL)

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.

Page 4: Unidad Lógica Aritmética (REPORTE FINAL)

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,

Page 5: Unidad Lógica Aritmética (REPORTE FINAL)

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.

Page 6: Unidad Lógica Aritmética (REPORTE FINAL)

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.

Page 7: Unidad Lógica Aritmética (REPORTE FINAL)

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:

Page 8: Unidad Lógica Aritmética (REPORTE FINAL)

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

Page 9: Unidad Lógica Aritmética (REPORTE FINAL)

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

Page 10: Unidad Lógica Aritmética (REPORTE FINAL)

Universidad de Guanajuato Campus Irapuato-Salamanca sede en Yuriria.

Electrónica digital I.

Resultado final:

Fig. 14 ALU construida mediante circuitos integrados

Page 11: Unidad Lógica Aritmética (REPORTE FINAL)

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