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:

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


Combinational Function

A = B+C;

The actual addition is being accomplished between clock ticks, not at them.