Section 7.3: Control Points (Frame 2)                     [prev][home][next]

Multiplexors are used to channel more than one input into a register. In fact, only IR and TMP do not have a mux. Remember that all these inputs to registers are 16 bits wide, so these muxes take in 32, 48 or 64 wires and output 16 to the register. The mux that feeds the MAR has 48 wires because data from three different sources can be directed into the MAR. The mux that feeds the accumulator, A, has 64 wires because there are four input sources. All others have 2 sources, hence 32 wires.

Each multiplexor is controlled by a mux selector wire or wires which tells which of the inputs to let pass through into the register. Two input muxes have just one wire, which decides between the two sources using 0 and 1. The A mux has four inputs, so it needs 2 mux control wires, which function as a 2-bit address, deciding between the four inputs. The MAR mux has three inputs, but it still needs two control wires, even though one of the combinations is wasted. Remember that a register doesn't actually load until its LD wire goes high, so just because a value is put on the mux control wire doesn't mean anything happens yet.

We will name the mux control wires by appending the name of the register they feed, along with subscripts if there is more than one. Thus, the mux feeding PC has just one control wire, PC-MUX. The wires going into A's mux are A-MUX0 and A-MUX1. Likewise for the others.