En electrónica , un multiplexor (o mux ; a veces escrito 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 reenvía la entrada seleccionada a una única 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 hace posible que varias señales de entrada compartan un dispositivo o recurso, por ejemplo, un convertidor 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. A menudo se utiliza un multiplexor con un demultiplexor complementario en el extremo receptor. [1]
Un multiplexor electrónico puede considerarse como un conmutador de múltiples entradas y una sola salida , y un demultiplexor como un conmutador de una sola entrada y múltiples salidas . [3] El símbolo esquemático de un multiplexor es un trapezoide isósceles en el que el lado paralelo más largo contiene los pines de entrada y el lado paralelo corto 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 forman parte de los sistemas informáticos para 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 al procesador seleccionar datos de múltiples fuentes de datos.
En las comunicaciones digitales, los multiplexores permiten varias conexiones a través de un solo 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 la incomodidad de proporcionar las funciones de multiplexación/demultiplexación.
En el extremo receptor del enlace de datos generalmente se requiere un demultiplexor complementario para dividir el flujo de datos único en los flujos originales. En algunos casos, el sistema del extremo lejano puede tener una funcionalidad mayor que la de un simple demultiplexor; y si bien la demultiplexación todavía ocurre técnicamente, es posible que nunca se implemente de manera discreta. Éste sería el caso, por ejemplo, cuando un multiplexor presta servicio a varios usuarios de una red IP ; y luego alimenta directamente a un enrutador , que inmediatamente lee el contenido de todo el enlace en su procesador de enrutamiento ; y luego realiza la demultiplexación en memoria desde donde se convertirá directamente en secciones IP.
A menudo, un multiplexor y un demultiplexor se combinan en un solo equipo, al que se hace referencia simplemente como 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 interruptor 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 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, el número de pines selectores es igual al número 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:
Que 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 realizació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 requerirían puertas adicionales para suprimir. [5]
Los multiplexores más grandes también son comunes 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 4 a 1 es:
Que 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 de las entradas indican el valor decimal de las entradas de control binario en las que se deja pasar esa entrada.
Se pueden construir multiplexores más grandes utilizando multiplexores más pequeños encadenándolos. Por ejemplo, se puede fabricar un multiplexor de 8 a 1 con dos multiplexores de 4 a 1 y uno de 2 a 1. Las dos salidas del multiplexor 4 a 1 se alimentan al 2 a 1 con las clavijas selectoras de los 4 a 1 colocadas en paralelo, lo que da un número total de entradas de selector de 3, lo que equivale a un 8 a 1. -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 varias 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 haciendo OR lógicamente con el 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 interruptores analógicos o puertas de transmisión controladas por pines seleccionados. Esto permite intercambiar las funciones de entrada y salida, de modo que un multiplexor bidireccional pueda funcionar como demultiplexor y multiplexor. [6]
Los multiplexores también se pueden utilizar como dispositivos lógicos programables , para implementar funciones booleanas. Cualquier función booleana de n variables y un resultado se puede implementar con un multiplexor con n entradas selectoras. Las variables están conectadas a las entradas del selector, y el resultado de la función, 0 o 1, para cada combinación posible de entradas del selector está conectado a la entrada de datos correspondiente. Si una de las variables (por ejemplo, D ) también está disponible invertida, es suficiente un multiplexor con n -1 entradas selectoras; las entradas de datos se conectan a 0, 1, D o ~ D , según la salida deseada para cada combinación de las entradas del selector. [7]
Los multiplexores han encontrado aplicación en la computación estocástica (SC) no convencional, particularmente para facilitar la suma aritmética. En este paradigma, los datos se representan como un flujo de bits de probabilidad donde el número de bits '1' significa la magnitud de un valor. Por tanto, la función de un multiplexor 2 a 1 puede conceptualizarse como una función de probabilidad denotada como:
, donde a y b son el flujo de bits de entrada y s es la entrada seleccionada. Usando la entrada seleccionada = 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 SC. Los multiplexores se utilizan ampliamente para tareas como suma de promedios, agrupación de promedios y filtrado de mediana dentro de 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 acumulación múltiple a gran escala , [9] demostrando la viabilidad de acelerar redes neuronales convolucionales en conjuntos de puertas programables en campo .