CIRCUITO LÓGICO

viernes, 19 de noviembre de 2010

CIRCUITOS LÓGICOS

 CIRCUITOS LÓGICOS

DEFINICIÓN 
Circuito lógico es aquel que maneja la información en forma de "1" y "0", dos niveles lógicos de voltaje fijos."1" nivel alto y "0" nivel bajo.
Los circuitos lógicos, forman la base de cualquier dispositivo en el que se tengan que seleccionar o combinar señales de manera controlada. Entre los campos de aplicación de estos tipos de circuitos pueden mencionarse la conmutación telefónica, las transmisiones por satélite y el funcionamiento de las computadoras digitales.

SISTEMAS NUMÉRICOS: NÚMEROS BINARIOS

SISTEMAS NUMÉRICOS
NÚMEROS BINARIOS
Como mencionamos anteriormente, los sistemas digitales actuales sólo procesan dos señales (apagado o encendido) y es por ello que se aplica el término de binario. Nosotros estamos acostumbrados a usar los números en base decimal (o base 10) pero ésta es sólo una de las formas de representar cantidades. En realidad "2" es sólo un símbolo y cuando lo vemos nosotros entendemos que existen dos unidades de algo. Si yo les digo que tengo 2 computadoras ustedes no visualizan el símbolo 2 sino la cantidad... quizá representada por una computadora al lado de la otra, pero no el símbolo. Así que "2" es sólo eso: un símbolo. Lo que trato de hacerles entender es que no importa cómo lo expresemos, qué símbolo o símbolos usemos, lo importante es que entendamos ese "lenguaje" y saber qué es lo que representa. Usamos los símbolos como una abstracción para representar cantidades.

CONVERSIÓN DE DECIMALES Y BINARIOS

Conversión entre números decimales y binarios

Convertir un número decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada división en orden inverso al que han sido obtenidos.
Por ejemplo, para convertir al sistema binario el número 7710 haremos una serie de divisiones que arrojarán los restos siguientes:
77 : 2 = 38 Resto: 1
38 : 2 = 19 Resto: 0
19 : 2 = 9 Resto: 1
9 : 2 = 4 Resto: 1
4 : 2 = 2 Resto: 0
2 : 2 = 1 Resto: 0
1 : 2 = 0 Resto: 1
y, tomando los restos en orden inverso obtenemos la cifra binaria:

7710 = 10011012

NÚMEROS HEXADECIMALES Y OCTALES

NÚMEROS HEXADECIMALES Y OCTALES
Los números hexadecimales son aquellos que están en base 16. En el caso de los octales tienen base 8. Estos números son muy usados en los sistemas digitales principalmente porque pueden representar los números binarios de una forma más compacta (debido a que 23 son 8 y 24 son 16). Realizar esa conversión es extremadamente sencillo. Veamos el siguiente ejemplo: (10100101)2 es un número binarios de 8 bits (o un byte). Este puede ser representado en dos partes de 4 bits (conocidas como NIBBLES). Si dividimos el byte del ejemplo en sus Nibbles, tendríamos: 1010 y 0101 cada una representando 24 posibilidades, o sea un número hexadecimal (un número entre 0 y 15). Así:

(1010)2 = (A)16 , (0101)2 = (5)16 => (10100101)2 = (A5)16.


El caso de octal es semejante. Si tenemos el número (101010111)2 podríamos dividir éste en tres partes de 3 bits (o sea, con 23 posibilidades cada una) y tendríamos: 101, 010 y 111 que representan los números octales 5, 2 y 7 respectivamente. Por lo tanto:


(101010111)2 = (527)8


Y por supuesto que hacer lo contrario, o sea, convertir de octal o hexadecimal a binario, es igual de sencillo. Por ejemplo:


(7531)8 => 111 101 011 001 => (111101011001)2


(123,A)16 = 0001 0010 0011 , 1010 = (000100100011,1010)2

CODIGOS BINARIOS

CODIGOS BINARIOS
Como ya vimos, los sistemas digitales usan señales eléctricas para representar dos posibles valores o estados que asociamos con cierto o falso. Como ya vimos también, para expresar información en estos sistemas hacemos uso de los números binarios ya que con ellos podemos representar los dos estados estables de los sistemas digitales a través del 0 y el 1 (y que podemos usar una combinación de éstos para representar cualquier cantidad). Muy bien, pero los sistemas digitales electrónicos pueden ser usados para procesar información discreta de cualquier tipo ya sean números decimales, letras, colores, etc y es por ésto que en la mayoría de los casos se hace conveniente el expresar la información que se desea procesar de una forma que sea más manejable. Es aquí donde entran los códigos binarios.
Como les dije en el tema pasado, al elemento mínimo de un número binario se le conoce como bit. Un bit no es más que un código binario que sólo puede representar los dos estados estables. Un bit es por definición un dígito binario.
Si se quieren expresar un número de elementos de 2n se requerirán entonces n bits para expresar dicho número de elementos. Por ejemplo si se quieren representar 4 posibilidades se requerirán entonces 2 bits ya que 22 = 4 (y de hecho estas combinaciones son 00 01 10 y 11 que, fácilmente verificable, representan los números decimales del 0 al 3). Si se quieren representar 8 elementos entonces se requieren 3 bits ya que 23 = 8 (000, 001, 010, 011, 100, 101, 110 y 111, en decimal del 0 al 7). En resumen, con n bits se pueden representar 2n opciones que irán desde 0 hasta 2n – 1.
Ahora bien, no siempre se requerirá expresar una cantidad exacta de una potencia de 2. Por ejemplo si queremos mostrar las posibilidades en los dígitos decimales requeriremos de 10 combinaciones. Por supuesto, tendremos que usar cuatro bits ya que con tres sólo podremos representar 8 de ellas. Con los cuatro bits tenemos un exceso pero lo que se hace es ignorar el resto de las combinaciones

CÓDIGOS DECIMALES

CÓDIGOS DECIMALES
Entre los códigos binarios tenemos algunos que se usan para representar dígitos decimales. Las formas para representar los números decimales con códigos binarios es muy variada y depende de la lógica que se use. El más usado de todos estos códigos es el BCD (por sus siglas en inglés de “Binary Coded Decimal” o “decimal codificado en binario”). En este caso se usa una relación directa para expresar los dígitos decimales. ¿Qué quiero decir con directa? Pues bien, que al convertir el número binario a decimal obtendrás el dígito decimal en cuestión. Por ejemplo para expresar el (0)10 usamos 0000, para el (5)10 0101 y para el (9)10 1001 (más adelante mostraré una tabla con todas las combinaciones). La forma de calcular el número binario para representar el dígito decimal viene dada por la fórmula explicada en el tema anterior pero para realizar un cálculo rápido recuerden que la carga del primer dígito binario representa 8, la del segundo 4, la del tercero 2 y la del cuarto y último representa 1. Por supuesto que en BCD no existen 1100, 1010, etc ya que éstas no muestran ningún dígito decimal. Otro ejemplo: para representar el dígito decimal 6 en código BCD sería: 0110 ya que:
0 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 6
Un código decimal que se ha usado en algunos computadores viejos es el código de “exceso a 3”. Este último es un código sin carga, cuya asignación se obtiene del correspondiente valor en BCD una vez se haya sumado 3. Ejemplo (0)10 = 0011, (9)10 = 1100, etc.
También es posible asignar cargas negativas a un código decimal, como por ejemplo en el código 8, 4, -2, -1. En este caso la combinación de bits 0110 se interpreta como el dígito decimal 2, ya que como se ve:
0 x 8 + 1 x 4 + 1 x (-2) + 0 x (-1)=2

CÓDIGOS ALFANUMÉRICOS

CÓDIGOS ALFANUMÉRICOS
Y ¿qué pasa cuando el dato que quiero manejar es una letra? Aquí se hace necesario el expresar este elemento discreto de una forma binaria y para ello usamos algún código binario alfanumérico. Así expresamos las letras del alfabeto y algunos símbolos necesarios como la coma, el punto, etc. Yo les hablaré en particular del código ASCII (por American Standard Code for Information Interchange) que es un código de 7 bits que se usa para expresar las letras mayúsculas, minúsculas y los símbolos más usados. Este código es aún usado actualmente por las computadoras y es por ello que es éste el que menciono. Por supuesto existen otros como el código interno (de 6 bits) y el código EBCDIC (Extended BCD Interchange Code de 8 bits), sólo que el ASCII es, por así decirlo, más usado. Al ser el código ASCII un código de 7 bits, en implementaciones digitales se suele usar el 8avo bit (que completa 1 byte) como bit de paridad. En las tablas ASCII usadas en las computadoras la letra A es siempre mostrado con el número binario correspondiente al decimal 65 (100 0001), la B con el 66 (100 0010) y así sucesivamente hasta llegar a la Z con el 90 (101 1010). Los caracteres que representan símbolos, letras minúsculas y números, estos últimos empezando por el decimal 48 con el caracter 0, también tienen su sitio dentro de la tabla ASCII.
Lo importante de resaltar aquí es que la mayoría de los elementos discretos a los que estamos acostumbrados tienen una forma de ser expresados en el mundo binario a través de un Código Binario.