Skip to content
BetterDL

Microinstruction

Also called: micro-instruction, microinstructions, microword

One word of a microprogram: the control-signal bits for a single clock cycle plus information about which microinstruction comes next.

A microinstruction is the stored version of one control step. It's a word in the control store with two parts:

  • control bits: one bit (or small field) for each control signal, giving its value for this clock cycle;
  • sequencing information: which microinstruction comes next, such as a next-address field or a flag meaning "jump by opcode".

A machine instruction is run by a short microprogram: a sequence of microinstructions, one per step. In a microprogrammed Tiny8, the fetch and decode steps would be shared microinstructions, and each opcode would have its own short execute microprogram.

The width of a microinstruction is the number of control bits plus the sequencing bits. Designers sometimes encode groups of signals that never occur together into a smaller field to save width, at the cost of a decoder.

Compare a machine instruction: it says what to do (ADD E). A microinstruction says exactly which wires to drive in one cycle to make part of that happen.

Worked example

Example

Tiny8's F2 as a microinstruction

Write the control bits for Tiny8's F2 step (MDR ← M[MAR], PC ← PC + 1) as a microinstruction with one bit per signal.

  1. 1.

    Loads: LdMDR = 1, LdPC = 1; LdMAR, LdIR, LdACC = 0.

  2. 2.

    Selects: MDRsrc = 0 (memory), PCsrc = 0 (PC + 1). MARsrc, ACCsrc and ALUop are don't-cares, stored as 0.

  3. 3.

    Memory: Read = 1, Write = 0.

  4. 4.

    That's 12 control bits, plus a next-address field pointing at F3's microinstruction.

Common mistakes

  • Confusing a microinstruction with a machine instruction. One machine instruction runs several microinstructions.

  • Leaving out the next-address bits when computing the width.

Practice Microinstruction

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Microinstruction is taught in Basic CPU / Computer Architecture.