Está en la página 1de 23

ARITMTICA BINARIA COMPUERTAS LGICAS LGEBRA DE BOOLE:

Sistemas de Numeracin: Aritmtica Binaria


Los objetos ms antiguos conocidos para representar nmeros, son huesos con
muescas descubiertos en Europa occidental, que datan de hace unos 20.000 a
30.000 aos.

Sistema decimal (Base 10)


El sistema de numeracin decimal comnmente usado en la actualidad est basado
en diez dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. El nombre decimal proviene del latn
decem, que significa diez. Los smbolos usados para representar estos dgitos
fueros llevados a Europa alrededor del siglo XIII de nuestra era por los rabes,
quienes a su vez los habran copiado de los hindes. Dado que el sistema decimal
est basado en diez dgitos, se dice que es base 10 o raz 10. Con excepcin de
requerimientos especiales tales como la computacin, los sistemas de numeracin
de base 10 han sido adoptados casi universalmente.
El sistema decimal es un sistema numrico de valores posicionales, lo que
significa que el valor de un dgito particular en un nmero de varios dgitos
depende del dgito mismo y de su posicin en el nmero.

Cada columna en un sistema numrico de valor posicional, tiene un peso asociado


con la columna, y cada dgito debe ser combinado con el peso de su columna para
determinar el valor final del nmero:

El conteo en el sistema decimal comienza en 0 y progresa hasta 9, punto en el cual


se han usado todos los dgitos disponibles. En consecuencia, el siguiente nmero
del conteo
Hace que la primera columna pase a cero, y la
segunda columna sea incrementada, dando como
resultado el nmero 10. De manera similar, cuando
el conteo alcanza 99, el siguiente nmero hace que
la primer columna (de la derecha, por supuesto)
pase a cero, y la segunda columna deba ser
incrementada. Pero como la segunda columna
tambin est en 9, el 1 que "se lleva" de la primera
la hace pasar a cero y esto hace incrementar la
tercera columna, resultado toda esta operacin en el
nmero 100, como se observa en la figura
Aunque el sistema decimal sea "anatmicamente" conveniente -pensando en la
ayuda que nos proveen los dedos de la mano para contar-, un sistema de
numeracin con cualquier otra base tiene las mismas ventajas, y no tiene tantos
inconvenientes, como por ejemplo los nmeros de base 10 son solo divisibles por 2
y por 5, mientras que por ejemplo los de base 12 son divisibles por 2, 3, 4 y 6.
Desde este punto de vista sera ms conveniente un sistema de numeracin con
base 12. En el pasado ha habido muchas culturas que han utilizado los sistemas de
base 12, para el cual usaban las tres falanges de cuatro dedos de la mano,
reservando el pulgar como sealador o apuntador.
Otros sistemas de numeracin son el quinario (base 5), que no se usa; el
sexagesimal (base 60), que ya usaban los Sumerios (siglo XXX a.c.) y despus los
Babilonios (siglo XX a.c.), en la actualidad se usa tanto en la medicin de tiempos
como de ngulos. Ntese que 60 es divisible por 2, 3, 4, 5, 6, 10, 12, 15, 20 y 30.

Sistema Binario (Base-2)


La unidad bsica de un dispositivo digital, lo constituye la compuerta lgica. Se
puede decir que estn hechas de transistores, los que a su vez slo admiten dos
estados (conducen o no conducen corriente elctrica). Consecuentemente, las
computadoras estn obligadas a utilizar un sistema de numeracin que tenga slo
dos dgitos. Los sistemas numricos de base 2 se llaman binarios y utilizan los
dgitos 0 y 1.

Es importante relacionar esta figura con la correspondiente del sistema decimal que
se vio anteriormente: en ambos casos cada columna tiene un peso que depende de
una potencia de la base, y cada dgito debe ser combinado con el peso de su
columna para determinar el valor final del nmero, tal como se observa en la figura
anterior.
Notar que aqu se est usando los subndices para notar la base del sistema: 10110 2
= 2210 (10110binario = 22decimal). El trmino "dgito binario" es conocido
ampliamente como bit, de tal manera que, tal como se dice" el nmero 286710 es de
cuatro dgitos", diremos "el nmero 101102 es de 5 bits". Esta es una forma de
medir el ancho del nmero. Adems, a un grupo de 8 bits se le llama byte, y a un
grupo de 4 bits se le llama nibble. Es decir que un byte est compuesto de dos
nibbles u ocho bits.
Contar en binario es muy sencillo, pero puede presentar algunas dificultades para
comprender cmo se hace: Comenzamos en cero hasta que usamos todos los
dgitos para la primer columna (es decir, cero y uno). El siguiente nmero, requiere
incrementar la segunda columna en 1, haciendo pasar la primera a cero (que sera
el nmero 210), y as sucesivamente como se observa en la figura siguiente:

En forma similar a los dgitos de un nmero en sistema decimal, el bit de la


derecha es el bit menos significativo (LSB), y el de la izquierda es el bit ms
significativo (MSB).
Haremos una generalizacin de los nmeros binarios: el vector de n bits que
representa al nmero binario N es:
N = an-1 an-2 an-3 a1 a0
Donde n = nmero de bits que representan a N
y ai = 0 1 para 0 i n-1
Ejemplo:
N = 11001111
En este caso n = 8, y aqu a7 = 1; a6 = 1; a5 = 0;... a0 = 1
El vector referido precedentemente est asociado en este sistema numrico con la
raz o base 2 de la siguiente forma:
V = an-1. 2n-1 + + a2. 22 + a1. 21 + a0. 20
Este vector representa valores enteros positivos, y en el ejemplo dado
anteriormente, se podr calcular el nmero N (en decimal) o tambin |N| (por ser
entero y positivo), de la siguiente forma:

Si aplicamos esta ecuacin al nmero binario dado como ejemplo encontramos que
N = 207
Veamos los valores extremos que puede tener un nmero binario de 8 bits:
Nmin = a0 . B0 = 0

En el caso de un sistema de 8 bits, Nmax = 255


Aunque la matemtica binaria es bastante simple, los humanos la encontramos
complicada pues los nmeros son demasiado largos y difciles de leer, adems de
ser muy laborioso operar con ellos. Por ejemplo, el nmero 1101 0011 2 es
relativamente difcil de contextualizar, mientras que el decimal equivalente 211 10
es mucho ms sencillo.

Sistemas Octal (Base 8) y Hexadecimal (Base 16)


Admitimos entonces que las computadoras no tienen otra alternativa que operar en
el sistema binario, pero como ste no es agradable a los humanos, luego debemos
pensar en otro sistema de base ms grande. Podra ser el decimal de uso tan
difundido, pero ya vimos que tiene algunos inconvenientes, adems debemos elegir
un sistema de numeracin que sea de fcil conversin al binario y viceversa. Para
que la conversin sea sencilla, el sistema de numeracin adoptado debe tener una
base que sea potencia de dos (2, 4, 8, 16, 32, etc.), lo que no cumple el sistema
decimal. Por estos motivos, los ingenieros electrnicos utilizan tpicamente el
sistema octal (base 8) y el sistema hexadecimal (base 16).
Por ser un sistema de base 16, el hexadecimal requiere 16 smbolos individuales
para representar todos sus dgitos. Esto constituye un problema, pues los smbolos
arbigos son slo 10 (del 0 al 9). Para resolver el inconveniente, y no tener que
crear nuevos smbolos, se opt por adoptar los seis smbolos faltantes como las
primeras seis letras del alfabeto, de manera que el sistema hexadecimal qued
como sigue:

Se ha agregado tambin el decimal y el octal a los efectos de comparar los dgitos


y sus valores.
La metodologa para contar, tanto en el hexadecimal como en el octal, es la misma
que para los otros sistemas numricos de valores posicionales, o sea, cuando se
agotan los dgitos de una columna, el siguiente nmero en el conteo hace cero a esa
columna, e incrementa en una unidad la columna de la izquierda. Esto podemos
analizarlo en la siguiente tabla:
Decimal Binario Octal Hexadecimal
00 0000 0000 000 000
01 0000 0001 001 001
02 0000 0010 002 002
03 0000 0011 003 003
04 0000 0100 004 004
05 0000 0101 005 005
06 0000 0110 006 006
07 0000 0111 007 007
08 0000 1000 010 008
09 0000 1001 011 009
10 0000 1010 012 00A
11 0000 1011 013 00B
12 0000 1100 014 00C
13 0000 1101 015 00D
14 0000 1110 016 00E
15 0000 1111 017 00F
16 0001 0000 020 010
17 0001 0001 021 011
.... ................... ..... .....

Obsrvese en la tabla que los nmeros de los sistemas binarios, octal y


hexadecimal tienen antepuesto uno o varios ceros para "rellenar". Este relleno de
ninguna manera es necesario, pero se usa frecuentemente para indicar el nmero
fsico de bits usado para representar un determinado valor dentro de la
computadora.
Ntese, en la tabla, que cada dgito octal requiere tres dgitos binarios para ser
representado, mientras que cada dgito hexadecimal, requiere cuatro dgitos
binarios para ser representado. (Obviamente, sin contar los ceros de relleno).
En las primeras computadoras digitales, el transporte de datos se haca con
frecuencia en anchos de 9 bits, 12 bits, 18 o 24 bits. Debido a que cada dgito octal
requiere 3 bits para ser representado, era muy adecuado para ser representado en
los anchos mencionados. Pero desde hace algo ms de una dcada, se han
normalizado anchos que son mltiplos enteros de 8 bits, por ejemplo 8, 16, 32 o 64
bits. Debido a que cada dgito hexadecimal puede ser fcilmente representado por
4 dgitos binarios (4 bits), esto es perfectamente compatible con estos ltimos
anchos (y no con los de 9, 12 o 18 bits). Esto explica porqu el sistema octal
prcticamente ha cado en desuso, mientras que el hexadecimal se utiliza cada vez
ms.
Representacin de nmeros enteros mediante nmeros binarios. Aritmtica
binaria
Hemos hablado bastante acerca de los sistemas de numeracin, pero siempre
refirindonos a nmeros enteros positivos. Un anlisis ms detallado acerca de
cmo se representan, por ejemplo, los nmeros negativos, escapa a los alcances de
este curso. Sin embargo, para aquellos "que desean saber ms", se incluyen a
continuacin algunos conceptos que se encontrarn con frecuencia en la
bibliografa especfica, tales como el complemento de dos, o el bit de paridad.
Uno de los principales requerimientos en el trabajo con datos numricos, es que
exista la posibilidad de que los nmeros puedan ser distinguidos entre positivos y
negativos. Para ello existen tres sistemas de representacin, a saber:

a) Sistema de representacin con signo y mdulo


En esta representacin, del total de bits disponibles para la codificacin de
un nmero, se considera un bit (por convencin el MSB), como bit de signo.
El valor cero de este bit significar que el resto de los bits representarn a un
nmero positivo. En caso de ser 1, implica nmero negativo. De ms est
decir que en este caso se ve disminuido el rango de representacin con
respecto a los nmeros sin signo, por disponerse de un bit menos para la
representacin. De esta forma:
Rango N sin signo: 0 N 2 n - 1
(Ntese aqu que para 4 bit (n=4) Nmx = 15, y para 8 bit, Nmx = 255)
Rango N positivos (sig. y mdulo): 0 N 2n-1 - 1
(Ntese aqu que para 4 bit (n=4) Nmx = 7, y para 8 bit, Nmx = 127)
Rango N negativos (sig. y mdulo): 0 N -(2n-1 - 1)
Ejemplos:
para 4 bits para 8 bits
-7 N 7 -127 N 127
5 = 0101; -5 = 1101; -7 = 1111; 7 = 0111 25 = 00011001; -25 = 10011001
1 = 0001; -1 = 1001 1 = 00000001; - 1 = 10000001
Ventajas de este sistema: Es sencillo y fcilmente implementarlo por
hardware y software.
Desventajas: Reduce mucho la capacidad de la mquina, y se presenta el
caso de la dualidad para la codificacin del cero:
+0 = 00000000; -0 = 10000000
Adems en el caso de operaciones aritmticas con nmeros de distinto signo,
las magnitudes deben ser comparadas por separado para determinar el signo
del resultado. Este sistema prcticamente no se utiliza nunca.

b) Sistema de representacin complemento de 1


Para los nmeros positivos, la codificacin es igual que para el mtodo
anterior, o sea se hace an-1 = 0, quedando el nmero binario como:
N = 0 an-2 an-3 an-4 a1 a0
Para los nmeros negativos, se dice, por definicin, que el nmero negativo
de N, es el complemento de 1 de ese nmero, que se calcula de la siguiente
manera:

Siendo n el nmero de bits utilizado para la codificacin del nmero N


Ejemplo: Encontrar la expresin binaria de -12 en base 8 bits con el
complemento de 1: Para N = + 12: 00001100
Es decir: - 12 = C1 (12) = 11110011
Observando el resultado obtenido concluimos que la forma rpida de obtener
el complemento de 1 de un nmero cualquiera, es complementar bit a bit sus
dgitos.
El campo de representacin para este complemento ser:
-(2n-1 - 1) N 2n-1 - 1
para n = 8 bits ser:
-(27 - 1) N (27 - 1)
-127 N 127
Aplicando para aplicar este complemento al nmero cero, obtenemos:
0 = 00000000
-0 = C1 (0) = 11111111
Ventajas: Desde el punto de vista digital es fcilmente implementable.
Adems, el bit de signo, a diferencia del mtodo anterior, forma parte del
nmero, o sea que tiene asignado un cierto peso, que en este caso es -(2n-1 -
1). Esto permite una simplificacin de las operaciones aritmticas.
Desventajas: Persiste la dualidad en la representacin del cero, que en el
caso de las operaciones aritmticas juega un papel muy importante, y su
consideracin ser distinta en cada caso.
c) Sistema de representacin complemento de 2
Al igual que en los mtodos anteriores, la representacin para los nmeros
positivos es la misma, o sea
N = 0 an-2 an-3 an-4 a1 a0
Para los negativos se aplica la siguiente definicin:

Donde n es el nmero de bits utilizado para representar a N. Comparando las


definiciones del complemento de 1 y del complemento de 2, se concluye que:
C1 (N) = C2 (N) - 1 o sea que C1 (N) + 1 = C2 (N)
Aplicando la definicin del complemento de 2 al mismo ejemplo anterior (N =
12 representado en 8 bits) tenemos:
Para N = + 12: 00001100
= 100000000 - 00001100 = 11110100
y aplicando C2 (N) = C1 (N) + 1 se tiene:
C2 (12) = C1(12) + 1 = 11110011 + 1 = 11110100
(De esta forma hemos encontrado una forma rpida y eficiente de encontrar el
complemento a 2 de un nmero cualquiera, que consiste en sumar 1 al
complemento de 1, muy fcil de obtener).
El rango de representacin es:
-(2n-1) N 2n-1 - 1
para 8 bits ser:
- 128 N 127
Esta expresin queda demostrada al analizar la representacin del cero, ya que
es nica para los casos positivos y negativos, y que deja por lo tanto una
combinacin libre que es utilizada para ampliar el rango de representacin de
los nmeros negativos, a saber:
0 = 00000000 C2 (0) = 1 0000 0000 - 0000 0000 = 0000 0000
Esto se entiende si tenemos presente que 2 8 = 256d = 100000000b no tiene
posibilidad de representacin en 8 bit, siendo digitalmente igual a cero. (Esto
es similar al odmetro del automvil, que si es de 4 dgitos (= 4 bits), cuando
llega a
9999, el nmero siguiente es 0000). Entonces, todos los nmeros posibles de
representar con 8 bits, aceptando nmeros negativos definidos como
complemento de dos, sern:
127 = 0111 1111;; 1 = 0000 0001; 0 = 0000 0000; -1 = 1111 1111;; -127 = 1000 0000; -128 = 1000 0000

Es de destacar que +128 no puede representarse en este sistema (pues sera


igual a -1), y por lo tanto tampoco es lcito el complemento a dos de -128.
Ventajas: Al igual que en el complemento a 1, el bit de signo tiene peso dentro
del nmero, por lo tanto en las operaciones aritmticas no hay que hacer
diferencias entre las operaciones realizadas con operandos positivos y
negativos.
En complemento a dos el peso es -2n-1 = -128
En ambos casos (complemento a uno y complemento a dos), el peso del bit de
signo es el valor del mnimo nmero representable.
El cero tiene una sola expresin en binario.
Desventajas: Se complica un poco la operacin de complementacin, ya que
no es directa como en el caso de complemento a uno, pero para resolver esta
dificultad se aplica la frmula C2 = C1 + 1

Mtodo Prctico para encontrar el complemento a dos:


Existe una forma muy sencilla de encontrar prcticamente el complemento a dos
de un nmero cualquiera:
a) Se observan los dgitos binarios de derecha a izquierda.
b) Los ceros quedan como ceros, hasta la aparicin del primer uno.
c) ste queda como est, y de ah en ms se complementan bit a bit, todos
los dgitos restantes.
Ejemplo: 0100 1100
a)
b) 00
c) 10110100
y si aplicamos la frmula de complemento a dos:
N = 0100 1100; C1 (N) = 10110011; C2 (N) = C1 (N) + 1 = 10110100 c.q.d.
Este mtodo tiene su extensin en el sistema hexadecimal, como es de suponer.

Operaciones aritmticas
Aunque aparentemente sencillo, el tema tiene sus dificultades para analizarlo
exhaustivamente. No corresponde al propsito de este curso abordar este tema con
mucho detalle, aunque brevemente se menciona:
Suma de dos nmeros positivos: (es el caso ms sencillo). Por ejemplo, si A = 20 y
B = 15, sumar A + B (en sistemas binarios de 8 bits):
20 00010100 A
+
15 00001111 B
35 00100011 A+B
El caso de sustracciones, se resuelve aplicando el complemento de dos, y
considerando como una suma de un nmero positivo con uno negativo. En general
los microprocesadores resuelven las operaciones aritmticas basndose siempre en
la suma, de la siguiente manera:
Resta: Suma con distinto signo
Multiplicacin: Sumas sucesivas
Divisin: Restas sucesivas
Potenciacin: Multiplicaciones sucesivas
Radicacin: Mtodo aproximado
Siendo pragmticos y desde un punto de vista estrictamente vinculado a la
Electrnica (y no a la aritmtica o a la formacin general), cuando debamos hacer
programas que requieran la aplicacin de operaciones en binario, es fuertemente
recomendable utilizar las herramientas de clculo que nos brinda la tecnologa a
travs de las modernas calculadoras, que en forma sencilla nos permiten pasar de
decimal a binario o a hexadecimal, y operar cmodamente en cualquiera de esos
sistemas, como por ejemplo la calculadora del Windows.
Un caso particular de divisin que puede resultar interesante de aplicar a algn
programa:
Si en un nmero cualquiera de 16 bits por ejemplo, se desea copiar los 10 bits
MSB a los lugares inferiores (LSB) (por algn motivo requerido por la
programacin), basta con hacer la divisin por 64b. Veamos un ejemplo:
N = 0000000010100100 / 1000000 = 0000000010
Hacer otros ejemplos en la calculadora. Ms adelante se aplicar esta propiedad.
Deteccin de Errores:
Los procesadores digitales tienen de todo tipo tienen la necesidad de conformar
una comunicacin con otros sistemas procesadores u otros sistemas inteligentes
para intercambio de datos e informacin, por lo que es de fundamental importancia
que estas comunicaciones (que tambin son digitales) se hagan en forma rpida,
eficiente y segura.
No entraremos a analizar aqu los diferentes sistemas de comunicacin entre
procesadores, solo mencionaremos que una de las ms utilizadas en la actualidad
son las comunicaciones seriales asincrnicas con norma o protocolo RS-232,
aunque vieja y lenta en relacin a otras normas desarrolladas con posterioridad, es
segura, sencilla y conveniente en particular cuando no es muy voluminosa la
informacin a transmitir.
Este protocolo de comunicacin puede tener (no lo tiene necesariamente), un
sistema de deteccin de errores denominado bit de paridad, que consiste en un
bit extra agregado al dato que se transmite (genricamente hablando, "dato" puede
ser un nmero, una letra en ascci, o una porcin de informacin codificada), en el
cual se lleva la cuenta de la cantidad de 1 del dato a transmitir. Si esa cantidad es
impar, el bit de paridad es igual a 1, y si es par, el bit de paridad es igual a cero.

Ejemplo: Sea el dato de 7 bits 0010110


en este caso el bit de paridad es igual a 1
Si el dato 0110101
el bit de paridad es igual a cero
Si bien lo estamos tomando como una definicin, tiene una sencilla explicacin: en
el primer caso del ejemplo, se debe agregar un 1 para que el nmero total de 1s
del dato sea par; ese 1 se agrega en el bit de paridad. En el segundo caso del
ejemplo, como ya el dato tiene una cantidad de 1s par, el bit de paridad es = 0. El
bit de paridad se coloca siempre en la posicin del MSB del dato.
Este mtodo tiene la ventaja de la simplicidad, pero al ser tan elemental no detecta
por ejemplo un doble error, ya que de producirse no se vera afectada la cantidad
de 1s enviada y el aviso de error sera 0.

Fundamentos de Electrnica Digital: Compuertas Lgicas


Qu es la lgica?
Los primeros estudios de lgica se atribuyen a Aristteles (siglo IV a.C.). En
general, la lgica es la aplicacin metdica de principios, reglas y criterios de
razonamiento para la demostracin y derivacin de proposiciones. Antes de
explicar que es una proposicin, veamos qu es una sentencia.
Si yo digo: "Tu cara es linda", esto es ambiguo o subjetivo, dependiendo de quin
estoy hablando, puede ser verdadero o falso. Esto es una sentencia. Pero si yo digo
"Querida, acabo de chocar tu auto", esto es o verdadero o falso, pero no cabe otra
posibilidad. Esto es una proposicin. Es decir, la proposicin puede ser verdadera o
falsa, pero es definitivamente una u otra, y no hay ninguna ambigedad entre ellas.
En lgica, existen dos clases de proposiciones: las simples y las compuestas. Las
simples son aquellas que afirman o niegan algo; por ejemplo: la electrnica es
fcil, la guerra no sirve, "los automviles son caros", etc.
Las proposiciones compuestas son las que resultan de combinar dos o ms
proposiciones simples; por ejemplo: la Ferrari Testarosa es un automvil se
puede combinar con la Ferrari Testarosa es muy cara para formar la proposicin
compuesta La Ferrari Testarosa es un automvil muy caro.
Cualquier proposicin lgica puede ser falsa o verdadera, pero esta asignacin
no tiene necesariamente que estar relacionada con las nociones de verdad y
falsedad que manejamos en el mundo real; slo indican validez o invalidez de un
juicio dentro del marco del razonamiento lgico.
En el siglo XIX se dio un gran paso en el desarrollo de la ciencia de la lgica
cuando el matemtico ingls George S. Boole (1815-1864) public el tratado
Anlisis matemtico de la lgica. Boole estudi el trabajo de Aristteles y cre a
partir de l un lenguaje simblico llamado lgebra Booleana, que sintetiza la
lgica aristotlica.
Pero el trabajo de Boole permaneci prcticamente en el anonimato durante casi
cien aos, hasta que en 1938, Claude B. Shannon, en un artculo titulado Anlisis
simblico de rels y circuitos de conmutacin, explic cmo el lgebra booleana
podra ser utilizada para describir la operacin de un equipo de conmutacin
telefnica. Fue en realidad Shannon el primero en relacionar la teora lgica a la
teora de los circuitos electrnicos, estableciendo los principios de la lgica digital.
Conceptos Bsicos de Lgica Digital:
La lgica digital es una ciencia de razonamiento numrico aplicada a circuitos
electrnicos que toman decisiones del tipo si ... entonces: si una serie de
circunstancias particulares ocurre, entonces una accin particular resulta. El
resultado es siempre el mismo para una serie dada de circunstancias. La lgica
digital constituye la base del funcionamiento de las modernas computadoras, y
tiene, como es de suponer, un grado de complejidad que la hace escapar a los
alcances de este curso. Sin embargo, debemos ver unos pocos conceptos sencillos,
que sern tiles para comprender luego cmo se trabaja en el mundo digital.
La posibilidad de predecir el resultado final es propia del diseo de sistemas
digitales a partir de circuitos bsicos llamados compuertas. Las compuertas son
bloques electrnicos elementales (constituidos, por ejemplo, por uno o dos
transistores) que realizan operaciones lgicas sencillas y toman decisiones.
Enseguida volvemos a las compuertas, pero antes que nos asuste esta terminologa
todava desconocida para nosotros, veamos con un ejemplo cmo es posible llevar
una relacin lgica lingstica hasta un circuito electrnico lgico.
Supongamos que se desea abrir una puerta slo cuando se ilumine un sensor de luz
de control y simultneamente se cierre un interruptor (caso sencillo de la puerta de
un ascensor). Las premisas que describen este sistema son las siguientes:
Sensor de luz iluminado = A
Interruptor de seguridad cerrado = B
Puerta abierta = C
Cada una de estas tres premisas puede ser falsa o verdadera; es decir tener un valor
lgico 0 (falso) 1 (verdadero). O sea, si el sensor de luz no est iluminado,
entonces A = 0, si la puerta est abierta, entonces C = 1, y as sucesivamente.
Si elaboramos una tabla que contenga todas las posibles combinaciones de
verdadero y falso (unos y ceros) de las premisas previamente establecidas,
obtendramos el siguiente resultado:

A = 0: Sensor de luz no iluminado


1: Sensor de luz iluminado
B = 0: Interruptor abierto
1: Interruptor cerrado
C = 0: Puerta cerrada
1: Puerta abierta

Segn los requisitos originales del problema, la puerta C slo se abre si el sensor
de luz A es iluminado, y el interruptor B se cierra. Esta relacin se puede describir
analticamente mediante la expresin:
C = A .B (leer: C es igual a A y B)
Esta expresin puede representarse simblicamente como se muestra en la
siguiente figura:
(Smbolo lgico)

Este sistema propuesto, tambin puede


representarse por un circuito elctrico
bsico, donde A y B son dos interruptores
(A accionado por el sensor de luz de la
puerta, y B, en forma mecnica por el
ascensorista) en serie con una fuente e
imaginando un motor que ejecuta la
apertura de la puerta, en lugar de la
lmpara Q representada en la figura
En el ejemplo anterior A, B y C son ejemplos de variables lgicas o booleanas. En
este ejemplo especfico, A y B son variables de entrada, y C es una variable de
salida. Las variables lgicas se identifican generalmente por caracteres alfabticos
(A, B, C, etc.) y slo pueden adoptar dos valores: 0 1.
En electrnica digital, las variables lgicas se emplean para representar el nivel de
voltaje presente en una determinada parte del circuito, o en sus terminales de
entrada y salida. En consecuencia, el 0 y el 1 lgicos no representan nmeros
propiamente, sino el valor de un nivel de voltaje. El voltaje en un punto cualquiera
de un circuito digital se encuentra en su nivel lgico 0 1 dependiendo de su valor
numrico real, por ejemplo, 0 5 V.
La tabla vista en la pgina anterior, es un ejemplo de tabla de verdad. Una tabla
de verdad muestra cmo la salida de un circuito lgico, responde a todas las
posibles combinaciones de niveles o estados lgicos de las entradas. En otras
palabras, una tabla de verdad resume la operacin de un circuito lgico.
La expresin C = A.B es un ejemplo de ecuacin lgica o booleana. Una ecuacin
lgica describe analticamente la relacin entre cada variable de salida y las
variables de entrada.
La relacin entre las variables de entrada se realiza mediante operadores o signos
lgicos.
El ejemplo anterior corresponde a la compuerta AND, cuyo smbolo lgico, tabla
de verdad y ecuacin lgica son los que hemos visto, sin indicar que se trataba de
la compuerta AND.
Los tres operadores lgicos bsicos son (hay otros que no veremos):
AND (.), OR (+), NOT (-)
y las operaciones lgicas que se realizan con ellos se denominan respectivamente
AND, OR, NOT. A su vez, estos operadores lgicos se corresponden con circuitos
electrnicos especializados llamados compuertas que realizan stas y otras
operaciones con niveles de voltaje del orden de 5 V para representar las
condiciones verdaderas, altas 1 lgico y del orden de 0 V para representar las
condiciones falso, bajo 0 lgico.
El smbolo lgico dado en la pgina anterior es un ejemplo de representacin
lgica.
Todos los circuitos digitales se representan mediante smbolos lgicos, cada uno de
los cuales representa una operacin lgica (AND, OR, etc.) entre las variables de
entrada.
Con el ejemplo visto, supuestamente hemos perdido el miedo a las compuertas.
Son tan sencillas como lo demuestra el ejemplo, sin embargo, en gran nmero (un
procesador Pentium tiene millones de ellas) y convenientemente dispuestas y
combinadas, permiten realizar las mltiples y complejas operaciones de las
actuales PC.
Compuertas AND, OR y NOT
Entremos ahora en tema. Se ha dicho que las compuertas son los bloques bsicos
de cualquier circuito digital. Todos los aparatos digitales desde el ms simple
dispositivo hasta la ms sofisticada computadora, estn formados por compuertas
conectadas en una gran variedad de configuraciones.

La decisin tomada por una compuerta consiste en situar su salida en 0 o en 1,


dependiendo del estado de sus entradas, y de la funcin lgica para la cual ha sido
diseada.
En electrnica digital existen ocho compuertas designadas como AND, OR, NOT,
YES, NAND, NOR, XOR y XNOR. En nuestro curso veremos slo las tres
primeras.
Compuerta AND de dos entradas:
Una compuerta AND de dos entradas, es un dispositivo lgico que entrega una
salida alta cuando todas sus entradas son altas y una salida baja cuando hay un
bajo en alguna (o ambas) de sus entradas, tal como se ha visto en el ejemplo del
ascensor
Smbolo lgico:

En la figura anterior se muestran el smbolo lgico, la ecuacin lgica y la tabla de


verdad de una compuerta lgica de dos entradas. La expresin Q = A.B debe
leerse como Q es igual a A y B y no como Q es igual a A por B.
El signo (.) indica la funcin propia de una
compuerta AND, y se puede omitir. De
este modo, Q = A.B es lo mismo que Q =
AB.
La funcin lgica realizada por una
compuerta AND se denomina operacin
AND o producto lgico. El circuito
elctrico equivalente es similar al visto en
el ejemplo.

Compuertas OR de dos entradas:


Una compuerta OR es un dispositivo digital que entrega una salida baja cuando
todas sus entradas son bajas, y una salida alta cuando existe por lo menos un alto
en cualquiera de sus entradas o en las dos al mismo tiempo.
En la siguiente figura se muestra el smbolo lgico, la ecuacin lgica, y la tabla de
verdad de una compuerta OR de dos entradas.
La expresin A + B = Q debe leerse como Q es igual a A o B A o B igual a
Q, y no como Q es igual a A mas B.
Smbolo lgico:
El signo (+) denota la funcin propia de una compuerta OR y no se debe omitir.
Tampoco debe confundirse con el signo mas de la suma aritmtica. La funcin
realizada por la compuerta OR se
denomina operacin OR o suma
lgica.
La operacin de una compuerta OR
es anloga a la del circuito elctrico
que se muestran en la figura. Los
interruptores A y B representan las
entradas de la compuerta, y la
lmpara Q, su salida. Debido a que
los interruptores estn en paralelo,
la lmpara Q slo se apagar cuando
ambos interruptores A y B estn
abiertos, y permanecer encendida cuando cualquiera de los interruptores, o
ambos, estn cerrados.

Compuertas NOT o inversores:

Una compuerta NOR o inversor es un dispositivo lgico digital con una lnea de
entrada y una lnea de salida que entrega una salida alta cuando su entrada es baja
y una salida baja cuando su entrada es alta.
En otras palabras, un inversor invierte, niega o complementa el nivel lgico de la
seal de entrada. Es una de las compuertas ms utilizadas.
La expresin Q = A debe leerse como Q es igual a no A, o Q es igual a A
negado. El pequeo crculo en el smbolo lgico y la barra horizontal en la
ecuacin lgica, denotan el proceso de inversin realizado por esta compuerta.
La funcin lgica realizada por un
inversor se denomina inversin o
complemento lgico. No existen
inversores de dos o ms entradas. La
operacin del inversor es anloga a la
del circuito elctrico mostrado en la
figura. El interruptor A representa la
entrada de la compuerta y la lmpara su
salida. Debido a que el interruptor A est en paralelo con la lmpara Q, esta ltima
se encender cuando el interruptor A se abra, y se apagar cuando ste se cierre.
Nota importante:
Todos los circuitos elctricos equivalentes a las compuertas AND OR y NOT
dados, se reproducen solo y exclusivamente a los efectos didcticos de
comprender con un smil elctrico, el comportamiento y funcin de la
respectiva compuerta, nada tienen que ver con los circuitos electrnicos reales
de las compuertas, compuestos de transistores de diferentes tipos y cuyo
detalle escapa al alcance de este curso.
Esta nota tiene an mayor importancia para el caso del circuito elctrico
equivalente a la compuerta NOT visto en ltimo trmino, que debe
considerarse solo como una analoga no realizable prcticamente. Es obvio
que elctricamente no podra funcionar porque al cerrar el interruptor A, se
pondra en cortocircuito la fuente (a menos que se intercale una resistencia).

Diagramas de temporizacin
Para completar este breve panorama de compuertas lgicas, debemos considerar en
el anlisis, el parmetro tiempo. En efecto, en los conceptos vertidos hasta el
momento acerca de las compuertas lgicas, nada decimos acerca de cuanto demora
cada operacin lgica.
Y en algunas aplicaciones, slo bastar ejecutar la operacin lgica, sin importar el
tiempo que esto tome, dado que no ser necesario realizar otra operacin inmediata
posterior. Pero por lo general, en la realidad, esto no funciona as; cada operacin
lgica puede hacerse en el orden de los 50 nanosegundos (o menos), con lo que
pueden hacerse millones de operaciones por segundo. Esto tiene importancia si
pensamos que despus de cada operacin las condiciones de entrada pueden
modificarse, requerir un nuevo clculo y as sucesivamente. Mientras ms rpido
acten las compuertas, ms rpido ser el procesador.
Teniendo en cuenta lo anterior, nos interesa introducir aqu el concepto de
diagramas de tiempo. En stos se muestran cmo se comporta la salida cuando
recibe en sus entradas, seales que cambian de un estado a otro con el tiempo. Lo
comprenderemos mejor si analizamos el comportamiento de las compuertas AND
y OR mediante los siguientes ejemplos.
Diagrama de temporizacin de una compuerta AND
En la figura de la derecha se muestra un
diagrama de temporizacin de una compuerta
AND de dos entradas. Observe que entre T1 y
T2 la entrada A est en bajo y la entrada B est
en bajo. En consecuencia la salida Y es de
nivel bajo. Entre T2 y T3, A est en bajo y B
est en alto. En consecuencia la salida Y es de
nivel bajo. Entre T3 y T4, A est en alto y B
esta en bajo, en consecuencia, Y es de nivel
bajo. Entre T4 y T5, A est en alto y B est en
alto, en consecuencia Y es de nivel alto. Del mismo modo se analizan los dems
intervalos.

Diagrama de temporizacin de una compuerta OR


En la figura de la izquierda se muestra el
diagrama de temporizacin de una compuerta
OR de dos entradas.
Entre T1 y T2, la entrada A esta en bajo y la
entrada B est en bajo, en consecuencia la
salida Y es de nivel bajo. Entre T2 y T3 A
est en bajo y B esta en alto. En
consecuencia, Y es de nivel alto. Del mismo
modo se analizan los dems intervalos.

Conceptos de lgebra de Boole


Ya se mencion anteriormente que Boole fue el creador de la denominada
"lgebra Booleana" expuesta en su obra Anlisis matemtico de la lgica
publicada en 1847.
El mtodo booleano permite fcilmente representar, analizar y disear circuitos
digitales, ya que la operacin completa de tales circuitos se puede describir mejor
por lgebra booleana que utilizando complicados diagramas lgicos y extensas
tablas de verdad.
Sin embargo no fue sino hasta el advenimiento de los transistores, circuitos
integrados, compuertas, circuitos y sistemas digitales, que el lgebra booleana
adquiri un papel determinante en el desarrollo de la electrnica digital moderna y
sus aplicaciones. De manera que Boole nunca supo de la gran utilidad de sus
desarrollos.
Cuando se disea un circuito por mtodos booleanos, el primer paso consiste
generalmente en obtener su tabla de verdad de acuerdo a las condiciones de
entrada y salida. A partir de esta tabla se deriva entonces una ecuacin booleana
que se simplifica y conduce al circuito lgico deseado.
El circuito obtenido por este mtodo es el ptimo porque requiere de un nmero
mnimo de compuertas para su realizacin. Esto reduce el costo, el tamao fsico y
el consumo de potencia del mismo y mejora su confiabilidad y velocidad. Todas
estas consideraciones son importantes al disear circuitos digitales.
En lgebra booleana, las entradas y salidas de un
circuito digital se representan mediante
caracteres alfabticos llamados variables
booleanas o lgicas. Generalmente, las entradas
se designan con las primeras letras del alfabeto,
y las salidas, por las ltimas. (Ver figura).
Como es de suponer, las variables booleanas se
caracterizan por ser binarias, es decir, porque
slo pueden adoptar uno de dos valores o estados posibles: 0 1. En electrnica
digital, una variable booleana representa el nivel de voltaje presente en un punto de
un circuito. El 0 designa el nivel bajo y el 1, el nivel alto.
Las variables booleanas se combinan para formar ecuaciones booleanas o lgicas.
Una ecuacin booleana es una expresin que sintetiza la funcin de un circuito
digital. En la tabla siguiente se resumen las ecuaciones booleanas estudiadas hasta
ahora:

La ecuacin booleana consta de tres elementos: variables de entrada, variables de


salida y operadores lgicos. Los operadores lgicos son los signos que relacionan
entre s las variables de entrada, y establecen su relacin con la o las variables de
salida.
Veamos algunos ejemplos de ecuaciones booleanas:
P=A

En estas expresiones, A, B, C y D son variables de entrada, P, Q y X son variables


de salida y . (AND), + (OR) y (NOT), son operadores lgicos. El signo =
(igual) establece la equivalencia entre el estado de la salida y el de las entradas.
En el caso de la ecuacin P = A, por ejemplo, la salida P tiene siempre el mismo
valor de la entrada A: si la entrada es 0, la salida es 0 y si la entrada es 1, la salida
tambin es 1.

Operaciones bsicas y derivadas


El lgebra booleana maneja tres operaciones bsicas, llamadas AND o producto
lgico, OR o suma lgica y NOT o complemento lgico. Estas operaciones son
realizadas en la prctica por las compuertas AND, OR y NOT, respectivamente.
La operacin AND de dos variables A y B se denota como A.B y produce una
variable de salida que es 1 cuando A=1 y B=1, y es 0 cuando cualquiera de las
entradas sea igual a 0.
En resumen:
A.B=Q
0.0=0
0.1=0
1.0=0
1.1=1
Otras formas de expresar la operacin AND de A y B son AB y A(B), o sea se
puede omitir el punto o utilizar parntesis. Al igual que con las compuertas,
A.B=Q se lee A y B es igual a Q y no A por B.
La operacin AND tiene validez para ms de dos variables, por ejemplo A.B.C
slo es igual a 1 cuando A=B=C=1.
La operacin OR de dos variables A y B se denota A + B, y produce una variable
de salida que es 0 cuando A=B=0, y es 1 cuando cualquiera de sus entradas es
igual a 1. En resumen:
A+B=Q
0+0=1
0+1=1
1+0=1
1+1=1
La expresin A+B=Q debe leerse como A B es igual a Q y no A ms B.
Tambin la expresin OR es extensiva a ms de dos variables. Por ejemplo,
A+B+C = 0 slo cuando A=B=C=0.
La operacin NOT de una variable A se denota como , y produce una variable de
salida que es 0 cuando A = 1, y 1 cuando A = 0. En resumen:
=Q
=1
=0
Otras formas de denotar el complemento de A son A y A*. La expresin = Q,
debe leerse como no A es igual a Q y no como menos A.
As como existen otros operadores lgicos, existen otras operaciones en el lgebra
booleana, como tambin operaciones derivadas. Igualmente existen una serie de
Reglas o propiedades del lgebra booleana, tal como existen propiedades del
lgebra tradicional.
Slo a los efectos ilustrativos mencionaremos algunas de estas Reglas:

Reglas del lgebra booleana


En lgebra booleana existen 22 reglas muy sencillas e importantes, que aplicadas
correctamente, contribuyen a simplificar las ecuaciones booleanas y a minimizar el
nmero de compuertas requeridas para implementar un determinado circuito,
hacindolo ms econmico, ms rpido y menos productor de calor a disipar por
tener menos componentes.
Las reglas que se dan a continuacin, son sencillas de comprender, si se tiene bien
claro cmo trabajan las compuertas AND, OR y NOT.
Reglas del producto lgico (AND):

Regla N 1 A.0 = 0
Regla N 2 A.1 = A

Las reglas 1 y 2 se denominan leyes de la


multiplicacin o producto lgico y se
ilustran en la figura. Estas reglas son vlidas tambin para las compuertas AND de
varias entradas.

Reglas de la suma lgica

Regla N 3 A+1=1
Regla N 4 A+0=A

Las reglas 3 y 4 se denominan leyes de la


suma lgica y se ilustran en la figura. Estas
reglas son vlidas tambin para las compuertas OR de varias entradas.

Leyes de tautologa

Regla N 5 A.A=A
Regla N 6 A+A=A

Las reglas 5 y 6 se denominan leyes de


la tautologa y se ilustran en la figura.
Establecen que la operacin OR o AND de una variable consigo misma, es igual a
la variable original. Esto quiere decir que si se aplica la misma seal de entrada a
las entradas de una compuerta OR o AND, la salida ser siempre igual a la seal de
entrada. Tambin en este caso, la regla es vlida para compuertas de varias
entradas.

Leyes de los complementos

Regla N 7 A . = 0
Regla N 8 A + = A

Las reglas 7 y 8 se denominan leyes de


los complementos y establecen que la
operacin AND de una variable A con
su complemento es siempre igual a 0 y la operacin OR de las mismas es siempre
igual a 1.

Ley de la doble negacin

Regla N 9 =

Esta regla se denomina


ley de la doble negacin,
y establece que la doble negacin de la variable A es igual a A. Es decir, si se
aplica una seal a un inversor y la seal de salida de este ltimo se vuelve a
invertir, la seal de salida final es la misma seal de entrada, como se observa en la
figura.

Leyes conmutativas:

Regla N 10 A . B = B . A
Regla N 11 A + B = B + A

Las reglas 10 y 11 se denominan leyes conmutativas, y establecen que las entradas


a una compuerta AND u OR se pueden intercambiar, y la salida no cambia.

Leyes distributivas:
Regla N 12: Ley distributiva de la operacin AND
AB + AC = A.(B+C)
Regla N 13: Ley distributiva de la operacin OR
(A + B).(A+C) = A + BC
Las reglas 12 y 13 se denominan leyes distributivas. La regla 12 opera de la misma
forma que la regla estndar de factorizacin del lgebra comn: cuando un trmino
A se repite en una suma de productos, la expresin original se puede factorizar y
simplificar, convirtindose en un producto de sumas.
La regla 13 opera de manera similar a la regla estndar de expansin del lgebra
comn: cuando un trmino A se repite en un producto de sumas, la expresin
original se puede expandir y simplificar, convirtindose en una suma de productos
ms sencillos.

Comentario final
No hemos agotado, con lo visto, las reglas del lgebra booleana. Tambin es cierto
que no son imprescindibles para los propsitos de nuestro curso. Lo que debe
quedar muy claro, es la diferencia que existe, por ejemplo, entre estas tres
operaciones, que haremos todas en 8 bits para que apreciemos perfectamente las
diferencias:
1) Suma aritmtica binaria (no tiene nada que ver con el lgebra de Boole y es
exactamente igual que sumar nmeros decimales, slo cambia el sistema de
numeracin)
Ejemplo: 0101 1100 + 0011 0011 = 1000 1111
9210 + 5110 = 14310
5C16 + 3316 = 8F16
2) Operacin AND (se resuelve aplicando la lgica de Boole, aunque por su
sencillez lo podemos hacer en forma directa)
Sea A = 0101 1100; B = 0011 0011; Q = A AND B = A.B = 0001 0000
Tambin se puede hacer, aunque no es evidente como en binario:
Q = 9210 AND 5110 = 1610
y Q = 5C16 AND 3316 = 1016
3) Operacin OR (dem 2)
Sea A = 0101 1100; B = 0011 0011; Q = A OR B = A + B = 0111 1111
Y tambin se puede hacer:
Q = 9210 OR 5110 = 12710
y Q = 5C16 OR 3316 = 7F16
Notar que el significado del signo + del tercer ejemplo NO es igual que el
del primero.
Notar igualmente que para operaciones aritmticas los humanos preferimos
hacerlas en sistema decimal sin embargo, para trabajar en lgebra de Boole,
es mucho ms cmodo y seguro hacerlo en binario.
Si hemos comprendido bien estos tres ejemplos, y las diferencias entre ellos,
entonces ya tenemos la base que necesitamos para continuar nuestro curso.

También podría gustarte