MICROPROGRAM SEQUENCER
Basic components of a micro program control unit are the control memory and the circuits
that select the next address. The address selection part is called a micro program sequencer.
The purpose of micro program sequencer is to present an address to the control memory so
that a micro instruction may be read and executed. The next-address logic of the sequencer
determines the specific address source to be loaded in to the control address register.
Sequencer receives the address source from present microinstruction. The block diagram of
the microprogram sequencer is shown in Fig.
Fig. Microprogram sequencer for control memory
There are two multiplexers in the circuit. The first multiplexer selects an address from
one of four sources and routes it into a control address register CAR. The second
multiplexer tests the value of a selected status bit and the result of the test is applied to
an input logic circuit.
The output from CAR provides the address for the control memory. The content of
CAR is incremented and applied to one of the multiplexer inputs and to the subroutine
register SBR. The other three inputs to multiplexer number 1 come from the address
field of the present microinstruction, from the output of SBR, and from an external
source that maps the instruction.
The CD (condition) field of the microinstruction selects one of the status bits in the
second multiplexer. If the bit selected is equal to 1, the T (test) variable is equal to 1;
otherwise, it is equal to 0. The T value together with the two bits from the BR
(branch) field go to an input logic circuit.
The input logic will determine the type of operations that are available in the unit.
Typical sequencer operations are: increment, branch or jump, call and return from
subroutine, load an external address etc.