Hades logo    Hades applet banner

TAMS / Java / Hades / applets (print version): contents | previous | next

microprogrammed sequencer (external inputs)

microprogrammed sequencer (external inputs) screenshot


This 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