Introduction
Multiplexers are used in building digital semiconductor such as CPUs and graphics controllers. In these applications, the number of inputs is generally a multiple of 2 (2, 4, 8, 16, etc.), the number of outputs is either 1 or relatively small multiple of 2, and the number of control signals is related to the combined number of inputs and outputs. For example, a 2-input, 1-output mux requires only 1 control signal to select the input, while a 16-input, 4-output mux requires 4 control signals to select the input and 2 to select the output.
Multiplexers are also used in communications; the telephone network is an example of a very large virtual mux built from many smaller discrete ones. Instead of having a direct connection from every telephone to every telephone - which would be physically impossible - the network "muxes" individual telephones onto one of a small number of wires as calls are placed. At the receiving end, a demultiplexer, or "demux", chooses the correct destination from the many possible destinations by applying the same principle in reverse.
There are more complex forms of multiplexers. Time-division multiplexers, for example, have the same input/output characteristics as described above, but instead of having a control signal, they alternate between all possible inputs at precise time intervals. By taking turns in this manner, many inputs can share one output. This technique is commonly used on long distance phone lines, allowing many individual phone calls to be spliced together without affecting the speed or quality of any individual call. Time-division multiplexers are generally built as semiconductor devices, or chips, but can also be built as optical devices for fiber optics applications.
Even more complex are code-division multiplexers. Using mathematical techniques developed during World War II for cryptographic purposes, they have since found application in modern cellular networks. Generally referred to by the acronim "CDMA" - Code Division Multiple Access - these semiconductor devices work by assigning each input a unique complex mathematical code. Each input applies its code to the signal it receives, and all signals are simultaneously sent to the output. At the receiving end, a demux performs the inverse mathematical operation to extract the original signals.
Example
The circuit symbol for the above multiplexer is:
Two input multiplexer
One circuit I've received a number of requests for is the multiplexer circuit. This is a digital circuit with multiple signal inputs, one of which is selected by separate address inputs to be sent to the single output. It's not easy to describe without the logic diagram, but is easy to understand when the diagram is available.
The multiplexer circuit is typically used to combine two or more digital signals onto a single line, by placing them there at different times. Technically, this is known as time-division multiplexing.
Input A is the addressing input, which controls which of the two data inputs, X0 or X1, will be transmitted to the output. If the A input switches back and forth at a frequency more than double the frequency of either digital signal, both signals will be accurately reproduced, and can be separated again by a demultiplexer circuit synchronized to the multiplexer.
This is not as difficult as it may seem at first glance; the telephone network combines multiple audio signals onto a single pair of wires using exactly this technique, and is readily able to separate many telephone conversations so that everyone's voice goes only to the intended recipient. With the growth of the Internet and the World Wide Web, most people have heard about T1 telephone lines. A T1 line can transmit up to 24 individual telephone conversations by multiplexing them in this manner.
A very common application for this type of circuit is found in computers, where dynamic memory uses the same address lines for both row and column addressing. A set of multiplexers is used to first select the row address to the memory, then switch to the column address. This scheme allows large amounts of memory to be incorporated into the computer while limiting the number of copper traces required to connect that memory to the rest of the computer circuitry. In such an application, this circuit is commonly called a data selector.
Multiplexers are not limited to two data inputs. If we use two addressing inputs, we can multiplex up to four data signals. With three addressing inputs, we can multiplex eight signals.