Skip to main content

Steps in designing a microprogram control unit

Short answer

Design steps: list microoperations per instruction, decide the microinstruction format (e.g., F1-F3, CD, BR, AD), assign operation codes, plan control memory layout, write symbolic fetch/execute microprograms, convert to binary, then build the sequencer and decoding logic.

Explain with the steps involved when designing a micro-program control unit.

Designing a microprogrammed control unit means defining the microinstruction format, writing the microprogram and building the sequencing hardware. The steps are:

  1. List the instructions and register transfers. Write the microoperations needed to fetch, decode and execute each machine instruction (for example, fetch: AR ← PC; DR ← M[AR], PC ← PC + 1; AR ← DR(0–10)).
  2. Decide on the microinstruction format. Choose fields: microoperation fields (F1, F2, F3), condition (CD), branch (BR) and address (AD) fields, and the number of bits of each.
  3. Assign codes to the microoperations in each field and group microoperations that cannot occur together in the same field.
  4. Design the control memory size and layout. Decide where the fetch routine, indirect routine and the execute routines go; define the mapping from opcode to routine address.
  5. Write the symbolic microprogram (fetch, indirect and execute routines) with labels.
  6. Convert it to binary microcode (the control memory contents) using the field codes and addresses.
  7. Design the sequencer (next-address logic): CAR, incrementer, SBR, multiplexers, mapping logic and branch logic.
  8. Connect and test: decoders convert the microoperation fields to control signals for the datapath; verify by simulating the microprogram.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Organization and Architecture chapter 3 questions →