TAMS / Java / Hades / applets (print version): contents | previous | nextmicroprogrammed sequencer (external inputs)
DescriptionThis applet demonstrates a
microprogrammed control unit.
As opposed to the previous circuit,
this controller is not restricted to one fixed state sequence.
Instead, the additional multiplexers allow data-dependent sequences
and jumps in the microprogram.
The S1,S0 outputs of the microprogram memory control the 4:1
multiplexer, which selects either the external input,
the output of the 2:1 multiplexer, or either the X or Y
microprogram outputs.
Therefore, if a microprogram word generates (S1,S0) = (1,1),
the external address input is used, which allows selecting
any microprogram address from external logic.
The most interesting situation occurs for (S1,S0) = (1,0),
which selects the output of the 2:1 multiplexer as the next
microprogram address.
As the multiplexer is controlled by an external input (X0),
this allows data-dependent jumps in the microprogram.
For example, the X0 input is connected to the output of the
C (carry) register in our D*CORE demonstration processor.
Depending on whether or not the carry bit was set by previous
data operations, the microprogram sequencer can select
different next addresses, allowing to implement the branch-if-true
and branch-if-false instructions in the processor.
Run the applet | Run the editor (via Webstart)
Impressum | 24.11.06
http://tams.informatik.uni-hamburg.de/applets/hades/webdemos/50-rtlib/70-sequencer/sequencer_print.html