Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Multiplexer

From Wikipedia, the free encyclopedia
Device that selects between several analog or digital input signals
This article is about electronics switching. For telecommunications, seemultiplexing.
Schematic of a 2-to-1 multiplexer. It can be equated to a controlled switch.
Schematic of a 1-to-2 demultiplexer. Like a multiplexer, it can be equated to a controlled switch.

Inelectronics, amultiplexer (ormux; spelled sometimes asmultiplexor), also known as adata selector, is a device that selects between severalanalog ordigital input signals and forwards the selected input to a single output line.[1] The selection is directed by a separate set of digital inputs known as select lines. A multiplexer of2n{\displaystyle 2^{n}} inputs hasn{\displaystyle n} select lines, which are used to select which input line to send to the output.[2]

A multiplexer makes it possible for several input signals to share one device or resource, for example, oneanalog-to-digital converter or one communicationstransmission medium, instead of having one device per input signal. Multiplexers can also be used to implementBoolean functions of multiple variables.

Conversely, ademultiplexer (ordemux) is a device that takes a single input signal and selectively forwards it to one of several output lines. A multiplexer is often used with a complementary demultiplexer on the receiving end.[1]

An electronic multiplexer can be considered as amultiple-input, single-output switch, and a demultiplexer as asingle-input, multiple-output switch.[3] The schematic symbol for a multiplexer is anisosceles trapezoid with the longer parallel side containing the input pins and the short parallel side containing the output pin.[4] The schematic on the right shows a 2-to-1 multiplexer on the left and an equivalent switch on the right. Thesel{\displaystyle sel} wire connects the desired input to the output.

Applications

[edit]

Multiplexers are part of computer systems to select data from a specific source, be it a memory chip or a hardware peripheral. A computer uses multiplexers to control the data and address buses, allowing the processor to select data from multiple data sources.

The basic function of a multiplexer: combining multiple inputs into a single data stream. On the receiving side, a demultiplexer splits the single data stream into the original multiple signals.

In digital communications, multiplexers allow several connections over a single channel by connecting the multiplexer's single output to the demultiplexer's single input (time-division multiplexing). The image to the right demonstrates this benefit. In this case, the cost of implementing separate channels for each data source is higher than the cost and inconvenience of providing the multiplexing/demultiplexing functions.

At the receiving end of thedata link a complementarydemultiplexer is usually required to break the single data stream back down into the original streams. In some cases, the far end system may have functionality greater than a simple demultiplexer, and while the demultiplexing still occurs technically, it may never be implemented discretely. This would be the case when, for instance, a multiplexer serves a number ofIP network users; and then feeds directly into arouter, which immediately reads the content of the entire link into itsrouting processor; and then does the demultiplexing in memory from where it will be converted directly into IP sections.

Often, a multiplexer and demultiplexer are combined into a single piece of equipment, which is simply referred to as amultiplexer. Both circuit elements are needed at both ends of a transmission link because most communications systems transmit inboth directions.

Inanalog circuit design, a multiplexer is a special type of analog switch that connects one signal selected from several inputs to a single output.

Digital multiplexers

[edit]

Indigital circuit design, the selector wires are of digital value. In the case of a 2-to-1 multiplexer, a logic value of 0 would connectI0{\displaystyle I_{0}} to the output, while a logic value of 1 would connectI1{\displaystyle I_{1}} to the output.In larger multiplexers, the number of selector pins is equal tolog2(n){\displaystyle \left\lceil \log _{2}(n)\right\rceil } wheren{\displaystyle n} is the number of inputs.

For example, 9 to 16 inputs would require no fewer than 4 selector pins and 17 to 32 inputs would require no fewer than 5 selector pins. The binary value expressed on these selector pins determines the selected input pin.

A 2-to-1 multiplexer has aBoolean equation whereA{\displaystyle A} andB{\displaystyle B} are the two inputs,S0{\displaystyle S_{0}} is the selector input, andZ{\displaystyle Z} is the output:

Z=(A¬S0)(BS0){\displaystyle Z=(A\wedge \neg S_{0})\vee (B\wedge S_{0})} or
Z=(AS0¯)+(BS0){\displaystyle Z=(A\cdot {\overline {S_{0}}})+(B\cdot S_{0})}
A 2-to-1 mux

Which can be expressed as atruth table:

S0{\displaystyle S_{0}}A{\displaystyle A}B{\displaystyle B}Z{\displaystyle Z}
0000
0010
0101
0111
1000
1011
1100
1111

Or, in simpler notation:

S0{\displaystyle S_{0}}Z{\displaystyle Z}
0A
1B


These tables show that whenS0=0{\displaystyle S_{0}=0} thenZ=A{\displaystyle Z=A} but whenS0=1{\displaystyle S_{0}=1} thenZ=B{\displaystyle Z=B}. A straightforward realization of this 2-to-1 multiplexer would need 2 AND gates, an OR gate, and a NOT gate. While this is mathematically correct, a direct physical implementation would be prone torace conditions that require additional gates to suppress.[5]

Larger multiplexers are also common and, as stated above, requirelog2(n){\displaystyle \left\lceil \log _{2}(n)\right\rceil } selector pins forn{\displaystyle n} inputs. Other common sizes are 4-to-1, 8-to-1, and 16-to-1. Since digital logic uses binary values, powers of 2 are used (4, 8, 16) to maximally control a number of inputs for the given number of selector inputs.

  • 4-to-1 mux
    4-to-1 mux
  • 8-to-1 mux
    8-to-1 mux
  • 16-to-1 mux
    16-to-1 mux

The Boolean equation for a 4-to-1 multiplexer is:

Z=(A¬S1¬S0)(B¬S1S0)(CS1¬S0)(DS1S0){\displaystyle Z=(A\wedge \neg {S_{1}}\wedge \neg S_{0})\vee (B\wedge \neg S_{1}\wedge S_{0})\vee (C\wedge S_{1}\wedge \neg S_{0})\vee (D\wedge S_{1}\wedge S_{0})} or
Z=(AS1¯S0¯)+(BS1¯.S0)+(CS1S0¯)+(DS1S0){\displaystyle Z=(A\cdot {\overline {S_{1}}}\cdot {\overline {S_{0}}})+(B\cdot {\overline {S_{1}}}.S_{0})+(C\cdot S_{1}\cdot {\overline {S_{0}}})+(D\cdot S_{1}\cdot S_{0})}

Which can be expressed as atruth table:

S1{\displaystyle S_{1}}S0{\displaystyle S_{0}}Z{\displaystyle Z}
00A
01B
10C
11D

The following 4-to-1 multiplexer is constructed from3-state buffers and AND gates (the AND gates are acting as the decoder):

4:1 MUX circuit using 3 input AND and other gates
A 4:1 MUX circuit using 3 input AND and other gates

The subscripts on theIn{\displaystyle I_{n}} inputs indicate the decimal value of the binary control inputs at which that input is let through.

Chaining multiplexers and mux trees

[edit]

Larger multiplexers can be constructed by using smaller multiplexers by chaining them together in what are called "mux trees". For example, an 8:1 multiplexer can be made with two 4:1 multiplexers and one 2:1 multiplexer. The two 4:1 multiplexer outputs are fed into the 2:1 with the selector pins on the 4:1's put in parallel giving a total number of selector inputs to 3, which is equivalent to an 8:1.

List of ICs which provide multiplexing

[edit]
Signetics S54S157 quad 2:1 mux

For7400 series part numbers in the following table, "x" is the logic family.

IC no.FunctionOutput state
74x157Quad 2:1 mux.Output same as input given
74x158Quad 2:1 mux.Output is inverted input
74x153Dual 4:1 mux.Output same as input
74x352Dual 4:1 mux.Output is inverted input
74x151A8:1 mux.Both outputs available (i.e., complementary outputs)
74x1518:1 mux.Output is inverted input
74x15016:1 mux.Output is inverted input

Digital demultiplexers

[edit]
See also:Inverse multiplexer

Demultiplexers take one data input and a number of selection inputs, and they have several outputs.They forward the data input to one of the outputs depending on the values of the selection inputs.Demultiplexers are sometimes convenient for designing general-purpose logic because if the demultiplexer's input is always true, the demultiplexer acts as abinary decoder.This means that any function of the selection bits can be constructed by logically OR-ing the correct set of outputs.

If X is the input and S is the selector, and A and B are the outputs:

A=(X¬S){\displaystyle A=(X\wedge \neg S)}B=(XS){\displaystyle B=(X\wedge S)}

Example: A single Bit 1-to-4 line demultiplexer

List of ICs which provide demultiplexing

[edit]
Fairchild 74F138 1:8 demultiplexer

For7400 series part numbers in the following table, where "x" is the logic family.

IC no. (7400)IC no. (4000)FunctionOutput state
74x139Dual 1:4 demux.Output is inverted input
74x156Dual 1:4 demux.Output isopen collector
74x1381:8 demux.Output is inverted input
74x2381:8 demux.
74x1541:16 demux.Output is inverted input
74x159CD4514/151:16 demux.Output is open collector and same as input

Bi-directional multiplexers

[edit]

Bi-directional multiplexers are built usinganalog switches ortransmission gates controlled by the select pins. This allows the roles of input and output to be swapped so that a bi-directional multiplexer can function both as a demultiplexer and multiplexer.[6]

Multiplexers as PLDs

[edit]

Multiplexers can also be used asprogrammable logic devices, to implement Boolean functions. Any Boolean function ofn variables and one result can be implemented with a multiplexer withn selector inputs. The variables are connected to the selector inputs, and the function result, 0 or 1, for each possible combination of selector inputs is connected to the corresponding data input. If one of the variables (for example,D) is also available inverted, a multiplexer withn−1 selector inputs is sufficient; the data inputs are connected to 0, 1,D, or ~D, according to the desired output for each combination of the selector inputs.[7]

Unconventional use of multiplexers for arithmetic

[edit]

Multiplexers have found application in unconventionalstochastic computing (SC), particularly in facilitating arithmetic addition. In this paradigm, data is represented as a probability bitstream where the number of '1' bits signifies the magnitude of a value. Thus, the function of a 2-to-1 multiplexer can be conceptualized as a probability function denoted as:

y=P(a)×P(1s)+P(b)×P(s){\displaystyle y=P(a)\times P(1-s)+P(b)\times P(s)}

, where a and b are the input bitstream and s is the select input. Using the select input = 0.5 yields:

y=P(a)+P(b)2{\displaystyle y={\frac {P(a)+P(b)}{2}}}

While this approach doesn't yield exact addition but rather scaled addition, it is deemed acceptable in most SC studies. Multiplexers are extensively utilized for tasks such as average addition, average pooling, and median filtering within SC circuits. Moreover, more sophisticated applications of multiplexers include serving as Bernstein polynomial function generator,[8] capable of producing arbitrary mathematical functions within the SC domain. Recent research has also revealed that combinations of multiplexers can facilitate large-scalemultiply-accumulate operation,[9] demonstrating feasibility in acceleratingconvolutional neural network onfield-programmable gate arrays.

See also

[edit]

References

[edit]
  1. ^abDean, Tamara (2010).Network+ Guide to Networks. Delmar. pp. 82–85.ISBN 978-1423902454.
  2. ^Debashis, De (2010).Basic Electronics. Dorling Kindersley. p. 557.ISBN 9788131710685.
  3. ^Lipták, Béla (2002).Instrument engineers' handbook: Process software and digital networks. CRC Press. p. 343.ISBN 9781439863442.
  4. ^Harris, David (2007).Digital Design and Computer Architecture. Penrose. p. 79.ISBN 9780080547060.
  5. ^Crowe, John; Hayes-Gill, Barrie (1998)."The multiplexer hazard".Introduction to Digital Electronics. Elsevier. pp. 111–3.ISBN 9780080534992.
  6. ^"Are switches & multiplexers bidirectional? | Video | TI.com".Texas Instruments. Retrieved2023-08-03.
  7. ^Lancaster, Donald E. (1974).The TTL Cookbook. H.W. Sams. pp. 140–3.ISBN 9780672210358.
  8. ^Najafi, M. Hassan; Li, Peng; Lilja, David J.; Qian, Weikang; Bazargan, Kia; Riedel, Marc (2017-06-29)."A Reconfigurable Architecture with Sequential Logic-Based Stochastic Computing".ACM Journal on Emerging Technologies in Computing Systems.13 (4): 57:1–57:28.doi:10.1145/3060537.ISSN 1550-4832.
  9. ^Lee, Yang Yang; Halim, Zaini Abdul; Wahab, Mohd Nadhir Ab; Almohamad, Tarik Adnan (2024-03-04)."Stochastic Computing Convolutional Neural Network Architecture Reinvented for Highly Efficient Artificial Intelligence Workload on Field-Programmable Gate Array".Research.7: 0307.Bibcode:2024Resea...7..307L.doi:10.34133/research.0307.ISSN 2639-5274.PMC 10911856.PMID 38439995.

Further reading

[edit]

External links

[edit]
Models
Architecture
Instruction set
architectures
Types
Instruction
sets
Execution
Instruction pipelining
Hazards
Out-of-order
Speculative
Parallelism
Level
Multithreading
Flynn's taxonomy
Processor
performance
Types
By application
Systems
on chip
Hardware
accelerators
Word size
Core count
Components
Functional
units
Logic
Registers
Control unit
Datapath
Circuitry
Power
management
Related
Authority control databasesEdit this at Wikidata
Retrieved from "https://en.wikipedia.org/w/index.php?title=Multiplexer&oldid=1337110737"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp