Practica Alu 1 Byte

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CARRERA: INGENIERÍA INFORMÁTICA ALUMNO: RUIZ BARAJAS LUIS DIEGO ASIGNATUR

Views 140 Downloads 60 File size 529KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC CARRERA: INGENIERÍA INFORMÁTICA ALUMNO: RUIZ BARAJAS LUIS DIEGO ASIGNATURA: ARQUITECTURA DE COMPUTADORAS PRÁCTICA 4: “ALU DE 8 BITS (1 BYTE) CON PROTEUS” PROFESOR: DERLIS HERNÁNDEZ LARA GRUPO: 15401 TURNO: MATUTINO

Introducción: En electrónica un sumador es un circuito lógico que calcula la operación suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmético lógica (ALU). Generalmente realizan las operaciones aritméticas en código binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema binario. En los casos en los que se esté empleando un complemento a dos para representar números negativos el sumador se convertirá en un sumador- sustractor. Las entradas son A, B, Cin que son las entradas de bits A y B, y Cin es la entrada de acarreo. Por otra parte, la salida es S y Cout es la salida de acarreo. OBJETIVO: En este punto veremos como por medio de compuertas lógicas y multiplexores, se pueden implementar las operaciones aritméticas básicas de una ALU. Esencialmente en este punto implementaremos la aritmética de suma entera sin signo, eslabón funcional que como vimos en los puntos anteriores, permite implementar las operaciones de suma, resta y multiplicación en varios esquemas de codificación. En primera instancia se verá una implementación básica, para luego introducir algunas optimizaciones de diseño que mejoran su prestación, medida como el tiempo requerido para generar una salida estable a partir de las entradas y la señalización de control. Entendiéndose que este último punto es proporcional al número de compuertas lógicas por las cuales deben propagarse las señales de entrada para generar la salida. MATERIALES Y EQUIPO: HADWARE: ➢ ➢ ➢ ➢ ➢

Disco Duro Memoria RAM Monitor Teclado Mouse

SOFTWARE: ➢ ➢ ➢ ➢

Proteus Sistema Operativo Word Google Chrome

MARCO TEÓRICO: circuito Lógico: Es cualquier circuito que se comporta de acuerdo con un conjunto de reglas lógicas. Maneja la información en forma de"1" y "0", dos niveles lógicos de voltaje fijos. "1" nivel alto o "high" y "0"nivel bajo o "low". Los circuitos lógicos están compuestos por elementos digitales como las compuertas lógicas, que son una serie de condiciones que ayudan a manejar el flujo de la información. Álgebra de Boole: En informática y matemáticas, es una estructura algebraica que esquematiza las operaciones lógicas Y, O, NO, y SI (AND OR, NOT, XOR) Medio Sumador: Un medio sumador es capaz y sumar dos datos de un solo bit y producir un bit de acarreo de salida. Como s muestra en la imagen, como se muestra en la figura uno.

Sumadores:

Figura 1. Medio Sumador

De lo cual es evidente la expresión lógica para la salida C = A.B y S = A (+) B. Con lo cual, la implementación del medio sumador es como se muestra en la figura dos.

Figura 2. Sumadores Medio restador: Un medio restador es un circuito combinacional que sustrae dos bits y produce su diferencia. También tiene una salida para especificar si se ha tomado un 1. Se designa el bit minuendo por x y el bit sustraendo mediante y. Para llevar a cabo x – y, tienen que verificarse las magnitudes relativas de x y y. Si x > y se tienen tres posibilidades; 0 – 0 = 0, 1 – 0 = 1 y, 1 – 1 = 0. El resultado se denomina bit de diferencia. Si x < y. tenemos 0 – 1 y es necesario tomar un 1 de la siguiente etapa más alta. El 1 que se toma de la siguiente etapa más alta añade 2 al bit minuendo. El medio restador requiere dos salidas. Una salida genera la diferencia y se denotará por el símbolo D. La segunda salida, denotada B para lo que se toma, genera la señal binaria que informa a la siguiente etapa que se ha tomado un 1. El circuito lógico del medio restador se muestra en la figura tres.

Figura 3. Circuito lógico medio sumador Restadores: Un restador completo es un circuito combinacional que lleva a cabo una sustracción entre dos bits, tomando en cuenta en un 1 se ha tomado por una etapa significativa más baja. Este circuito tiene tres entrada y dos salidas. Las tres entradas x, y y z, denotan al minuendo, sustraendo y a la toma previa, respectivamente. Las dos salidas, D y B, representan la diferencia y la salida tomada, respectivamente. En la figura 4 se muestra el circuito de un restador.

Figura 4. Circuito lógico restador Multiplexor El multiplexor, también conocido de manera acortada como “MUX“, es un circuito lógico combinacional diseñado para conmutar una o varias líneas de entrada en una sola línea de salida común mediante la aplicación de una lógica de control. Los multiplexores funcionan como conmutadores de acción muy rápida que gestionan varias líneas de entrada llamadas “canales” y conectan una de estas entradas a la línea de salida en función de la señal de control. En la figura cuatro se muestra el funcionamiento de un multiplexor.

Figura 4. Funcionamiento multiplexor De este funcionamiento surge la siguiente tabla de verdad que se muestra en la figura cinco.

Figura 5. Tabla de verdad multiplexor Como se puede observar, el comportamiento de la figura 5 es igual al de la tabla de verdad xor, así que se puede sustituir este componente. En la figura seis, se muestra el esquema básico de un multiplexor de 4 entradas y una salida, que denominaremos multiplexor 4x1 o de forma abreviada MUX 4x1.

Figura 6. Esquema básico multiplexor

Las compuertas por utilizar en este diseño son los que se muestran a continuación en la figura siete con sus respectivas tablas de verdad

Figura 7. Tablas de verdad and, or e inverter Con ellos construiremos una ALU que implemente suma entera sin signo, suma y resta utilizando codificación complemento dos y las operaciones lógicas AND y OR sobre palabras de largo n. Para esto comenzaremos construyendo una ALU de 1–bit, para por medio de su concatenación lograr una ALU de n-bits. DESARROLLO: Practica: La finalidad primordial de la ALU consiste en aceptar datos binarios que están almacenados en la memoria y ejecutar operaciones aritméticas con estos datos, de acuerdo con instrucciones que provienen de la unidad de control. La unidad aritmética lógica contiene cuando menos dos registros de flip-flops: el registro B y el registro acumulador. También contiene lógica combinatoria, que efectúa las operaciones aritméticas sobre los números binarios que están almacenados en el registro B y el acumulador. ALU DE 1 BIT En primera instancia se implementa una ALU que lleve a cabo las operaciones lógicas and y or, como se muestra en la figura ocho.

Figura 8. Alu de 1 bit con operaciones lógicas and y or Este esquema elemental, con dos compuertas y un multiplexor, permite establecer algunas consideraciones extensibles a diseños más complejos. Se distinguen: • las líneas de datos de entrada y salida (a,b,Result), • la lógica combinacional que implementan las operaciones lógicas y aritméticas (en este caso las compuertas and, or),

• la lógica de control interno (en este caso el mux) • las líneas de control que determinan cual es la operación que debe implementar la ALU (Operation). Implementación de Suma en 1 – bit La implementación de las operaciones aritméticas a este nivel implica analizar el bloque que implementa la suma en 1 – bit. La idea es que la concatenación de estos bloques permita generalizar la suma entera sin signo en n-bit. Por lo tanto, se debe llevar en consideración la señal de carry de entrada (Cin), acarreo generado en la etapa de suma previa, y también la señal carry de salida (Cout), cuyo destino es el bloque que implementa la suma del siguiente bit más significativo. Del punto de vista de entrada-salida este bloque se ve en la figura nueve.

Figura 9. Entrada y salida en bloque de 1 bit El comportamiento de un sumador completo de 1 bit se simplifica a la siguiente tabla de verdad: Ci A B CO S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 De la tabla de verdad se obtienen las siguientes ecuaciones Booleanas: S = Ci’ A’B + Ci’ A B’ + Ci A’ B’+ Ci A B Co = Ci’ A B + Ci A’B + Ci A B’ + Ci A B Simplificando por medio de algebra Booleana: Para S: S = Ci’ (A’B + A B’)+ Ci (A’B’ + A B) S = Ci’ (A(+)B) + Ci (A(+)B)’ S = Ci (+) A (+) B Para Co: Co = A B (Ci’ + Ci) + Ci (A’B + A B’) Co= A B + Ci (A(+)B)

Por lo cual en la figura diez se representa el circuito lógico

Figura 10. Circuito lógico Desarrollo de circuito de resta La resta o sustracción binaria es otra de las operaciones aritméticas comúnmente realizadas en las computadoras digitales, la cual se basa en las siguientes reglas:

TABLA DE VERDAD MINUENDO A

SUBSTRAENDO B

RESTA R

PRÉSTAMO P0

0 0 1 1

0 1 0 1

0 1 1 0

0 1 0 0

Analizando la tabla de verdad de la resta, se observa que la operación resta al igual que la suma, se realiza por medio de la xor. Si no se considera el préstamo de entrada, entonces se tendrá el semirrestador (S-R): P (A.B)= A (+) B P = A’B De las ecuaciones se obtiene el circuito y su diagrama de bloques como se ve en la figura once.

Figura 11. Circuito semirrestador y diagrama de bloque xor La tabla de verdad para el restador completo (R. C) es aquella que considera como una tercera entrada al préstamo de entrada:

TABLA DE VERDAD DEC

MINUENDO A

SUBSTRAENDO B

PRÉSTAMO DE ENTRADA Pe

RESTA R

PRÉSTAMO DE SALIDA P0

0 1 2 3 4 5 6 7

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 1 0 1 0 0 1

0 1 1 1 0 0 0 1

Por medio de la tabla de verdad se hace el circuito completo y su diagrama por bloques como se muestra en la figura 12.

Figura 12. Circuito restador completo y diagrama de bloque xor Con todo este procedimiento se tiene que juntar la parte del circuito lógico de and y or, con los de la suma y la resta, para poder realizar la unidad lógica aritmética, con su respectivo multiplexor que se verán representados por dos logic states El circuito final para una unidad aritmética lógica de 1 bit se ve representada en la figura 13.

Figura 13. Circuito lógico de ALU 1 bit Este circuito se encapsula y nos queda un bloque de 1 bit, para representar los 8 bits necesitaremos de 8 bloques, como el que se puede ver en la figura 14.

Figura 14. Bloque de ALU 1 bit

Comportamiento del circuito • Las salidas son los Leds nombrados out del 0-7. •

Las entradas son los interruptores nombrados a y b del 0-7.



Para seleccionar la operación a realizar se muestra la siguiente tabla de verdad que corresponde al multiplexor con dos entradas de selección O y O’. SELECCIÓN

O

O’

OPERACIÓN

0

0

AND

0

1

OR

1

0

1

1

SUMA Y RESTA ______



Para realizar una resta, se deben de activar los interruptores nombrados “invert”, “Cin “y la operación suma, además introducir primero el dato positivo mediante los interruptores nombrados con “a” y después el dato negativo con los interruptores nombrados con “b”.



Los datos se leen e introducen de forma normal de derecha a izquierda.



Se adjunta el circuito de la ALU de un bit, el cual se agrupó en un solo bloque para su mejor manejo, en esta se encuentran dos multiplexores, un sumador completo y las compuertas AND y OR. El circuito completo de 8 bits se ve en la figura 15

Figura 15. Circuito de ALU 8 bits Captura de resultados AND Para la representación and se pondrá el circuito en 0 y 0. La salida indica que solo si las dos entradas están en verdadero, arrojará ese valor, de otra manera será falso. Valor 1 y 1 en and se ve en la figura 16

Figura 16. Valor verdadero en and

El ingreso de 0 y 0 o que solo de uno de ellos cambien a verdadero arrojará el valor falso como se ve en la figura 17.

Figura 17. Valor falso en and OR Para representar la compuerta or solo que los dos valores estén en falso este dará ese resultado, con uno o los dos en verdadero será ese el resultado Valor en 0 y 0 representado en la figura 18.

Figura 18. Valor falso en or Para representar un verdadero se representa en la figura 19.

Figura 19. Valor verdadero en or SUMA Se representarán sumas binarias, desde el 1 hasta el 128, en binario sería 00000000 y 11111111 Se representará una suma de 147 (10010011) + 43 (00101011) = 190 (10111110)

Se puede ver el procedimiento en la figura 20.

Figura 20. Suma Binaria Resta Se representará una resta binaria, ingresando el valor más alto por la derecha y el menor en la izquierda, se vera que es una resta por que enciende el CO1 que representa un signo negativo de 91 (01011011) – 29 (00011101) = 62 (100111110) Se puede ver representado en la figura 21

Figura 21. Resta Binaria CONCLUSIONES: Se desarrollaron los conocimientos y habilidades para representar un circuito lógico que haga la función de una unidad lógica aritmética básica con 4 operaciones 2 aritméticas (suma y resta) y 2 lógicas (compuertas and y or) implementadas primero en un bloque de 1 bit para que después se pueda hacer de 8 bits. REFERENCIAS: Articulo (http://www.educarte.com.uy/envios/entrega2012set/Reparacion_Unidad %20aritmetico%20logica.pdf) Página de internet https://repositoriotec.tec.ac.cr/bitstream/handle/2238/7063/disenoimplementacion-unidad-aritmetico-logica.pdf?sequence=1&isAllowed=y Libro: Capítulo 4, aritmética para computadoras y como construir una alu