A computer is structured as a collection of intercommunicating FSMs, e.g.
registers
sequencers
+ combinational units
Simplest Register:
1 bit register
Simplest in that:
This register is effectively the same as a D Flip-Flop.
25¢ register:
Register
2 kinds of input:
- data
- "strobe" or control
This is the simplest regiester, with no strobe in.
Register with Strobe input
Fancier strobing
Example
1 bit with load, clear
Here there are 3 input lines:
Strobe possibilities:
All these are more complex FSMs, with more inputs.
State-Selected Register Transfer
A = B;
Abbreviate
Multiplexed Register Transfer
A = P? B: C;
MUX is a combinational unit
See also: Boole/Shannon Expansion
4-way selection
1 additional address bit required for each doubling of # of
registers
Bus Selection:
Alternative to MUX
For this to make sense, we need another register output value separate from 0,1.
We cannot
connect a 0 output and a 1 output
together; some components or wires would burn up.
In the bus connection, a 3rd possible output:
high - Z
high - impedance
NC (no connection)
is possible.
The 3rd possibility is provided by a "3-state buffer":
If control = 1:
output = data
if control = 0:
output = NC
Tri-state bus connection
at most one of b,c,d is 1
A = B+C;
The actual addition is being accomplished between clock ticks, not at them.