En electrónica , un multiplexor (o mux ; escrito a veces como multiplexor ), también conocido como selector de datos , es un dispositivo que selecciona entre varias señales de entrada analógicas o digitales y envía la entrada seleccionada a una sola línea de salida. [1] La selección está dirigida por un conjunto separado de entradas digitales conocidas como líneas de selección. Un multiplexor de entradas tiene líneas de selección, que se utilizan para seleccionar qué línea de entrada enviar a la salida. [2]
Un multiplexor permite que varias señales de entrada compartan un dispositivo o recurso, por ejemplo, un conversor analógico-digital o un medio de transmisión de comunicaciones , en lugar de tener un dispositivo por señal de entrada. Los multiplexores también se pueden utilizar para implementar funciones booleanas de múltiples variables.
Por el contrario, un demultiplexor (o demux ) es un dispositivo que toma una única entrada y selecciona señales de la salida del mux compatible , que está conectado a la única entrada, y a una línea de selección compartida. Un multiplexor se utiliza a menudo con un demultiplexor complementario en el extremo receptor. [1]
Un multiplexor electrónico puede considerarse como un interruptor de múltiples entradas y una sola salida , y un demultiplexor como un interruptor de una sola entrada y múltiples salidas . [3] El símbolo esquemático de un multiplexor es un trapezoide isósceles con el lado paralelo más largo que contiene los pines de entrada y el lado paralelo corto que contiene el pin de salida. [4] El esquema de la derecha muestra un multiplexor 2 a 1 a la izquierda y un interruptor equivalente a la derecha. El cable conecta la entrada deseada a la salida.
Los multiplexores son parte de los sistemas informáticos que permiten seleccionar datos de una fuente específica, ya sea un chip de memoria o un periférico de hardware. Una computadora utiliza multiplexores para controlar los buses de datos y direcciones, lo que permite que el procesador seleccione datos de múltiples fuentes de datos.
En las comunicaciones digitales, los multiplexores permiten varias conexiones en un único canal, conectando la salida única del multiplexor a la entrada única del demultiplexor (Multiplexación por división de tiempo). La imagen de la derecha demuestra este beneficio. En este caso, el costo de implementar canales separados para cada fuente de datos es mayor que el costo y los inconvenientes de proporcionar las funciones de multiplexación/demultiplexación.
En el extremo receptor del enlace de datos , normalmente se requiere un demultiplexor complementario para descomponer el flujo de datos único en los flujos originales. En algunos casos, el sistema del extremo lejano puede tener una funcionalidad mayor que un demultiplexor simple; y aunque la demultiplexación todavía se produce técnicamente, es posible que nunca se implemente de forma discreta. Este sería el caso cuando, por ejemplo, un multiplexor sirve a varios usuarios de la red IP ; y luego alimenta directamente a un enrutador , que lee inmediatamente el contenido de todo el enlace en su procesador de enrutamiento ; y luego realiza la demultiplexación en la memoria desde donde se convertirá directamente en secciones IP.
A menudo, un multiplexor y un demultiplexor se combinan en un único equipo, al que simplemente se denomina multiplexor . Ambos elementos del circuito son necesarios en ambos extremos de un enlace de transmisión porque la mayoría de los sistemas de comunicaciones transmiten en ambas direcciones .
En el diseño de circuitos analógicos , un multiplexor es un tipo especial de conmutador analógico que conecta una señal seleccionada de varias entradas a una única salida.
En el diseño de circuitos digitales , los cables selectores tienen un valor digital. En el caso de un multiplexor 2 a 1, un valor lógico de 0 se conectaría a la salida, mientras que un valor lógico de 1 se conectaría a la salida. En multiplexores más grandes, la cantidad de pines selectores es igual a donde es la cantidad de entradas.
Por ejemplo, de 9 a 16 entradas requerirían no menos de 4 pines selectores y de 17 a 32 entradas requerirían no menos de 5 pines selectores. El valor binario expresado en estos pines selectores determina el pin de entrada seleccionado.
Un multiplexor 2 a 1 tiene una ecuación booleana donde y son las dos entradas, es la entrada del selector y es la salida:
Lo cual se puede expresar como una tabla de verdad :
O, en notación más simple:
Estas tablas muestran que cuando entonces pero cuando entonces . Una implementación sencilla de este multiplexor 2 a 1 necesitaría 2 puertas AND, una puerta OR y una puerta NOT. Si bien esto es matemáticamente correcto, una implementación física directa sería propensa a condiciones de carrera que requieren puertas adicionales para suprimirlas. [5]
También son comunes los multiplexores más grandes y, como se indicó anteriormente, requieren pines selectores para las entradas. Otros tamaños comunes son 4 a 1, 8 a 1 y 16 a 1. Dado que la lógica digital utiliza valores binarios, se utilizan potencias de 2 (4, 8, 16) para controlar al máximo una cantidad de entradas para la cantidad dada de entradas del selector.
La ecuación booleana para un multiplexor de 4 a 1 es:
Lo cual se puede expresar como una tabla de verdad :
El siguiente multiplexor 4 a 1 está construido a partir de buffers de 3 estados y puertas AND (las puertas AND actúan como decodificador):
Los subíndices en las entradas indican el valor decimal de las entradas de control binario en las que se permite el paso de esa entrada.
Se pueden construir multiplexores más grandes utilizando multiplexores más pequeños encadenándolos. Por ejemplo, se puede hacer un multiplexor 8 a 1 con dos multiplexores 4 a 1 y uno 2 a 1. Las dos salidas del multiplexor 4 a 1 se alimentan al 2 a 1 con los pines selectores del 4 a 1 colocados en paralelo, lo que da un número total de entradas del selector de 3, lo que equivale a un 8 a 1.
Para los números de pieza de la serie 7400 en la siguiente tabla, "x" es la familia lógica.
Los demultiplexores toman una entrada de datos y una cantidad de entradas de selección, y tienen varias salidas. Reenvían la entrada de datos a una de las salidas dependiendo de los valores de las entradas de selección. Los demultiplexores a veces son convenientes para diseñar lógica de propósito general porque si la entrada del demultiplexor siempre es verdadera, el demultiplexor actúa como un decodificador binario . Esto significa que cualquier función de los bits de selección se puede construir mediante la operación OR lógica del conjunto correcto de salidas.
Si X es la entrada y S es el selector, y A y B son las salidas:
Para los números de pieza de la serie 7400 en la siguiente tabla, "x" es la familia lógica.
Los multiplexores bidireccionales se construyen utilizando conmutadores analógicos o puertas de transmisión controladas por los pines de selección. Esto permite intercambiar los roles de entrada y salida, de modo que un multiplexor bidireccional puede funcionar tanto como demultiplexor como multiplexor. [6]
Los multiplexores también pueden utilizarse como dispositivos lógicos programables , para implementar funciones booleanas. Cualquier función booleana de n variables y un resultado puede implementarse con un multiplexor con n entradas de selector. Las variables se conectan a las entradas de selector, y el resultado de la función, 0 o 1, para cada combinación posible de entradas de selector se conecta a la entrada de datos correspondiente. Si una de las variables (por ejemplo, D ) también está disponible invertida, un multiplexor con n -1 entradas de selector es suficiente; las entradas de datos se conectan a 0, 1, D , o ~ D , según la salida deseada para cada combinación de las entradas de selector. [7]
Los multiplexores han encontrado aplicación en la computación estocástica no convencional (SC), particularmente para facilitar la suma aritmética. En este paradigma, los datos se representan como un flujo de bits de probabilidad donde la cantidad de bits "1" significa la magnitud de un valor. Por lo tanto, la función de un multiplexor 2 a 1 se puede conceptualizar como una función de probabilidad denotada como:
, donde a y b son el flujo de bits de entrada y s es la entrada de selección. Si se utiliza la entrada de selección = 0,5, se obtiene:
Si bien este enfoque no produce una suma exacta sino una suma escalada, se considera aceptable en la mayoría de los estudios de SC. Los multiplexores se utilizan ampliamente para tareas como la suma promedio, la agrupación promedio y el filtrado de mediana dentro de los circuitos SC. Además, las aplicaciones más sofisticadas de los multiplexores incluyen servir como generador de funciones polinómicas de Bernstein, [8] capaz de producir funciones matemáticas arbitrarias dentro del dominio SC. Investigaciones recientes también han revelado que las combinaciones de multiplexores pueden facilitar la operación de multiplicación-acumulación a gran escala , [9] demostrando la viabilidad en la aceleración de la red neuronal convolucional en matrices de puertas programables en campo .