|
|
Circuitos digitales lógicosEn los circuitos de trasmisión digitales, la información se envía de unos circuitos a otros como dos estados de voltaje, uno "alto" y otro "bajo", esos estados son tratados como bits, se pueden representar como ceros (0) y unos (1) y forman números binarios. Para este artículo asumimos que usted conoce esas cuestiones básicas. En caso contrario ver trasmisión digital primero.La base de las operaciones digitales son las compuertas lógicas.Los sistemas digitales están constituidos por miles de circuitos permutadores, cada uno de los cuales permuta otros a "apagado" y "encendido", como se muestra en la figura 1.![]() Figura1 Estos
simples circuitos permutadores que hacen el cambio de encendido y
apagado en cadena son la base de todas las operaciones digitales de las
máquinas. ¿Como pueden estos simples circuitos
permutadores hacer todos los trabajos digitales complejos de las
máquinas?
La respuesta está en que los trabajos complicados se separan en infinidad de trabajos muy simples, que pueden ser manejados por simples circuitos permutadores especiales. Hay solo tres tipos de estos simples circuitos, se llaman "compuertas", o mejor, "compuertas lógicas". Las compuertas se conectan juntas para formar sistemas de cualquier tamaño y variedad, tal como en un juego para armar estructuras con bloques de las que se compran para los niños. Veamos. Los circuitos digitales manipulan y almacenan la información
Para ayudar a tomar decisiones, la mayoría de los sistemas digitales almacenan cierta cantidad de información para entonces usarla después. Esta función se llama memoria. En la memoria la información se guarda como 0 y 1 tal y como si se escribiera en un trozo de papel para no olvidarla, y se localiza en lugares específicos para luego tomarla de ahí. Finalmente el sistema hace uso del resultado de sus decisiones para hacer una operación en el exterior. Esta función se llama salida y en general se traduce a una señal utilizable por algún dispositivo externo. Como por ejemplo, escribir caracteres o construir imágenes en la pantalla de un monitor. En realidad casi cualquier cosa que pueda llamarse sistema hace uso de esas cuatro funciones: entrada, decisiones, memoria y salida. El propio cuerpo humano lo hace, por ejemplo; los ojos ven algo (entrada), el cerebro lo procesa y memoriza, y los músculos finalmente ejecutan la acción (salida). Los circuitos básicos de compuertas toman tres decisiones lógicas.El propósito de los tres tipos de compuertas lógicas que se mencionaron anteriormente es el de usar bits o información digital para tomar decisiones muy simples. Sin embargo, cuando se conectan juntas muchas de estas compuertas en diferentes modos, pueden trabajar muy rápido y tomar decisiones muy complejas. De manera que los trabajos que realizan los circuitos digitales son llevados a cabo, a última instancia por circuitos de compuertas.Cada tipo de compuerta hace un tipo simple de decisión, llamada función lógica. Lógica significa el uso de reglas para razonar correctamente; por ejemplo, "Si Juan es mas alto que Maria y Maria es mas alta que Tomás, entonces Juan es mas alto que Tomás". Las tres decisiones lógicas básicas que hacen las compuertas, mostradas en la figura 3 son las llamadas función AND, función OR y función NOT.
La Truth Table (Tabla verdadera).En la figura 3, la función lógica de cada compuerta está en una tabla próxima a ella. Esta tabla se le llama truth table. Una truth table completa muestra cada combinación posible de los bits de entrada recibidos por una compuerta lógica o un circuito, y el estado de la salida para cada combinación.Para una compuerta de tres entradas, hay 8 (2³) posibles combinaciones de los bits de entrada, los que corresponden a los números binarios desde 000 (decimal 0) hasta 111 (decimal 7). La salida de una compuerta AND, mostrada en la figura 3A, es 1 solo si todas las entradas son 1, si una o mas de las entadas es 0, la salida es 0. Por eso el nombre, ya que la salida será 1 si la entrada A AND ("y" en Inglés) la entrada B AND la entrada C (todas ellas) son 1. La salida de una compuerta OR, mostrada en la figura 3B, es 1 si al menos una de las entradas es 1. En otras palabras, si la entrada A OR ("o" en Inglés) la entrada B OR la entrada C es 1, OR si mas de una de las entradas, OR todas las entradas son 1, la salida será 1. Para el inversor, siempre el bit de entrada saldrá invertido a la salida, o sea si la entrada es 1, la salida será NOT ("no" en Inglés) 1, esto es 0, y si la entrada es 0 la salida es NOT 0 o sea 1. Relés mostrando como se realizan las funciones lógicas.Pronto veremos como estas tres simples decisiones pueden combinarse para hacer decisiones mas complejas. Pero antes vamos a ver como los circuitos eléctricos pueden realizar las funciones AND, OR y NOT.Las compuertas son dispositivos digitales, pero no tiene que ser necesariamente electrónicos. Probablemente la forma mas fácil de entender las compuertas eléctricas es con el uso de relés electromagnéticos. Tal y como en un circuito permutador con transistores, los relés solo tienen dos estados "conectado" y "desconectados".
Compuertas de lógica negativas o lógica positivas.En los circuitos de compuertas lógicas hechos con relés de las figuras 4, 5 y 6 se ha considerado las entradas y salidas como 0, cuando el voltaje es cero (bajo) y 1, cuando es +6 v (alto), esta convención de equivalencias se le denomina positiva. Con esta consideración la compuerta de la figura 4 resulta AND, y la de la figura 5 OR, pero esto puede cambiar si se usa una convención diferente o negativa, es decir considerando 1 al valor del voltaje bajo y 0 al valor alto. Veamos.La tabla de funcionesMas arriba habíamos visto que para cada compuerta lógica o circuito formado por ellas existía una tabla denominada tabla verdadera (truth table en Inglés) y habíamos definido que: "una truth table completa muestra cada combinación posible de los bits de entrada recibidos por una compuerta lógica o un circuito, y el estado de la salida para cada combinación", observe que se refiere a la función lógica, es decir tiene que ver con bits y sus valores, esto es 0 ó 1, tomados convencionalmente.También hemos visto que cada bit puede tener uno de dos estados eléctricos, es decir ser "Alto o "Bajo" esto es real, un estado Bajo se refiere a bajo voltaje y uno Alto a voltaje alto. Cuando se confecciona una tabla equivalente a la tabla verdadera, pero utilizando los valores Alto y Bajo estamos mostrando los estados eléctricos reales del circuito. Esta tabla se denomina Tabla de funciones y caracteriza por completo una compuerta o un circuito formado por ellas. Ambas son muy parecidas, la diferencia es que la tabla verdadera muestra estados lógicos mientras que la tabla de funciones muestra estados eléctricos.
Lógica negativa.Las tablas verdaderas para esas mismas compuertas, usando lógica negativa es completamente diferente. Recuerde que en este caso el valor de voltaje alto corresponde al 0 y el bajo al 1.Cuando se usa esta lógica el comportamiento de las compuertas hechas con relés en serie realizan la función OR, contrariamente a lo que sucede con lógica positiva. Lo mismo sucede con el circuito paralelo, realizan la función AND, en lugar de la OR como era en el caso de lógica positiva. Todo esto muestra una regla muy importante: "Una compuerta AND positiva actúa como compuerta OR negativa y una compuerta OR positiva actúa como una compuerta AND negativa". Aunque parezca poco importante,esta diferencia resulta muy útil cuando se diseñan sistemas digitales. Para completar diremos que un inversor será siempre un inversor, aunque se use lógica positiva o negativa. Las compuertas electrónicas usan transistores en lugar de relés.Decenas de conceptos de diseños se utilizan para elaborar circuitos de compuertas electrónicas con transistores en el lugar de los relés.
Una compuerta NOR actúa como una compuerta OR seguida por un inversor. Comoquiera que una o mas de las entradas sea 1, la salida será 0. El símbolo de una compuerta NOR es un corazón alargado tal y como una OR pero seguida de un pequeño círculo que denota inversión. Esto identifica la función OR sobre el bit de entrada pero usando un inversor sobre el bit de salida del OR. Similarmente una compuerta NADN se comporta como una AND seguida de un inversor. En la práctica los diseñadores de circuitos digitales usan con mas frecuencia las compuertas NAND y NOR en el lugar de las AND y OR, esto se debe a que con su uso el circuito se hace mas simple y con menos transistores. Cuando el circuito exige el uso de una compuerta pura OR o AND los diseñadores típicamente usan una NAND u OR seguida por un inversor. Un circuito de un sistema digital completo actual está casi totalmente incluido de manera integrada en una pastilla (chip). Estas pastillas pueden tener cientos o miles de compuertas incluidas en una sola pastilla. Por lo general todas las compuertas de una pastilla usan sistemas de diseño muy similares. Hay varios grupos diferentes de pastillas de circuitos integrados, llamadas familias lógicas o tecnologías, con nombres como MOS, CMOS, TTL, ECL, I²L y otras. Combinando pequeñas decisiones para hacer otras mas complejas.Ahora que sabemos sobre compuertas lógicas, veamos como se ponen estas a trabajar juntas para hacer decisiones mas complejas y útiles. Como ejemplo examinemos la red lógica para el sumador total de números de 1-bit (1-bit full-adder).
Combinaciones canónicas.El sumador estudiado ilustra algunos de los principios generales acerca del diseño de los sistemas digitales. Se pueden usar estos principios para diseñar redes digitales por usted mismo, tanto en un papel, como conectando compuertas reales. Un diseño de este tipo, generalmente comienza con la tabla verdadera donde se especifica qué cosa la red de compuertas hará. Para cada combinación de los bits de entrada en una linea de la tabla verdadera, hay una cierta combinación preestablecida de los bit de salida. Este campo particular del diseño se llama lógica combinacional.Puede utilizarse cualquier número de diseños diferentes de lógica combinacional para conseguir el objetivo perseguido en la tabla verdadera. Los diseñadores generalmente tratan de buscar el diseño que produzca la red de compuertas mas simples, y que pueda construirse con las compuertas menos caras disponibles, pero para cada tabla verdadera, hay siempre una combinación que es la mas fácil de diseñar y que se deduce directamente de la tabla verdadera. Esta combinación se llama combinación lógica canónica para esa tabla verdadera. El caso particular que veremos del sumador (1-bit full-adder) es la combinación canónica para la tabla verdadera que le acompaña. Estudiemos esta mas cerca para ver como funciona. Conectando las compuertas AND.Una red canónica generalmente tiene una compuerta AND separada para cada combinación de entrada, es decir, hay una compuerta AND por cada linea de la tabla verdadera. cada una de esas compuertas AND reconoce un patrón particular de los bits de entrada, detallado por la linea correspondiente en la tabla verdadera, y tiene el bit de salida 1 cuando esa combinación aparece en las entradas.
Por ejemplo, la compuerta 1 que reconoce la combinación A=0, B=0 y N=1 se conecta a A con barra, B con barra y N. Similarmente, la compuerta 2 que reconoce la combinación 010 se conecta a A con barra, B y N con barra. Conectando las compuertas OR.Finalmente las dos salidas C y S se producen por dos compuertas OR separadas. Marcadas como compuerta C y compuerta S, la entrada de las compuertas C y S vienen de varias compuertas AND. ¿Cómo determinamos cual compuerta AND debe conectarse? Observe las columnas de salida de la tabla verdadera. Se supone que la salida de C será 1 cuando la combinación de las entradas forme alguno de estos números binarios, 3, OR 5, OR 6, OR 7. Entonces conectamos las salidas desde las compuertas 3, 5, 6 y 7 a las entradas de la compuerta OR C. Similarmente, la salida de la compuerta S debe ser 1 cuando tenga la combinación, 1, OR 2, OR 4, OR 7, por lo que las entradas de la compuerta S deben ser manejadas por las salidas de las compuertas AND 1, 2, 4 y 7.Ahora podemos ver que la compuerta 0 no es necesaria, debido a que la combinación 000 en las entradas no produce ninguna salida con 1, por lo que en este caso la compuerta 0 se omite y el circuito final se separa un tanto del canónico, quedando con solo 7 compuertas. La red de compuertas canónicas son apenas una simplificación del diseño, con la utilización de un número pequeño de compuertas y conexiones pero.... la función de la red mostrada en la figura 9 puede arrojar los mismos resultados si se eliminan algunas conexiones, por lo que pueden lograrse con menos entradas en las compuertas. No obstante el diseño canónico es un buen punto de partida para luego encontrar versiones mas simples. Sumando números binarios con sumadores de 1-bit.Por último veamos como varios sumadores de 1-bit pueden usarse juntos para hacer trabajos mas grandes, por ejemplo, sumar dos números binarios. Lo que mostramos ilustra el principio fundamental de los sistemas binarios, que es separar las funciones complejas en varias mas simples. O, dicho de otro modo, la utilización de circuitos simples, usados como bloques de construcción, para hacer una gran variedad de circuitos mas complicados. Por supuesto, podemos usar una red canónica u otro circuito especial para sumar dos números binarios, pero hacer el trabajo usando sumadores de 1-bit es simple, conveniente y constituye un buen ejemplo de aprendizaje.
Aquí hay un punto importante que debemos considerar, y es básico para que la suma total se lleve a cabo. La salida C de cada sumador de 1-bit alimenta la entrada N del próximo sumador de la izquierda. De esta forma el bit C de un sumador "se coloca encima" del bit N del sumador que sigue, tal y como hacemos cuando ejecutamos una suma de números de varios dígitos a mano en un papel, el ejemplo de suma de la izquierda en la figura 10 ilustra lo que decimos. El sumador 3 no tiene ningún sumador a la izquierda por lo que su salida C sale como el bit "dieciséis" de la suma. El sumador 0 no tiene ningún sumador encima a la derecha para recibir entrada por N, por lo que se le suministra entrada 0 constante, el sumador 0 solo tiene que agregar dos bits no tres y por lo tanto puede ser un tipo mas simple de sumador sin la entrada N. Tal como el llamado "medio sumador". Como verá, es posible extender este conjunto de sumadores de 1-bit tanto como se quiera para sumar números de muchos bits, es común que las computadoras usen números de hasta 128 bits y mas. Aunque este modo de suma cumple bien sus objetivos, su trabajo toma algo mas de tiempo que otros diseños de circuitos de sumadores, ya que cada compuerta demora algunos nanosegundos (millonésimas de segundo) en reaccionar y esto, cuando se trata de muchos sumadores puede hacer lento el trabajo del sistema, por eso, cuando grandes dígitos deben ser sumados en el menor tiempo este método no es apropiado._ |