Back to the 2019 paper

Module 1: Functional Block of computer and Data representaion

20197m

A digital computer has a common bus system of 16 registers of 32 bits each. The bus is constructed with multiplexers.

  • (i) How many selection inputs are there in each multiplexer?
  • (ii) What size of multiplexers is needed?
Worked SolutionAI Assisted

Given: Common bus with 16 registers, each 32 bits, bus built from multiplexers.

We construct bus by bit-slicing: one multiplexer per bit position that selects same source register bit across all registers.

(i) Number of selection inputs per multiplexer

To select 1 of 16 sources, number of select lines ss satisfies 2s≥162^{s} \ge 16.

s=⌈log⁡216⌉=4s = \lceil \log_{2}16 \rceil = 4

So each multiplexer needs 4 select lines (S3S2S1S0S_3S_2S_1S_0). A 4-bit binary code chooses register 0-150\text{-}15 (decoder internal to mux).

If enable considered, 44 selects + 11 enable.

(ii) What size multiplexers are needed? / How many?

  • Size per multiplexer: 16:116\text{:}1 (16 data inputs → 1 output). Strictly 16×116\times1 MUX.
  • Number of multiplexers: One per bit slice → 32 multiplexers, each 16 ⁣: ⁣116\!:\!1.

Total 32×16=51232 \times 16 = 512 data input lines, 32 outputs form the 32-bit bus. Selection inputs (4 lines) are common to all 32 muxes.

Implementation note: If only 4:14{:}1 mux ICs available, each 16:116{:}1 can be built from five 4:14{:}1 muxes (4 first-level +1 second-level), requiring 32×5=16032\times5=160 chips. With 8:18{:}1 muxes, 2+12+1 per bit.

Similar questions

Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.