Common-Bus Multiplexers for 16×32-bit Register File

Common-Bus Multiplexers for 16×32-bit Register File

Verified Sources
Nov 4, 2026

A common bus that can transfer data from any one of 1616 registers to a shared 3232-bit bus is typically built using multiplexers: each bus bit is produced by selecting one register’s corresponding bit. A multiplexer (MUX) requires select lines determined by the number of inputs. For an NN-to-1 multiplexer, the number of selection inputs (select lines) is s=log⁡2(N)s=\log_2(N) (so NN must be a power of 2 for standard binary selection). 2

Key terms: common bus register file multiplexer select lines.

Footnotes

  1. Multiplexer (digital electronics) - Wikipedia - Defines multiplexer input/output selection concept and select-line relationship for 2n2^n input sizes. ↩

  2. Logarithm properties (log base 2 for powers of two) - General definition of log⁡2(16)=4\log_2(16)=4 and the power relationship. ↩

Determine MUX selection inputs and MUX size

  1. 1
    Step 1

    There are 1616 registers, so for each bus bit position you must select one of N=16N=16 register inputs to drive that bus bit. This means a 1616-to-11 multiplexing function per bit.

  2. 2
    Step 2

    For an NN-to-11 multiplexer, the number of selection inputs is s=log⁡2(N)s=\log_2(N). With N=16N=16, s=log⁡2(16)=4s=\log_2(16)=4.

  3. 3
    Step 3

    The bus is 3232 bits wide, so you need the selection to happen independently for each bit position. Therefore you use 3232 multiplexers in parallel, each handling one bit (or equivalently, a single conceptual 3232-bit-wide 1616-to-11 MUX built from bit-slices).

(i) How many selection inputs are there in each multiplexer?

Since there are 1616 registers feeding the bus, each bus bit uses a 1616-to-1 multiplexer. The number of select lines is:

s=log⁡2(16)=4s=\log_2(16)=4

So each multiplexer needs 4 selection inputs. 2

Footnotes

  1. Multiplexer (digital electronics) - Wikipedia - Defines multiplexer input/output selection concept and select-line relationship for 2n2^n input sizes. ↩

  2. Logarithm properties (log base 2 for powers of two) - General definition of log⁡2(16)=4\log_2(16)=4 and the power relationship. ↩

(ii) What size of multiplexers is needed?

Each register contains 32 bits, and the bus carries 32 bits, so the multiplexing must be performed for each bit position.

  • Per bit position: a 1616-to-1 MUX is needed.
  • Bus-wide: this is replicated across 32 bit positions.

So the required configuration is:

  • 32 parallel multiplexers, each of size 1616-to-1 (1-bit wide), or equivalently
  • a 32-bit-wide 1616-to-1 multiplexer implemented as 3232 1-bit slices.

This directly matches the idea that bus width multiplies the number of independent bit-slice multiplexers needed.

Footnotes

  1. Register-transfer logic / bus architecture overview (common bus and multiplexers) - Background on buses as shared communication paths and typical implementation concepts using selection/routing to avoid contention. ↩

Multiplexer requirements for the common bus

Per bus bit you need 16-to-1 selection; across 32 bus bits you need 32 such bit-slices.

Pro Tip

Always compute select lines from s=log⁡2(N)s=\log_2(N) where NN is the number of inputs the MUX can choose from. Then multiply by bus width (bit-slices) when the bus is wider than 1 bit.

Common pitfall

Don’t confuse the bus width (32 bits) with the number of multiplexer inputs (16 registers). The selection lines depend on the number of sources (1616), not the bus width (3232).

Quick checks and edge cases

From registers to bus using MUX multiplexing

Choose source register

1

Select the one register among 1616 using 44 select lines."

Route each bit position

2

For each of the 3232 bit positions, route the selected register bit to the bus."

Form the 32-bit bus value

3

The outputs of all 3232 bit-slices combine to form the full 32-bit bus word."

Common-Bus MUX Flashcards

1 / 4
Question · Term

For an $N$-to-1 multiplexer, how many select lines are needed?

Click to reveal
Answer · Definition

If N=2sN=2^s, then select lines s=log⁡2(N)s=\log_2(N). Example: 1616-to-1 ⇒ 44 select lines.

Knowledge Check

Question 1 of 4
Q1Single choice

A common bus connects 16 registers using multiplexers. Per bus bit, the required multiplexer is best described as: