Atlasingeniería

Arquitectura y sistemas operativosRepresentación y lógica digitalTema 3

Compuertas y circuitos combinacionales

De un transistor que conduce o no conduce a un sumador completo hay menos distancia de la que parece. Toda la lógica combinacional se arma con tres operaciones, y con una sola alcanza.

Un procesador es, en el fondo, un montón de interruptores conectados con criterio. El puente entre “un transistor conduce o no” y “esto suma dos números” es la lógica combinacional, y se construye en tres o cuatro pasos bien concretos.

El álgebra de Boole, hecha física

La base es el álgebra de Boole: variables que valen verdadero o falso y tres operaciones, AND, OR y NOT. Cada compuerta es la realización física de una de ellas.

Un circuito combinacional es el que depende sólo de sus entradas actuales: mismas entradas, misma salida, sin memoria. Se describe por completo con una tabla de verdad, y de esa tabla se puede derivar el circuito de forma mecánica.

Antes de seguir, predecí

Con compuertas NAND solamente, ¿qué circuitos se pueden construir?

Con NAND sola alcanza para todo

Un resultado lindo y con consecuencias industriales: NAND es universal. Con compuertas NAND solas se construye NOT, AND, OR y por lo tanto cualquier función booleana. Lo mismo vale para NOR.

Eso importa en la fabricación: alcanza con producir un solo tipo de compuerta, bien optimizada, y todo lo demás se arma combinándola. La lógica no necesita un catálogo de piezas, necesita una.

NAND es «no AND»: da falso sólo cuando las dos entradas son verdaderas.

1 / 5
La tabla de NAND es la única que hay que mirar. Todo lo demás sale de ahí: atar las dos entradas juntas da NOT, negar la salida da AND, y negar las dos entradas da OR. Con una sola pieza física se arma cualquier función booleana.

De la tabla de verdad al circuito

El procedimiento es directo. Se escribe la tabla de verdad, se toma cada fila donde la salida es uno, se arma un AND con las entradas —negadas donde valgan cero— y se unen todos esos términos con un OR. Eso es la suma de productos, y siempre funciona.

Después se simplifica: los mapas de Karnaugh agrupan términos vecinos a ojo, y el algoritmo de Quine-McCluskey lo hace sistemáticamente. Simplificar no es estético, es menos compuertas, menos área y menos retardo.

Los bloques que se reutilizan

Con esa técnica se arman los bloques que se reutilizan. El multiplexor elige una de varias entradas según una señal de control: es el if del hardware. El decodificador convierte un número binario en una línea activa entre muchas, y es cómo se selecciona una celda de memoria o una instrucción.

El comparador produce igual, mayor o menor. Y todo procesador tiene una unidad aritmético-lógica, que es un banco de operaciones en paralelo con un multiplexor eligiendo cuál sale.

El sumador, que cierra el círculo

El ejemplo que cierra el círculo es el sumador. Un semisumador suma dos bits: la salida es un XOR y el acarreo, un AND. Un sumador completo agrega el acarreo de entrada, y encadenando nn de ellos se suman números de nn bits.

El problema de encadenarlos es que cada uno espera el acarreo del anterior, así que el retardo crece de forma lineal con el ancho. Por eso existen los sumadores con anticipación de acarreo, que lo calculan en paralelo con más compuertas. Es el primer ejemplo del intercambio permanente del hardware: área contra velocidad.

El camino crítico manda la frecuencia

Ese retardo es el concepto que conviene llevarse. Una compuerta no cambia su salida instantáneamente, y el camino más largo del circuito —el camino crítico— determina cuánto hay que esperar para que la salida sea confiable.

De ahí sale la frecuencia máxima del reloj: el período tiene que ser mayor que el camino crítico. Toda la carrera por los gigahertz es, en el fondo, la pelea por acortar ese camino.

De la tabla al circuito, y de vuelta

ConceptoEn hardwareEn software
Compuertatransistoresoperador booleano
Tabla de verdadla especificaciónlos casos de prueba de una condición
Suma de productosla implementación directauna cadena de OR sobre ANDs
Simplificaciónmenos transistoresuna condición que se puede leer
Multiplexorelige entre entradasel operador ternario
La columna de la derecha no es una analogía forzada: una condición compleja en código es un circuito combinacional, y las mismas leyes sirven para simplificarla.

Cierre

Tabla de verdad, suma de productos, simplificación: de ahí sale cualquier función combinacional, y con NAND sola alcanza. Multiplexores, decodificadores y sumadores son los bloques reutilizables, y el camino crítico es lo que fija la frecuencia del reloj.

Autoevaluación

¿Lo entendiste?

¿Qué define a un circuito combinacional?
¿Qué significa que NAND sea universal?
¿Cómo se pasa de una tabla de verdad a un circuito?
¿Qué es una compuerta, físicamente?