TÍTULO OPERACIONES ARITMÉTICAS BINARIAS
OBJETIVO: Familiarizar al estudiante con la utilización y funcionamiento de circuitos lógicos combinacionales que realizan operaciones aritméticas binarias.
TEORÍA: Todas las operaciones matemáticas (sumas, restas, divisiones, etc.) que realiza la computadora están basadas en la aritmética binaria. SUMA BINARIA La aritmética binaria es muy similar a la aritmética decimal. Por ejemplo, para realizar una suma binaria hay que tener en cuenta la siguiente tabla:
Ejemplo 1: Para sumar los números binarios 100102 y 1102 se puede escribir:
Para comprobar si la suma es correcta, podemos convertir los números binarios a base 10. Así pues, aplicando el Teorema el Teorema Fundamental de la Numeración (TFN) obtendremos: 1º Sumando → 100102 = 1∙24 0∙23 0∙22 1∙21 0∙20 = 16 0 0 2 0 = 1810 2º Sumando → 1102 = 1∙22 1∙21 0∙20 = 4 2 0 = 610 Resultado → 110002 = 1∙24 1∙23 0∙22 0∙21 0∙20 = 16 8 0 0 0 = 2410
y, efectivamente: 1810 + 610 = 2410 En forma similar a como realizamos las sumas en decimal, para realizarlas en otros sistemas es necesario aprender de memoria algunas sumas básicas, especialmente las sumas de dígito con dígito; en decimal estas son 100 sumas (tablas de sumar), mientras que en binario son sólo 4, puesto que en binario sólo hay dos dígitos:
Cuando la tabla anterior se usa en una suma de cantidades de varios bits, se suma columna por columna co lumna de LSB a MSB y si aparece el caso 1+1, se anota el 0 y se acarrea el 1 a la siguiente columna.
RESTA BINARIA Si se quiere realizar una resta binaria se debe considerar la siguiente tabla:
Ejemplo 2: Para restar los números binarios 1010012 y 101 12 escribiremos:
El algoritmo de la resta, en binario, es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. MULTIPLICACIÓN BINARIA Para efectuar una multiplicación binaria se tiene que tener en cuenta la siguiente tabla:
Ejemplo 3: Para realizar el producto de los números binarios 101012 y 1012 hay que realizar los siguientes cálculos:
DIVISIÓN BINARIA En cuanto a las divisiones binarias, las reglas también son las mismas que en el Sistema Decimal, con la ventaja de que en binario sólo se usan dos dígitos. Ejemplo 4: Para dividir 1100102 entre 102 los cálculos son:
CUESTIONARIO: 1. Consulte el funcionamiento básico y características generales de los circuitos integrados: 74264, 74182, 74282, 74882, 74181. Indique en resumen las aplicaciones de dichos circuitos integrados.
74264 (Look-ahead carry generators for counters) Este dispositivo fue diseñado para realizar un anticipado carry al otro lado de cualquier número de n-bit, así incrementa la frecuencia del sistema de reloj. Un carry habilitado CE, y una salida carry RCOA y RCOB son proporcionados para conexión en cascada. El contador puede ser usado como un carry activo ALTO o activo BAJO. Para el carry activo alto, CE está activado ALTO, las entradas A y salidas RCOA son usadas, y las entradas B son conectadas a nivel lógico BAJO. Para el carry activo BAJO, CE es activado BAJO, las entradas B y salidas RCOB son usadas, y las entradas A son conectadas a nivel lógico ALTO. Características
Voltage Vcc: Min: 4.5 V Máx.: 5.5 V Corriente: Salida en alto: -2 mA. Salida en bajo: 20 mA. Rango de temperatura de operación: 0ºc – 25ºc. 74182 Los SN54182, SN54S182, SN74182, y SN74S182 son de gran velocidad, look-ahead, generadores de carry, capaz de anticipar un carry por cuatro sumadores binarios o grupo de sumadores. Ellos son conectables en cascada para realizar un look-ahead completo por los sumadores de n-bits. Cuando son usados junto con la ALU 181, LS181, o S181, éste generador proporciona un carry de gran velocidad y capacidad de look-ahead para cualquier tamaño de palabra. Multiniveles de adelanto al Funcionamiento de la alta velocidad de la Unidad Aritmética por encima de las largas longitudes de los números ingresados. Características
Voltage Vcc:
Min: 4.5 V Máx.: 5.5 V Corriente: Salida en alto: -1 mA. Salida en bajo: 20 mA. Rango de temperatura de operación: 0ºc – 70ºc. Descripción Funcional
Los F182 aceptan a cuatro pares de señales carry propagadores activo BAJO (P0-P3) y Carry Generadores (G0-G3) y un carry de entrada activo ALTO (Cn) y proporciona anticipado activo-alto carry (Cn + x, Cn + y, Cn + z) por cuatro grupos de sumadoras binarias. Los F182 también tienen Carry Propagadores activo BAJO (P) y Carry Generador (G) de salida que puede usarse para los niveles extensos de adelanto. Las ecuaciones lógicas proporcionadas a las salidas son: Cn + x = G0 + P0Cn Cn + y = G1 + P1G0 + P1P0Cn Cn + z = G2 + P2G1 + P2P1G0 + P2P1P0Cn G = G3 + P3G2 + P3P2G1 + P3P2P1G0 P = P 3 P 2 P 1P 0 También, los F182 pueden usarse con ALUs binarios de entradas de modo activo BAJO o activo-ALTO. 74282(Look-Ahead Carry Generator con selector de entradas Carry) Este es capaz de anticipar un carry a un grupo de 4 bits. Realizan conexión en cascada para un número de n-bits. Aquí la entrada carry es CnA, CnB, sus complementos CnA y CnB. Con una ALU, este generador provee una lata velocidad para el adelanto de carry para palabras mayores. Y las ecuaciones lógicas son: Cn + x = G0 + P0Cn Cn + y = G1 + P1G0 + P1P0Cn Cn + z = G2 + P2G1 + P2P1G0 + P2P1P0Cn G = G3 + P3G2 + P3P2G1 + P3P2P1G0 P = P 3 P 2 P 1P 0 Características
Voltage Vcc: Min: 4.5 V Máx.: 5.5 V Corriente: Salida en alto: -2 mA. Salida en bajo: 20 mA. Rango de temperatura de operación: 0ºc – 70ºc. 74882 (32-bit Look-Ahead Carry Generator)
Este es capaz de anticipar un carry a un grupo de ocho de 4-bits permitiendo el diseño de implementar una anticipación para una ALU de 32-bit, con un simple paquete o haciendo conexión cascada para n-bit. Las ecuaciones lógicas son: Cn + 8 = G1 + P1G0 + P1P0Cn Cn + 16 = G3 + P3G2 + P3P2G1 + P3P2P3G0 + P3P2P1P0Cn Cn + 24 = G5 + P5G4+P5P4G3 + P5P4P3G2 + P5P4P3P2G1 + P5P4P3P2P1G0 + P5P4P3P2P1P0Cn Cn + 32 = G7 + P7G6 + P7P6G5 + P7P6P5G4 + P7P6P5P4G3 + P7P6P5P4P3G2 + P7P6P5P4P3P2G1 + P7P6P5P4P3P2P1G0 + P7P6P5P4P3P2P1P0Cn Características
Voltage Vcc: Min: 4.5 V Máx.: 5.5 V Corriente: Salida en alto: -2 mA. Salida en bajo: 20 mA. Rango de temperatura de operación: 0ºc – 70ºc. 74181 Las ALU MSI tienen operandos de4-bits y de tres a cinco entradas de selección de operaciones, permitiendo la realización de hasta 32 funciones diferentes. La siguiente figura muestra la distribución de pines de la ALU 74LS181 de 4-bits. El tipo de operación que realiza el CI-74181 se selecciona mediante la entrada M y las entradas de selección [S0, S1, S2, S3] como se indica en la siguiente tabla. Obsérvese que los identificadores A, B y F en la tabla se refieren a palabras de 4-bits [A0, A1, A2, A3],[B0, B1, B2, B3] y [F0, F1, F2, F3] y los símbolos. y + se refieren a las operaciones AND y OR lógicas. La entrada M del ‘181 selecciona entre las operaciones aritméticas y ló gicas. Cuando M = 1, se
seleccionan las operaciones lógicas y cada salida Fi es función sólo de las correspondientes entradas de datos, Ai y Bi [bit-a-bit]. No se propagan los excesos [carry] entre las etapas y se ignora la entrada CN [carry in]. Las entradas [S0, S1, S2, S3] seleccionan una operación lógica particular; puede seleccionarse cualquiera de las 16 operaciones combinacionales lógicas diferentes sobre dos variables.
Tabla de Funciones realizadas por la ALU 74LS181 de 4-bits. Cuando M = O, se seleccionan las operaciones aritméticas, se propagan los excesos entre las etapas y se usa el Ci como una entrada de exceso a la etapa más significante. Para operaciones de más de 4-bits, pueden conectarse varias ALU en cascada, con el exceso de salida [Co] de cada ALU conectado al exceso de entrada [Ci] de la etapa siguiente más significante. Las mismas señales de selección de función [M, S3, S2, S1, S0+ se aplican a todos los ‘181 en la cascada.
Para realizar una suma en complemento a dos, se usa [S3, S2 , S1, S0+ para seleccionar la operación “A más B más Ci”. La entrada Ci de la ALU menos significante está normalmente en 0 durante las
operaciones de suma. Para realizar una resta en complemento a dos, se usa S3 y S0 para seleccionar la operación A menos B menos 1 más Ci. En este caso la entrada Ci de la ALU menos significante está en 1, ya que Ci actúa como el complemento del carry durante la resta. El ‘181 proporciona otras operaciones aritméticas, como “A menos 1 más Ci”, que son útiles en algunas
aplicaciones [por ejemplo, decrementar en 1]. También proporciona muchas operaciones aritméticas raras, como “A.B’ más (A B’) más Ci”, que casi nunca se usan en la práctica. Obsérvese que las entradas del operando [A3,A2,A1,A0] y [B3,B2,B1,B0] y las salidas de la función *F3,F2,F1,F0+ del ‘181 son activas
bajas. El ‘181 también puede usarse con las entradas de los operandos y lassalidas de la función en activa alta.
En este caso, debe construirse una versión diferente de la tabla de la función.Cuando M = 1, las operaciones lógicas aún se realizan, pero para una combinación de entrada dada en [S3, S2, S1, S0], la función obtenida es precisamente la dual de la listada en la tabla anterior. Cuando M = O, se realizan las operaciones aritméticas, pero la tabla de función es de nuevo diferente. 2. Consulte el funcionamiento básico y características generales del circuito integrado 74385. Indique en resumen las aplicaciones de dicho circuito integrado.
74385 Los LS385 son un cuádruples sumadores/restadores de propósito general y son particularmente útiles como una parte complementaria del SN54LS384/SN74LS384 multiplicador en complemento de dos. Los LS385 contienen cuatro elementos sumadores/restadores independientes con reloj y clear comunes. Este circuito integrado contiene cuatro independientes sumadores / restador con reloj borrador común.
Cada uno de estos salidas (Σ) son reflejadas respectivamente de las entradas A y B controladas por el
control S/ A . Cuando S/ A es ALTO la función Σ es A menos B. Cuando S/ A es BAJO la función Σ es A mas B. Características
Voltaje Vcc: Min: 4.75 V Máx.: 5.25 V Corriente: Salida en alto: -400 uA. Salida en bajo: 8 mA. Frecuencia del reloj: 0 – 30 MHz Tiempo de retardo: 3 ns Tiempo de instalación: 10 ns Rango de temperatura de operación: 0ºc – 70ºc. 3. Consulte el funcionamiento básico y características generales de los circuitos integrados: 74261, 74284, 74285, 74384. Indique en resumen las aplicaciones de dichos circuitos integrados.
74261 Multiplicador Binario 2Bits por 4Bits El SN54/74261 es un circuito integrado que realiza la multiplicación binaria en forma de complemento de dos, dos bits cada vez. Características
Voltaje Vcc: Min: 4.75 V Máx.: 5.25 V Corriente: Salida en alto: -400 uA. Salida en bajo: 8 mA Tiempo de retardo: menor a 0 ns Tiempo de instalación: menor a 15 y 17 ns Rango de temperatura de operación: 0ºc – 70ºc. Tabla de Función
INPUTS
OUTPUTS
LATCH MULTIPLIER CONTROL M2 M1 M0
Q4
Q3
Q2
Q1
Q0
L
X
X
X
Q 4o
Q3o
Q2o
Q1o
Q0o
H
L
L
L
H
L
L
L
L
H
L
L
H
B4
B4
B3
B2
B1
H
L
H
L
B4
B4
B3
B2
B1
H
L
H
H
B4
B3
B2
B1
B0
H
H
L
L
B4
B3
B2
B1
B0
H
H
L
H
B4
B4
B3
B2
B1
H
H
H
L
B4
B4
B2
H
H
H
H
H
L
B3 L
B1 L
L
Circuito Integrado 74284 y 74285 El SN54/74284 y SN54/74285 son multiplicadores binarios de 4 por 4 bits paralelos. Generan el producto de 8 bits en aproximadamente 40 ns. Características
Voltaje Vcc: Min: 4.75 V Máx.: 5.25 V Corriente: Salida en bajo: 16 nA Rango de temperatura de operación: 0ºc – 70ºc. Tabla de Función
INPUT
OUTPUT Co=0
C
A1 B1 A2 B2 1 A3 B3 A4 B4 3 0 0 0 0 0
2
0
C=0 Co=1 C=1 C2 1 2 C2 C4 3 4 C4 0 1 0 0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
0
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1
0
0
0
1
1
1
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
1
0
0
0
1
1
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
1
1
1
4
Circuito Integrado 74384
8-bit por 1-bit Multiplicación a Complemento Dos. Este diseñado para multiplicaciones de dos números en complemento dos y produce un producto en la forma complemento dos sin corrección externa. Este dispositivo acepta un multiplicando de 8-bit (entradas X) y guarda estos valores en 8 retardos internos. Estos retardos X son controlados por la entrada clear. Cuando la entrada clear es BAJO, los valores de X se borran para aceptar nuevos valores. El dato multiplicado es pasado a la entrada Y en una serie de corridas de bits. El bit menos significante primero. El producto es temporizado a la salida PROD, el menos significante primero. Tiene una entrada K par conexión en cascada. Características
Voltaje Vcc: Min: 4.75 V Máx.: 5.25 V Corriente: Salida en alto: -400 uA. Salida en bajo: 8 mA Rango de temperatura de operación: 0ºc – 70ºc.
4. Diseñar un circuito generador de paridad par, de 4 bits de entrada. Comprobar su funcionamiento a través de simulación en el programa computacional Proteus 7 Professional. Además consulte el funcionamiento básico y características generales del circuito integrado 74286.
D
C
B
A
F
0 0 0 0 0 0
0 0 0 0 1 1
0 0 1 1 0 0
0 1 0 1 0 1
1 0 0 1 0 1
0 0 1 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1 1 1
1 1 0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1 0 1
1 0 0 1 1 0 1 0 0 1
DC
00 01 11 10 00 1 1 01 1 1 11 1 1 10 1 1
BA
̅
5. Consulte el funcionamiento y la introducción a la programación de los Arreglos Lógicos Programables o PLA (Programable Logic Array). En base a esto dibuje un PLA de dos variables de entrada para tres funciones F1, F2 y F3.
Los dispositivos lógicos programables usados con mayor frecuencia para la implementación lógica son la PAL y la GAL. PAL es una denominación que originalmente utilizaba la compañía Monolithic Memories, Inc. Una PAL está formada por una matriz de puertas AND programable conectada a una matriz de puertas OR fija. Esta estructura permite implementar cualquier suma de productos 16gica con un número de variables definido. En la Figura se ilustra la estructura básica de una PAL para dos variables una entrada y una salida, aunque la mayoría de las PAL tiene muchas entradas y salidas. Como se sabe, una matriz programable es esencialmente una red de conductores ordenados en filas y columnas, con un fusible en cada punto de intersección.
Cada punto de intersección entre una fila y una columna se denomina celda y es el elemento programable de la PAL. Cada fila se conecta a la entrada de una puerta y cada columna a una variable de entrada o a su complemento. En función de la presencia o ausencia de las conexiones creadas por programación, se puede aplicar cualquier combinación de variables de entrada o sus complementos a una puerta para generar cualquier término producto que se desee. Implementación de una suma de productos
En su forma más sencilla, cada celda de una matriz AND básica está formada por un fusible que conecta una fila y una columna, como se representa en la Figura. Cuando se requiere la conexión entre una fila y una columna, el fusible queda intacto. Cuando dicha conexi6n no se requiere, el fusible se abre en el proceso de programación. En la Figura se muestra un ejemplo de una matriz programada para generar el producto AB en la salida de la puerta AND superior, el producto A B en la función AND del centro y el producto A B en la puerta AND inferior. Como puede verse los fusibles quedan intactos para conectar las variables deseadas, o sus complementos a las entradas apropiadas de las puertas AND. Los fusibles se funden en los casos que las variables o sus complementos no se utilizan en el producto que se desea obtener. La salida de la puerta OR proporciona la suma de productos.
X
AB A B A B
Símbolos simplificados
Vamos a ver como se representa un pequeño segmento de una PAL típica. Las PAL reales tienen muchas puertas AND y muchas puertas OR, además de otra circuitería, y son capaces de manejar muchas variables de entrada y sus complementos. Puesto que las PAL son circuitos integrados muy complejos, los fabricantes han adoptado una notación simplificada para eliminar los diagramas lógicos arrolladoramente complicados.
Buffers de entrada
Para evitar cargar con la gran cantidad de entradas de puertas AND a las que se pueden conectar una variable 0 su complemento, se añade un buffer a las variables de entrada de la PAL. Un buffer inversor genera el complemento de una variable de entrada. EI símbolo que representa el circuito buffer, el cual genera la variable y su complemento en sus salidas, se muestra en la Figura, donde la salida con el círculo corresponde a la variable complementada.
Puertas AND
Una matriz AND de una PAL típica tiene una cantidad extremadamente grande de líneas de interconexi6n, y cada puerta AND tiene entradas múltiples El diagrama lógico de una PAL muestra cada puerta AND, que realmente tiene varias entradas, utilizando una sola línea para representar a todas las líneas de entrada se indica en la Figura. Algunas veces, las líneas múltiples también se indican mediante una barra inclinada y el, numero de líneas, tal como se muestra en la puerta AND superior para el caso de cuatro líneas. Conexiones en una PAL
Para obtener un diagrama lógico l0 más sencillo posible los fusibles de una matriz AND programable se indican mediante una X en el de intersección si el fusible queda intacto, y no se indica nada si el fusible está fundido. Lógica combinacional de salida de una PAL
Existen varios tipos básicos de circuitos lógicos de salida para una PAL, que permiten configurar el dispositivo para una aplicación específica. En la Figura se muestran tres tipos básicos de lógica combinacional de salida con salidas de tres estados y la puerta OR asociada. Los tipos de lógica de salida de una PAL son: Salida combinacional. Esta salida se usa para una suma de productos y, usualmente, la salida puede ser activa a nivel ALTO 0 BAJO. Entrada/salida combinacional. Esta salida se usa cuando la función de salida debe realimentarse a una entrada de la matriz, 0 cuando el pin de E/S se usa solo como entrada.
Salida de polaridad programable. Esta salida se usa para seleccionar la función de salida o su complemento, programando la puerta OR-exclusiva para realizar la inversión o no. El fusible de la entrada de la puerta OR-exclusiva se funde en el caso de inversión, y queda intacto en el caso de no inversión. Para la realización de un sumador completo se tiene: Implantamos la suma de mintérminos de un sumador completo en un modelo a compuertas:
La implantación en un diagrama PLA es la siguiente:
El correspondiente en mintérminos para el sumador está determinado por:
f 1
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
f 2
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
Cada expresión contiene cuatro mintérminos, uno de los cuales es compartido. Podemos establecer una correspondencia entre los siete mintérminos distintos (compuertas AND de tres entradas) y una fila del PLA. Observe que a cada fila se le proporcionan las variables de entrada en forma verdadera y complementada, una de las cuales está conectada a la fila (indicado con un x en el punta de cruce) y la otra esta desconectada. Si se programan los puntos de cruce de manera apropiada, se puede lograr que la fila genere cualquier mintérmino deseado o, de manera más general, cualquier producto deseado de un máximo de tres variables. Por ejemplo, la primera fila del plano AND de la figura superior tiene conexiones con las entradas primarias x 1 , x 2 , x 3 y por ende genera el mintérmino:
m 5
x 1 x 2 x 3
La segunda fila tiene conexiones a x 1 , x 2 , x 3 , produciendo:
m 6
x 1 x 2 x 3
Cada una de las primeras siete filas del PLA representa un mintérmino m1: m7; no se requiere la última fila. Si pasamos al plano OR de la figura superior, observamos que la primera columna está conectada únicamente a las primeras cuatro filas y por lo tanto calcula la función de cuatro términos (acarreo).
f 1
m 5
m 6
m 3
m 7
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
x 1 x 2 x 3
La otra función (suma) f2 se implanta en forma similar como una suma 16gica de cuatro de sus mintérminos. Observe cómo se comparte el mintérmino m7 entre las dos funciones de salida.
6. Programe el PLA del numeral anterior a fin de ejecutar las siguientes funciones:
() ∑() La tabla de verdad:
() ∑()
() ∑()
0 0 1 1
0 1 0 1
0 0 0 1
1 0 0 1
1 1 1 0
CONCLUSIONES:
Se implemento circuitos lógicos que realizan operaciones aritméticas binarias y se logro comprobar su funcionamiento.
Los circuitos combinacionales permiten realizar operaciones aritméticas a partir del diseño de los respectivos circuitos lógicos conociendo la tabla de verdad de la operación a realizarse.
El diseño de estos circuitos puede realizarse en complemento a1 o complemento a2, considerando un ajuste decimal en el caso de un código BCD.
Los circuitos integrados que realizan operaciones aritméticas binarias son el circuito 7483 que es un medio sumador y el circuito integrado 74283 que es un sumador completo, con la utilización de estos circuitos se pueden implementar sumadores del cualquier número de bits.
Esta práctica ha sido muy interesante por el hecho que nos ha dado la oportunidad de trabajar con tipos diferentes de circuitos sumadores. También nos ha hecho conocer la manera de convertir el sumador 7483 que es sumador binario en un sumador BCD, para esto se utilizo un circuito llamado ajuste decimal.
Conocimos también el CI-74181 que es un circuito que puede realizar muchas operaciones, para utilizarlo necesitamos conocer muy bien su tabla de funcionamiento porque es un circuito que tiene cuatro selectores más dos selectores Cn y M que se deben de manejar de manera correcta para su funcionamiento adecuado.
BIBLIOGRAFIA:
http://www.cs.mun.ca/~paul/cs3724/material/web/notes/node10.html Ronald Tocci, Sistemas Digitales Principios y Aplicaciones, 5ª. Edición, Prentice Hall, Capítulo 6, Pág. 281-282 M. Morris Mano, “Diseño Digital”, Prentice Hall Hispanoamericana, México 1987. Motorola Inc. Fast and ls TTl data. Motorola inc, quinta edición, 1992. Novillo M., Carlos; “Sistemas Digitales”, Circuitos MSI, Págs. 61 - 67, EPN, Quito, Ecuador, 2003.