Does anyone else feel the absence of this chip like a missing tooth?
There have been countless times when I've wanted to plunk a DMux in, only to remember that I'm dealing with 16bit inputs.
The lack of the DMux was useful when we build the RAM chips, because it makes you use the MUX chips in a way that seems more elegant, but right now I'm building the CPU and the very first thing we have to do is switch A and C instructions into two different branches -- if that's not a good place for a DMux16, what is?
Am I being lazy or not seeing a better way to deal with this?
It's a philosophy thing. I've been in the industry for 30+ years and I can't remember ever needing to demux a bus. All chips that might need data from the bus are connected to the bus continuously and what they do with that data and when they do it is controlled by other inputs to the chips.
If you look at Fig.5.9, you see that ALU.out connects directly to outM, DRegister.in, and one input of the ARegister input mux. The little gray circles are direct wired connections.