Un decodificador es un circuito combinacional, cuya función es inversa a la del codificador, es decir, convierte un código binario (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Normalmente, estos circuitos suelen encontrarse como decodificador / demultiplexor. Esto se debe a que un demultiplexor puede comportarse como un decodificador.
Si por ejemplo se tiene un decodificador de 2 entradas con 22=4 salidas, su funcionamiento sería el que se indica en la siguiente tabla, donde se ha considerado que las salidas se activen con un "uno" lógico:
Entradas | Salidas | ||||
---|---|---|---|---|---|
A1 | A0 | D3 | D2 | D1 | D0 |
0 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 | 0 |
Un tipo de decodificador muy empleado es el de siete segmentos. Este circuito decodifica la información de entrada en BCD a un código de siete segmentos adecuado para que se muestre en un visualizador de siete segmentos.
Aplicaciones del decodificador
Su función principal es la de direccionar espacios de memoria. Un decodificador de N entradas es capaz de direccionar 2N espacios de memoria.
Para poder direccionar 1Kib de memoria se necesitarían 10 bits, ya que la cantidad de salidas sería 210, igual a 1024.
De esta manera:
- Con 20 bits se tienen 220 lo que equivale a 1Mib.
- Con 30 bits se tienen 230 lo que equivale a 1Gib.