– loading the CAR with an address from control memory.
‑ transferring an external address
or
‑ loading an initial address to start the control operations.
• Microinstructions are usually stored in groups where each group specifies a routine, where each routine specifies how to carry out an instruction.
• Each routine must be able to branch to the next routine in the sequence.
• An initial address is loaded into the CAR when power is turned on; this is usually the address of the first microinstruction in the instruction fetch routine.
• Next, the control unit must determine the effective address of the instruction.
• The next step is to generate the microoperations that executed the instruction.
– This involves taking the instruction’s opcode and transforming it into an address for the the instruction’s microprogram in control memory. This process is called mapping.
– While microinstruction sequences are usually determined by incrementing the CAR, this is not always the case. If the processor’s control unit can support subroutines in a microprogram, it will need an external register for storing return addresses.
• When instruction execution is finished, control must be return to the fetch routine. This is done using an unconditional branch.
• Addressing sequencing capabilities of control memory include:
– Incrementing the CAR
– Unconditional and conditional branching (depending on status bit).
– Mapping instruction bits into control memory addresses