Aplicar la simplificacin por medio del algreba de Boole te ayudara a reducir un circuito compuertas a un circuito de menos compuertas.
1) Mediante el algebra de Boole, simplificar la siguiente expresin:
AB+ A(B+C)+ B(B+C)
2) En primer lugar se debe aplicar la ley distributiva en la expresin dada en el segundo y tercer termino, obteniendo:
AB+ AB+ AC+ BB+ BC
3) El segundo paso es aplicar la regla BB=B
AB+ AB+ AC+ B+ BC
4) Ahora aplicaremos la regla AB+AB= AB
AB+ AC+ B+ BC
5) Regla AB+ B= B
B+ AC
Para ver el video tutorial de este ejercicio en particular video 1 (click aqu) ver las imgenes de la simulacin en Labview (click aqu)
Llenado de tanques 2. Pagina 279, Figura 5.5
Los sensores colocados en cada uno de los tanques se reemplazan (ver figura), por un modelo que genera una tension a bajo nivel en lugar de una tension a alto nivel, cuando el nivel del liquido en el tanque esta por debajo del punto critico.
Para resolver este problema, los sensores A, B y C se conectan en las entradas del circuito AND-OR-inversor, como se muestra en la figura. La puerta AND G1 comprueba el nivel en los tanques B y C, cuando el nivel del qumico en dos tanques cualesquiera desciende, al menos una de las entradas de cada una de las puertas AND estar a nivel bajo, haciendo que su salida sea un nivel bajo, por lo que la salida final X del inversor estar a nivel alto se usa entonces para activar un indicador:
Para ver el video tutorial de este ejercicio en particular video 2 (click aqu) ver las imgenes de la simulacin en Labview (click aqu)
3. Pagina 281, Figura 5.7
Circuito OR-exclusiva
En el catulo 3 se han introduycido la puerta X_OR y el circuito integrado 74XX86. Aunque , debido a su importancia este circuito se considera como una puerta lgica con su propio smbolo distintivo, realmente es una combinacin de dos puertas AND, una puerta OR y dos inversores, tal y como lo muestra la Figura 5.7 (a). en las Figuras 5.7 (b) y (c) se presentan los dos smbolos lgicos estndar ANSL.
La expresin de la salida para el circuito de la figura 5.7 es
A partir de la evaluacin de esta expresin se obtiene la tabla de la verdad presentada en la tabla 5.2. obsrvese que la salida es un nivel alto slo cuando las dos entradas estn a niveles opuestos. A menudo se usa el operador especial X-OR, luego la expresin indica que X es igual a A X-OR B, y puede escribirse como:
Para ver el video tutorial de este ejercicio en particular video 3 (click aqu) ver las imgenes de la simulacin en Labview (click aqu)
4. Pagina 281, Figura 5.8
Circuito X-OR exclusiva
Como sabemos, el complemento de la funcin X-Or es X-NOR, la cual se obtiene el siguiente modo:
Obsrvese que la salida X es un nivel ALTO slo cuando las dos entradas, A y B, estn al mismo nivel.
La funcin X-NOR puede implementarse invirtiendo la salida de un circuito X-OR, como muestra la Figura 5.8 (a), o bien se puede implementar directamente a partir de la expresin, como muestra la parte (b) de la figura.
Para ver el video tutorial de este ejercicio en particular video 4 (click aqu) ver las imgenes de la simulacin en Labview (click aqu)
5. Pagina 346, Figura 6.16 Comparador de 2 bits
Para comparar nmeros binarios de dos bits, se necesita una puerta X-OR adicional. Los dos bits menos significativos (LSB) de ambos nmeros se comparan mediante la puerta G1 y los dos ms significativos (MSB) son comparados mediante la puerta G2, como se muestra en la Figura 6.16. Si los nmeros son iguales, sus correspondientes bits tambin lo son, y la salidad de cada puerta X-OR ser un 1.
Para obtener un nico resultado de salida que indique la igualdad o desigualdad entre los nmeros, se pueden usar dos inversores y una puerta AND, como muestra la Figura 6.16. La salida de cada puerta X-OR se invierte y se aplica a la entrada de la puerta AND. Cuando los bits de entrada de cada X-OR son iguales, lo que quiere decir que los bits de ambos nmeros son iguales, las entradas de la puerta AND son 1, por lo que el resultado a su salida tambin ser distinto, lo que da lugar a, al menos, un 0 en una de las entradas de la puerta AND, y el resultado a su salida ser 0. Por tanto, la salida de la puerta AND indica la igualdad (1) o desigualdad (0) entre dos nmeros.
Para ver el video tutorial de este ejercicio en particular video 5 (click aqu) ver las imgenes de la simulacin en Labview (click aqu)
3B: Problemas resueltos
PROBLEMA: La Tabla de Verdad para un circuito lgico es la siguiente:
Cul es el diagrama para el circuito de acuerdo con esta Tabla de Verdad?
En este caso, puesto que hay menos unos que ceros, es ms conveniente disear alrededor de los unos, o sea usando minterms. Obtenemos primero de la Tabla de Verdad los minterms requeridos:
La salida est dada por:
Salida = f2 + f5
Salida = ABC + + ABC
El diagrama del circuito correspondiente es como se muestra a continuacin:
PROBLEMA: Disear un "OR-exclusivo" de tres entradas obteniendo primero su expresin de salida a partir de una Tabla de Verdad y dibujando a continuacin el circuito requerido. Disear alrededor de los "ceros" (usando maxterms). No es necesario simplificar la expresin Boleana obtenida.
Puesto que en un "OR-exclusivo" la salida es "0" nicamente cuando todas las entradas son iguales, la Tabla de Verdad requerida ser la siguiente:
Diseando alrededor de los ceros, obtenemos por medio de maxterms la siguiente expresin de salida: Salida = f1f8 Salida = (A + B + C) (A + B + C)
El circuito correspondiente a la expresin obtenida es el siguiente:
PROBLEMA: Obtener la Tabla de Verdad del siguiente circuito; y a partir de la misma obtener la salida en funcin de los minterms.
Considerando todas las combinaciones posibles de "unos" y "ceros" en las entradas A y Bobtenemos la siguiente Tabla de Verdad:
Notamos que esta configuracin produce un "1" a la salida siempre que ambas entradas soniguales.
El circuito anterior frecuentemente se representa de la siguiente manera:
Esta funcin es conocida comnmente como la funcin NOR-EXCLUSIVO y al igual que su contraparte el OR-EXCLUSIVO tambin juega un papel importante dentro de los circuitos lgios. Su salida est dada por la expresin: Salida = f1 + f4
Salida = AB + AB
PROBLEMA: La siguiente Tabla de Verdad corresponde a una configuracin con salidas mltiples. Obtener un diagrama para dicha configuracin que produzca la Tabla de Verdad mostrada.
Obtenemos primero una expresin para la salida H1 usando minterms por conveniencia (para H1 hay ms maxterms que minterms; slo hay dos minterms): H1 = ABC + ABC
Obtenemos ahora H2 usando maxterms por conveniencia (para H2 hay ms minterms que maxterms; slo hay dos maxterms): H2 = (A + B + C)(A + B + C)
Removiendo los parntesis y simplificando lo ms posible: H2 = AA + AB + AC + BA + BB + BC + CA + CB + CC
H2 = AB + AC + AB + B + BC + AC + BC
H2 = AB + AC + B(A + 1) + B(C' + C) + AC + AC
H2 = AC + AC + B
El diagrama de este circuito ser como el que se muestra a continuacin:
Obsrvese con detenimiendo la forma en la cual fue construdo este circuito lgico de salidas mltiples. Primero se construy un arreglo simtrico de lneas horizontales del cual se pueden obtener de inmediato en forma selectiva las seales A, A, B, B, C y C. Con este acomodo, no fue ningn problema el obtener de las lneas horizontales los trminos ABC yABC usados para obtener la salida de H1, as como los trminos AC , AC y B, usados para obtener la salida de H2, con el simple recurso de tender lneas verticales desde los puntos seleccionados hacia los bloques AND en donde se producirn los productos selectivos de los trminos, tras lo cual fue asunto fcil enviar los resultados intermedios hacia los bloques OR para obtener el resultado final. Este acomodo selectivo de lneas horizontales y verticales asemeja el arreglo rectangular de renglones y columnas que un matemtico conoce como una matriz, aunque aqu estamos utilizando el trmino con una connotacin meramente grfica. Este arreglo se puede extender fcilmente hacia circuitos lgicos con una mayor cantidad de entradas y con una mayor cantidad de salidas. Cuando en un circuito lgico tanto las lneas de entrada como las lneas de salida del circuito son numerosas, en vez de perder lamentablemente el tiempo tratando de encontrar el circuito lgico ptimo que requiera la menor cantidad posible de bloques OR, NOT y AND, es mil veces preferible y mucho ms econmico recurrir a un arreglo similar al mostrado arriba implementado en un circuito integrado de bajo costo conocido como el ROM (el cual ser estudiado posteriormente ms a fondo en otro captulo), en el cual los puntos de "conexin" de las lneas horizontales con las lneas verticales son seleccionados segn se requiera ya sea por un proceso de "soldadura" interna de los puntos o por un proceso de "quema de fusibles" internos hasta llegar a lo que se desea. Ello sin tener que recurrir a lo que de otra manera sera un problema pesado en la simplificacin de un circuito lgico de salidas mltiples con la finalidad de utilizar la menor cantidad posible de componentes.
PROBLEMA: El sistema de conteo binario es un excelente mtodo para generar diagramas de tiempos que contienen todas las combinaciones posibles de "ceros" y "unos" necesarias para probar circuitos lgicos con varias entradas. Construr un diagrama de tiempos para probar un circuito lgico con entradas A, B, C y D.
A continuacin tenemos el siguiente conteo binario para las cuatro variables:
Los contenidos de esta tabla se pueden vaciar directamente en un diagrama de tiempos mltiples para obtener los diagramas de tiempo de cada una de las entradas "alineados" de forma tal que se vayan produciendo al ir de un tiempo a otro todas las combinaciones posibles de "unos" y "ceros":
PROBLEMA: El diagrama de tiempos en lgica positiva de un circuito se muestra a continuacin. Cul es la configuracin del circuito? (Todas las combinaciones posibles estn contenidas en el diagrama de tiempos).
Para la resolucin de este problema, construmos primero la Tabla de Verdad directamente a partir del diagrama de tiempos proporcionado:
En este caso, puesto que hay menos "unos" que "ceros", es ms fcil obtener el circuito deseado por medio de minterms (diseando alrededor de los unos): Salida = f1 + f3 + f4
Salida = ABC + ABC + + ABC
El diagrama del circuito es el siguiente, construdo directamente a partir de la expresin obtenida:
PROBLEMA: En los siguientes dibujos representativos de relevadores electromecnicos como los que fueron introducidos al principio del segundo captulo de este libro (Las Tres Funciones Lgicas Bsicas):
tenemos en el extremo superior izquierdo un relevador inactivo (obsrvese que la entrada es un "0", indicando con ello la aplicacin de cero voltaje a la bobina del relevador) con lo cual el voltaje +V pasa a las dos salidas complementarias del relevador como "1" y como "0" de la manera mostrada, mientras que en el extremo superior derecho tenemos al mismo relevador energizado (obsrvese que la entrada a la bobina del relevador es un "1") con lo cual su contacto normalmente cerrado se abre y su contacto normalmente abierto se cierra, invirtindose los valores "1" y "0" en sus salidas complementarias. Tomando esto en cuenta, analizar el comportamiento del circuito formado por los tres relevadores electromecnicos cuyas entradas son A, B, C, D y E, y cuya salida es OUT.
Nuestro anlisis comienza con el relevador electromecnico cuyas entradas son A y B, y cuya salida denominaremos YAB. Si A=0 el relevador estar inactivo, y si A=1 el relevador ser energizado dejando pasar el valor que tenga B a la salida YAB. Obsrvese que la salidaYAB slo puede ser "1" si tanto A como B son "1", de lo contrario ser "0". Esto es una funcin AND, y la salida ser YAB=AB, la cual alimenta a la bobina del segundo relevador electromecnico, el cual exhibe un comportamiento idntico al del primer relevador, ya que tanto la entrada YAB a su bobina como el valor de C tienen que ser ambos "1" para que la salida del relevador que denominaremos YC sea "1", lo cual es tambin una funcin AND. Con esto tenemos que: YC = YABC = ABC
Nos queda un problema al considerar la salida del tercer relevador electromecnico con entradas D y E, la cual est conectada al mismo punto elctrico de la salida del circuitoOUT al cual est conectada tambin la salida YC del segundo relevador. No nos lleva mucho tiempo darnos cuenta que si C=1 y E=0 o bien si C=0 y E=1, en caso de energizarse ambas bobinas del segundo y del tercer relevador se crear un corto circuito en OUT, aterrizando directamente un voltaje de "1" a tierra. Hay dos formas de evitar este cortocircuito. La primera es haciendo que las entradas C y E sean iguales todo el tiempo, lo cual requiere que C=E. Y como la salida del tercer relevador es YDE=DE, entonces la salida lgica del circuito ser: OUT = DE = DC
La otra forma de evitar un cortocircuito es aadiendo diodos rectificadores en las terminales C y E (que podramos suponer vienen ya aadidos desde antes y por ello no aparecen en el diagrama del circuito) con lo cual aunque C y E tengan valores lgicos diferentes no habr ya un cortocircuito. En este caso, los diodos rectificadores convertirn la juntura en una conexin OR cuya salida ser: OUT = YC + DE
OUT = ABC + DE
PROBLEMA: En el texto principal del captulo anterior se haba hablado acerca de la "lgica alambrada" (wired logic), la cual permite que las salidas de aquellas funciones lgicas que hayan sido fabricadas bajo la tecnologa del transistor con "colector abierto" se puedan conectar directamente al mismo punto, actuando el punto de juntura como una funcin AND para las salidas producidas por los bloques lgicos, destacndose estos componentes con el smbolo de un diamante con una barra horizontal debajo del mismo dibujado dentro de tales bloques lgicos, cerca de las salidas de los mismos, como lo mostr el ejemplo de los dos NOTs conectados de la siguiente manera:
En dicho ejemplo, la salida de cada NOT es A y B, respectivamente, y como la lgica alambrada se encarga de efectuar una operacin AND sobre dichas salidas, la salida comn del circuito ser igual a Y=( A)(B) o bien Y=A+B utilizando las leyes de DeMorgan, con lo cual queda evidenciado que este circuito se comportar como un NOR. Obtener la expresin Boleana para las salidas de los siguientes circuitos, notndose que se estn utilizando componentes con "lgica de colector abierto". Se sobreentiende que del punto de juntura comn en la salida Y hay una resistencia conectada hacia el polo positivo de la fuente de voltaje:
1)
2)
3)
En el primer caso, la salida de cada NOR es A+B y C+D, lo cual es "multiplicado" operacin AND por la lgica alambrada, con lo cual la salida del circuito ser: Y = A+B C+D
En el segundo caso, la salida de cada NAND es AB y CD, lo cual es " multiplicado" en operacin AND por la lgica alambrada, con lo cual la salida del circuito ser: Y = A B C D
En el tercer caso, la salida del circuito ser: Y = (A + B) C D
PROBLEMA: El Medio Sumador.- Dadas las palabras A=0011 y B=0101 (las cuales contienen todas las combinaciones posibles de "unos" y "ceros" para dos terminales de entrada A y B de un circuito lgico), y llevando a cabo una suma aparejada de cada bit sin afectar los bits restantes, o sea una suma individual bit-por-bit, encontrar el bloque bsico requerido para poder sumar en el sistema binario (esta no es una suma Boleana, es una autntica suma aritmtica!). Encontrar tambin las ecuaciones Boleanas correspondientes a este tipo de circuito.
Sumando las palabras dadas bit por bit sin afectar los bits restantes, ni los que estn a la izquierda ni los que estn a la derecha, tendramos la siguiente situacin en nuestras manos:
Esto lo podemos leer de la siguiente manera comenzando con los bits del extremo derecho,A=1 y B=1. Procediendo en forma idntica a la manera en la cual llevaramos a cabo la suma en nuestro sistema decimal, con la nica variante de que el sistema de conteo es binario en lugar de decimal, diramos lo siguiente: "1 ms 1 es igual a 10 -recurdese que esta s es una suma binaria; entonces anotamos 0 y llevamos 1". Resulta obvio que vamos a requerir de dos terminales de salida, una terminal que denominaremos "Anotar" (en ingls a esta terminal se le llama Sum o simplemente S) y una terminal de "Llevar" (en ingls a esta terminal se le llama Carry o simplemente C), con los valores Anotar=0 y Llevar=1para A=1 y B=1. Para la combinacin de bits A=1 y B=0 decimos "1 ms 0 es igual a 1; entonces anotamos 1 y llevamos 0", con lo cual las salidas deben ser Anotar=1 yLlevar=0. La combinacin de bits A=0 y B=1 tiene un efecto similar. Por ltimo, la combinacin de bits A=0 y B=0 simplemente produce los valores Anotar=0 y Llevar=0.Con esto, tenemos todas las combinaciones posibles para poder construr una Tabla de Verdad para un circuito con dos entradas A y B y dos salidas Anotar y Llevar.
Para realizar las operaciones "Anotar" y "Llevar", se requiere un OR-exclusivo para la operacin de "Anotar" y se requiere de un AND para la operacin de "Llevar", segn se puede observar arriba. El diagrama para el circuito requerido es el siguiente:
Las ecuaciones Boleanas para el Medio-Sumador, conocido en ingls como el Half-Adder, sern: Anotar = AB + AB
Llevar = AB
El bloque anterior frecuentemente se simplifica de alguna manera como la siguiente, encerrndolo en una "caja negra":
Como se indica arriba, dicho bloque se conoce como el Medio-Sumador y desempea un papel importante como tal en su funcin.
Usando dos Medio-Sumador y un OR, se puede construr un Sumador-Completo que lleve a cabo la suma binaria (no la suma boleana) de dos bits A y B, siendo ste el bloque fundamental de todos los sumadores electrnicos usados en la actualidad, y siendo la base fundamental de la Unidad de Aritmtica y Lgica ALU (Arithmetic Logic Unit) de cualquier computadora.
PROBLEMA: Disear un circuito para calcular la suma binaria de dos nmeros A y B de 4 bits cada uno. Utilizar las palabras A4A3A2A1=1001 y B4B3B2B1=0011 para demostrar su funcionamiento.
Este problema representa una de las metas importantes en las que hemos venido trabajando desde el inicio de esta obra: la realizacin de un circuito, construdo a base de funciones lgicas bsicas, que sea capaz de llevar a cabo la operacin aritmtica ms esencial de todas, la suma, en el sobreentendido de que esta operacin se tendr que llevar a cabo en el lenguaje binario de "unos" y "ceros" que es el lenguaje que entienden las mquinas. El asunto de la conversin automtica de nuestros nmeros decimales a nmeros binarios es algo que tendr que ser postpuesto en espera de dar cobertura a otro tipo de circuitos que sean capaces de secuenciar operaciones de "unos" y "ceros", aqu nos conformaremos con el diseo de un circuito que sea capaz de ponder inmediatamente a su salida el resultado de la suma binaria de dos nmeros puestos a su entrada. Si somos capaces de disear un circuito as, el problema de poder llevar a cabo la operacin de multiplicacin con funciones lgicas bsicas quedar resuelto en su esencia, puesto que una multiplicacin en realidad no es ms que la suma repetitiva de un multiplicando por la cantidad de veces especificada por el multiplicador.
En este problema, en contra de lo que se ha estado llevando a cabo en todos los problemas anteriores, el flujo de las seales se llevar a cabo de derecha a izquierda; esto en virtud de que en la suma aritmtica de dos nmeros como 582973 y 416912, empezamos sumando los dgitos que estn ms a la derecha, en este caso el 3 y el 2, continuando con los dgitos que siguen a la izquierda, en este caso el 7 y 1, y as sucesivamente. En el caso de la suma aritmtica binaria, el procedimiento es el mismo. De cualquier modo, desde el punto de vista de la electrnica digital del circuito, es irrelevante la forma de dibujar el diagrama esquemtico del circuito, porque an si lo construyramos con un flujo de seales yendo de derecha a izquierda tal y como ocurre en el diagrama, todo lo que tendramos que hacer con el circuito fsico sera voltear la tablilla horizontalmente con lo cual el flujo de seales ser de derecha a izquierda aunque la suma se seguir llevando a cabo exactamente de la misma manera.
El sumador ser construdo utilizando como "caja negra" el Medio-Sumador visto en un problema previo, el cual ser simbolizado simplemente como MS (+) en el diagrama. Llamando a S4S3S2S1 el resultado de la suma binaria, el circuito deseado tendr la siguiente configuracin:
A continuacin tenemos lado a lado la suma binaria simblica y la suma binaria llevada a cabo con los nmeros 1001 y 0011:
Podemos imaginar a este circuito subdividido en cuatro "columnas" imaginarias, cada una de las cuales representa una "unidad" que se repite en forma idntica. Con la excepcin de la primera columna, todas las dems columnas representan una configuracin semejante en su estructura, que es la siguiente:
En el diagrama del circuito completo se han representado con color rojo los "unos" y los "ceros" que se van produciendo a travs de toda la configuracin hasta llegar a la salida. El lector puede percatarse por s mismo de que cualquier otra combinacin de dos nmeros binarios de cuatro bits ser procesada aritmticamente en forma correcta por este circuito produciendo la suma binaria de ambos. Podemos representar cada una de las columnas imaginarias mostradas en este circuito como una "caja negra" como la siguiente, en donde hemos utilizado la letra griega (sigma) dentro de la caja por ser la letra frecuentemente utilizada por los matemticos para indicar una sumacin:
La terminal "Llevar salida" (Carry Output) es la que se utiliza cuando sumamos los bits "1" y "1", los cuales producen dos dgitos binarios en lugar de uno solo: "10". En este caso, el "1" es el que utiliza la funcin de "Llevar-salida" para que este bit sea sumado en la siguiente columna a los bits ms significativos que siguen. La terminal "Llevar entrada" (Carry Inputes la que toma en cuenta este bit de "llevar" producido en una columna anterior. Conectar dos "cajas negras" como esta requiere conectar la terminal de "Llevar salida" de un bloque a la terminal "Llevar entrada" del bloque que le sigue a la izquierda. Este bloque es mejor conocido como el Sumador Completo, y es el bloque que tenemos que ir conectando en serie (en "cascada") con otros bloques iguales para ir aumentando la capacidad de la magnitud del nmero que podr ser manejado por el sumador binario. De aqu en delante, aumentar la capacidad del sumador completo para poder sumar nmeros de 16 bits, de 32 bits, de 62 bits, de 124 bits o ms, no involucrar ningn diseo nuevo, solo requerir ir conectando una cantidad mayor de "cajas negras" a la cantidad deseada.
Ntese que si le presentamos al circuito los nmeros A=1111 y B=1111, el primer bit de la suma resultante S=11110 se pierde por falta de capacidad de almacenamiento en los registros. Esta condicin se conoce como sobreflujo (overflow). El bit que aparece como "1" en la funcin "Llevar" de la columna en el extremo izquierdo del circuito se puede usar para indicar que dicha condicin de sobreflujo ha ocurrido en una operacin.
En un diagrama de un sumador binario de 4 bits en el cual el flujo de las seales vaya no de derecha a izquierda (siguiendo la secuencia humana en la cual se efectan las operaciones aritmticas de suma) como se configur arriba sino de derecha a izquierda como se acostumbra hacerlo en la mayora de los diagramas de los circuitos lgicos, el circuito usando cuatro bloques Sumador- Completo tendra el siguiente aspecto:
En este circuito, los nmeros binarios a ser sumados son a3a2a1a0 y b3b2b1b0. El resultado de la suma est disponible en la palabra binaria y3y2y1y0. , siendo y3 el bit ms significativo (MSB) y siendo y0 el bit menos significativo (LSB). Si hay un sobreflujo como resultado de la suma, este sobreflujo est disponible en la terminal c3 que corresponde a la operacin aritmtica de "Llevar", lo cual podemos usar ya sea para conectar todo el sumador binario de 4 bits a otro sumador binario de 4 bits igual o para indicar que el resultado de la suma excedi la capacidad de la mquina. Si conectamos dos o ms de estos sumadores de 4 bits, todo lo que tenemos que hacer es conectar cada terminal de "Llevar"c3 a la terminal de "Anotar" co del sumador binario de 4 bits que le sigue. La terminal de "Anotar" correspondiente al bit menos significativo es puesta a "0" al no haber un resultado parcial de una suma precedente que considerar. Si lo deseamos, como un ejercicio intelectual podemos construr este sumador binario de 4 bits partiendo de funciones lgicas bsicas. Pero tenemos otra opcin ms atractiva para un diseista que tenga cosas ms importantes que hacer con su tiempo. Podemos comprarlo a muy bajo costo en el mercado, ya construdo y entregado en un circuito integrado pequeo que cabe fcilmente en el dedo meique de la mano. A continuacin tenemos el diagrama de un circuito integrado de la familia TTL (vase el Suplemento # 1), el 7483, el cual es un Sumador-Completo de 4-bits(4-Bit Full Adder) como el que acabamos de "construr", con el cual podemos sumar dos nmeros binarios A1A2A3A4 y B1B2B3B4 de cuatro bits, obteniendo la suma binaria respectiva en las terminales S1S2S3S4 con la terminal de "Llevar, salida" (Carry Output, C4, esta es la misma terminal descrita arriba como "Llevar, salida") lista para ser utilizada en caso de que el resultado de alguna suma binaria exceda la capacidad de los cuatro dgitos binarios, y la terminal de "Llevar, entrada" (Carry Input, C0, esta es la misma terminal descrita arriba como "Llevar, entrada") para ser utilizada en caso de que se quieran conectar varios sumadores de 4 bits en cadena, con cada terminal de salida C4 conectada a la terminal de entrada C0 del circuito integrado 7483 que le sigue:
Puesto que aqu prcticamente todas las terminales del circuito integrado estn siendo utilizadas a su mxima capacidad dejando nicamente dos terminales disponibles, la terminal 5 y la terminal 12, es precisamente en estas dos terminales en donde se le aplican al circuito integrado los polos positivo (+) y negativo (-) de la fuente de poder.
PROBLEMA: Construr una Tabla de Verdad para un Sumador-Completo, y a partir de la misma obtener las expresiones Boleanas para las funciones "Anotar" y "Llevar" en funcin de minterms. (La funcin "Llevar" se refiere en este caso a la funcin "Llevar salida".)
Por las caractersticas del Sumador-Completo, la Tabla de Verdad debe ser forzosamente como la que se muestra:
En base a esta Tabla de Verdad, las expresiones Boleanas deseadas sern: Anotar = ABC + ABC + ABC + ABC
Llevar = ABC + ABC + ABC + ABC
PROBLEMA: Demostrar que para un Sumador-Completo: Llevar = AB + (A+B) ABC Anotar = [(A + B)AB + C][(A + B)ABC]'
en donde C es la terminal de "Llevar, salida". (Sugerencia: Considerar la salida de un OR- EXCLUSIVO como (A+B)AB.)
Trazando el flujo de las seales a travs del Sumador-Completo considerando la accin que llevan a cabo los Medio-Sumador:
obtenemos primero de inmediato la expresin Boleana para terminal Llevar que pasar un bit de "1" en caso de que la suma binaria produzca "10" por ser ambas entradas A y B iguales a "1": Llevar = AB + (A+B) ABC
Y en lo que respecta a la funcin Anotar que viene de la accin del OR-EXCLUSIVO contenido en el Medio-Sumador inferior:
introduciendo los valores para X1 y X2 obtenemos finalmente:
PROBLEMA: Suma binaria mltiple. Cul sera la mejor alternativa para poder sumar cuatro nmeros binarios con una extensin de 16 bits?
Aunque es posible disear un sumador de dos nmeros binarios con una capacidad para poder manejar nmeros de 16 bits, y hecho esto agregar tres bloques iguales con entradas diferentes para poder sumar cuatro nmeros binarios A, B, C y D, esto sera un desperdicio lamentable de recursos an es esta poca de electrnica microminiaturizada de bajo costo. Existe otra alternativa mucho ms eficiente y mucho ms econmica en trminos de recursos de hardware, la cual consiste en ir efectuando totalizaciones parciales hasta llegar al resultado final. Esto requiere de una secuencia de pasos:
(1) Sumar el nmero A al nmero B.
(2) Depositar el resultado de la suma de A y B en un registro temporal, al cual llamaremosacumulador, precisamente porque ir acumulando resultados intermedios.
(3) Sumar el nmero C al nmero contenido en el acumulador (A+B), depositando el resultado en el acumulador.
(4) Sumar el nmero D al nmero contenido en el acumulador (A+B+C).
Esta alternativa requiere del uso de un solo sumador completo, el cual ser utilizado una y otra vez para llevar a cabo la suma mltiple. Al completar estos pasos, el resultado estar contenido en ese registro que estamos llamando acumulador, el cual obviamente debe tener la capacidad para poder "memorizar" un nmero binario. Esto constituye una motivacin para disear elementos de memoria. Pero adems necesitamos de algn secuenciador que sea capaz de efectuar las operaciones sealadas, y que adems pueda ser modificado con facilidad para sumar una cantidad diferente de nmeros, digamos veinte nmeros, para que el diseo del "hardware" no est atado a una cantidad fija de nmeros. Esto solo lo podemos lograr usando algo que sea programable, algo en lo cual podamos escribir las instrucciones necesarias para llevar a cabo una suma binaria mltiple. Estos son, desde luego, los inicios de una mquina programable que sea capaz de ejecutar operaciones aritmticas siguiendo las instrucciones que le sean sealadas. Esta es la motivacin para la creacin de una computadora.
PROBLEMA: El Medio Substractor.- Dadas las palabras A=10101 y B=01100 (las cuales contienen todas las combinaciones posibles de "unos" y "ceros" para dos terminales de entrada A y B de un circuito lgico), y llevando a cabo una una resta aparejada de los bits encontrar el bloque bsico requerido para poder restar bits en el sistema binario, o sea para poder encontrar la diferencia entre dos cantidades en el sistema binario (esta es una autntica resta aritmtica!). Encontrar tambin las ecuaciones Boleanas correspondientes a este tipo de circuito.
A diferencia del problema en el cual se introdujo el caso del Medio-Sumador, aqu se restar la cantidad menor de la cantidad mayor; o sea que se llevar a cabo la operacin: A - B
Restando los nmeros binarios dados, tendramos la siguiente situacin en nuestras manos, acordando en llamar a A el minuendo y a B el substraendo:
Esto lo podemos leer de la siguiente manera comenzando con los bits del extremo derecho,A=1 y B=0. Procediendo en forma idntica a la manera en la cual llevaramos a cabo una resta en nuestro sistema decimal, con la nica variante de que el sistema de conteo es binario en lugar de decimal, diramos lo siguiente: "1 menos 0 es igual a 1; entonces anotamos 0 sin necesidad de tener que tomar 'prestado' nada del siguiente bit a la izquierda en el minuendo A". Resulta obvio que vamos a requerir de dos terminales de salida, una terminal que denominaremos "Anotar" (en ingls a esta terminal se le llama Difference o simplemente D) y una terminal de "Pedir prestado" (en ingls a esta terminal se le llamaBorrow o simplemente B), con los valores Anotar=1 y Pedir prestado=0 para A=1 yB=0. Para la combinacin de bits A=0 y B=0 decimos "0 menos 0 es igual a 0; entonces anotamos 0 y tomamos 'prestado' 0", con lo cual la salidas deben ser Anotar=0 y Pedir prestado=0. En la siguiente combinacin A=1 y B=1, decimos "1 menos 1 es igual a 0, entonces anotamos 0 y tomamos prestado 0", con lo cual las salidas deben ser Anotar=0 yPedir prestado=0. La combinacin siguiente, A=0 y B=1, presenta un reto: tenemos que restar 1 de o, lo cual en la aritmtica ordinaria sera algo as como tratar de restar 8 de 5. Aunque podramos recurrir al expediente de inventar aqu los nmeros negativos, recordemos que tal cosa no es necesaria en la escuela primaria; los nios de la primaria aprenden a restar mucho antes de que aprendan en la escuela secundaria el concepto de los nmeros negativos. Hagamos lo mismo que se hace en la escuela primaria; tomamos "prestado" del minuendo en la siguiente cifra posicional a la izquiera una cifra unitaria, disminuyndolo en la misma cantidad, con el objeto de poder llevar a cabo la resta. Con esto diramos: "0 menos 1 es igual a 10 menos 1 tomando prestado un 1 de la siguiente columna en el minuendo, con lo cual anotamos un 1 habiendo tomado prestado un 0". En otras palabras, para la combinacin A=0 y B=1 requerimos Anotar=1 y Pedir prestado=1.
Para realizar la operacin "Anotar" se requiere de un "OR-exclusivo". Usando minterms, la funcin "Pedir prestado" se logra con la expresin AB. El diagrama para el circuito requerido es el siguiente:
Las ecuaciones Boleanas sern:
Anotar = AB + AB
Pedir prestado = AB
El bloque anterior frecuentemente se simplifica de alguna manera como la siguiente, encerrndolo en una "caja negra":
Como se indica arriba, este bloque se conoce como el Medio-Substractor y al igual que el Medio- Sumador tambin desempea un papel importante en su funcin.
Usando dos Medio-Substractor y un OR, se puede construr un Substractor-Completo, el cual junto con el Sumador-Completo forman forman la Unidad Aritmtica de casi todas las computadoras digitales usadas hoy en da.
PROBLEMA: Disear un circuito para encontrar la diferencia binaria de dos nmeros A yB de 4 bits cada uno. Utilizar las palabras A4A3A2A1=1011 y B4B3B2B1=0101 para demostrar su funcionamiento.
El substractor ser construdo utilizando como "caja negra" el Medio-Substractor visto en un problema previo, el cual ser simbolizado simplemente como MS (-) en el diagrama. Llamando a D4D3D2D1 el resultado de la resta binaria, el circuito deseado tendr la siguiente configuracin:
A continuacin tenemos lado a lado la suma binaria simblica y la suma binaria llevada a cabo con los nmeros 1001 y 0011:
Podemos imaginar a este circuito subdividido en cuatro "columnas" imaginarias, cada una de las cuales representa una "unidad" que se repite en forma idntica. Con la excepcin de la primera columna, todas las dems columnas representan una configuracin semejante en su estructura, que es la siguiente:
En el diagrama del circuito completo se han representado con color rojo los "unos" y los "ceros" que se van produciendo a travs de toda la configuracin hasta llegar a la salida. El lector puede percatarse por s mismo de que cualquier otra combinacin de dos nmeros binarios de cuatro bits ser procesada aritmticamente en forma correcta por este circuito produciendo la diferencia binaria de ambos. Podemos representar cada una de las columnas imaginarias mostradas en este circuito como una "caja negra" como la siguiente:
La terminal "Pedir prestado, tomar" (Borrow) es la que se utiliza cuando al tratar de restar un "1" de un "0" en la misma columna es necesario "pedir prestado" de la siguiente columna a la izquierda, al igual que como se acostumbra hacerlo en la resta en el sistema decimal cuando vamos a restar un dgito como 7 de 5 y tenemos que "pedir prestado" una decena (o centena, o lo que se requiera segn sea el caso) de la columna de la izquierda para convertir al nmero 5 en 15 y as poder restar 7 de 15 obteniendo 8. La terminal "Pedir prestado, dar" es la que debe tomar en cuenta este bit de "llevar" producido en una columna anterior con la cual se le ha reducido esta cantidad al darla a la columna a su derecha. Conectar dos "cajas negras" como esta requiere conectar la terminal de "Pedir prestado, tomar" de un bloque a la terminal "Pedir prestado, dar" del bloque que le sigue a la izquierda. Este bloque es mejor conocido como el Substractor Completo, y es el bloque que tenemos que ir conectando en serie (en "cascada") con otros bloques iguales para ir aumentando la capacidad de la magnitud del nmero que podr ser manejado por el substractor binario. De aqu en delante, aumentar la capacidad del substractor completo para poder restar nmeros de 16 bits, de 32 bits, de 62 bits, de 124 bits o ms, no involucrar ningn diseo nuevo, solo requerir ir conectando una cantidad mayor de "cajas negras" a la cantidad deseada, al igual que como ocurri con el Sumador-Completo.
PROBLEMA: Construr una Tabla de Verdad para un Substractor-Completo, y a partir de la misma obtener las expresiones Boleanas "Anotar" y "Pedir prestado" en funcin de minterms.
Intuyendo las caractersticas del Substractor-Completo, la Tabla de Verdad ser como sigue:
En base a esta Tabla de Verdad, las expresiones Boleanas deseadas sern: Anotar = ABC + ABC + ABC+ ABC
Pedir prestado = ABC + ABC + ABC + ABC
PROBLEMA: Demostrar que para un Substractor-Completo: Anotar = (AC + AC)B + (AC + AC)B
Pedir prestado = (AC + AC)B + AC
en donde C es la terminal de "Pedir prestado, dar". (Considrese la salida del OR-EXCLUSIVO como AB+AB.)
Trazando el flujo de las seales a travs del Substractor-Completo considerando la accin que llevan a cabo los Medio-Substractor:
del flujo de seales se obtiene primero que, para la funcin Anotar: Anotar = X1X2 + X1X2
Anotar = (AC + AC)B + [AC + AC]'B
Usando en el segundo trmino las leyes de DeMorgan, se tiene que: Anotar = (AC + AC)B + (AC)'(AC)'B
Aplicando las leyes de DeMorgan: Anotar = (AC + AC)B + (A + [(C)]')([(A)]' + C)B
Anotar = (AC + AC)B + (A + C)(A + C)B
Anotar = (AC + AC)B + (AA + AC + AC + CC)B
Anotar = (AC + AC)B + (AC + AC)B
Del mismo modo, para la funcin "Pedir prestado, dar": Pedir prestado = X3 + AC
Pedir prestado = X1X2 + AC
Pedir prestado = [AC + AC]'B + AC
Usando la misma simplificacin del segundo trmino llevada a cabo en la funcin Anotartenemos finalmente para Pedir prestado: Pedir prestado = (AC + AC)B + AC
PROBLEMA: Disear un circuito con capacidad de 3 bits que pueda funcionar tanto como "sumador completo" como "substractor completo", tomando como base la tcnica del "2- complemento".
Usando la tcnica del 2-complemento, la combinacin en un solo circuito lgico de las capacidades de un sumador y de un substractor de nmeros binarios se puede llevar a cabo con facilidad de la manera mostrada en el siguiente circuito que es esencialmente un sumador completo de 4 bits con una de sus entradas modificadas para poder convertir al nmero A en un nmero negativo en su representacin como 2-complemento y poder as llevar a cabo la operacin aritmtica de resta B-A:
La conversin del Sumador Completo a un circuito que pueda actuar tambin como Substractor significa que la capacidad numrica quedar reducida a 3 bits, habido el hecho de que el bit ms significativo (MSB) tendr que ser adjudicado para el manejo del signo aritmtico que podr ser positivo (+) o negativo (-1). En el diseo del circuito, el Sumador Completo estudiado en los problemas anteriores es representado aqu como una "caja negra" de color azul. Sin las modificaciones mostradas arriba, al ponerle los nmeros binariosA3A2A1A0 y B3B2B1B0 a su entrada (los cuales suponemos positivos ambos) la suma binaria aparecer en la salida S3S2S1S0 del circuito.
En el circuito modificado, si A=A3A2A1A0 es un nmero positivo, entonces se pondr un "0" en la lnea D para que en cada pequeo multiplexer (dibujados con color caf) con la condicin de "0" puesta en D todos los bits del nmero A pasen intactos a los bloques Sumador Completo. Tenemos as un sumador binario de 4 bits que lleva a cabo la operacinA+B. Y si queremos llevar a cabo la resta B-A, entonces se pondr un "1" en la lnea D para que en cada bloque multiplexer con la condicin de "1" puesta en D los bits del nmero Apasen invertidos lgicamente (por la accin de los NOTs de color verde) al conjunto sumador de bloques, y como el "1" que se est poniendo en la lnea D tambin entra al mismo tiempo en el primer Sumador Completo como una seal de Llevar (Carry), esto equivale a sumar un "1" al resultado de todo, que podemos considerar sumado al 1-complemento de A, con lo cual se tiene el 2-complemento de A sumado a B, o sea B- A por ser A un nmero binario negativo en 2-complemento.
El circuito, tal y como est dado, no est preparado para sumar dos nmeros negativos. Sin embargo, puesto que la suma de dos nmeros negativos es igual a la simple suma de las magnitudes de los nmeros conservando el signo negativo (-) en la respuesta final, las modificaciones requeridas para que nuestro circuito mejorado pueda hacer operaciones aritmticas con dos nmeros binarios cualesquiera que sean sus signos son modificaciones mnimas. En una computadora digital existe otra manera de que se puedan llevar a cabo las operaciones aritmticas de dos nmeros cualesquiera que sean sus signos usando un simple Sumador Completo sin modificacin alguna, y esto es por la va de la programacin. Las instrucciones del programa escrito por el programador seran las encargadas de llevar a cabo las operaciones necesarias de 2- complementacin, pasndole los nmeros binarios ya "transformados" al Sumador Completo. Esto no es ms que uno de muchos ejemplos de algo que se encuentra en el fondo de cualquier decisin de diseo para la arquitectura de cualquier computadora: escoger entre la opcin de implementar alguna funcin por la va de la programacin sin agregarle nuevos circuitos o componentes a la mquina, o implementar la misma funcin por la va de la adicin de ms componentes y circuitos. La enorme ventaja de la segunda opcin es que el procesamiento de informacin por la va de circuitos electrnicos especializados es mucho ms rpida que implementarla por la va de la programacin, lo cual requerir la utilizacin de varios ciclos de instruccin en el programa de la mquina para obtener el mismo resultado. Es por esta razn, aunada al dramtico abaratamiento de los circuitos en los cuales se implementa la microelectrnica de la lgica digital, que la tendencia ha sido transferir la mayor cantidad posible de funciones a la mquina, quitndole cada vez ms y ms un peso de encima al programador.