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.