Microinstruction Sequencing
Microinstruction Sequencing
Microinstruction Sequencing
A micro-program sequencer attached to a control memory inputs certain bits of the microinstruction,
from which it determines the next address for control memory. A typical sequencer provides the
following address-sequencing capabilities:
Depending on the current microinstruction condition flags, and the contents of the instruction register, a
control memory address must be generated for the next micro instruction.
There are three general techniques based on the format of the address information in the
microinstruction:
3.Variable Format
Two Address Field:
The simplest approach is to provide two address field in each microinstruction and multiplexer is
provided to select:
The address selection signals are provided by a branch logic module whose input consists of control unit
flags plus bits from the control partition of the micro instruction.
Single Address Field:
Two-address approach is simple but it requires more bits in the microinstruction. With a simpler
approach, we can have a single address field in the micro instruction with the following options for the
next address.
Address Field.
Based on OPcode in instruction register.
Next Sequential Address.
The address selection signals determine which option is selected. This approach reduces the number
of address field to one. In most cases (in case of sequential execution) the address field will not be
used. Thus the microinstruction encoding does not efficiently utilize the entire microinstruction.
Variable Format:
In this approach, there are two entirely different microinstruction formats. One bit designates which
format is being used. In this first format, the remaining bits are used to activate control signals. In
the second format, some bits drive the branch logic module, and the remaining bits provide the
address. With the first format, the next address is either the next sequential address or an address
derived from the instruction register. With the second format, either a conditional or unconditional
branch is specified.