Professional Documents
Culture Documents
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:
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
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.
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)
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.
Regla N 1 A.0 = 0
Regla N 2 A.1 = A
Regla N 3 A+1=1
Regla N 4 A+0=A
Leyes de tautologa
Regla N 5 A.A=A
Regla N 6 A+A=A
Regla N 7 A . = 0
Regla N 8 A + = A
Regla N 9 =
Leyes conmutativas:
Regla N 10 A . B = B . A
Regla N 11 A + B = B + A
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.