Skip to main content

Microinstruction format

Short answer

A 20-bit microinstruction has three 3-bit microoperation fields (F1, F2, F3) for parallel operations, a 2-bit CD condition field, a 2-bit BR branch type, and a 7-bit AD address. F fields control operations like transfers and arithmetic; CD selects a status bit; BR chooses JMP, CALL, RET, or MAP.

Explain the microinstruction format showing all the fields in detail with a neat block diagram.

A microinstruction is one word of the control memory. It specifies one or more microoperations and also tells how to get the address of the next microinstruction. Its fields (20 bits in total in Mano's design) are:

  +--------+--------+--------+------+------+---------+
  |   F1   |   F2   |   F3   |  CD  |  BR  |   AD    |
  | 3 bits | 3 bits | 3 bits |2 bits|2 bits| 7 bits  |
  +--------+--------+--------+------+------+---------+
   \______ microoperation ____/ \___ sequencing ____/
FieldBitsMeaning
F1, F2, F33 eachThree microoperation fields. Each selects one of up to 7 microoperations (000 = none), so up to 3 microoperations can be done at the same time.
CD2Condition: 00 = U (always 1), 01 = I (indirect bit DR(15)), 10 = S (sign of AC), 11 = Z (AC is zero)
BR2Branch type: 00 JMP, 01 CALL, 10 RET, 11 MAP
AD7Address of the next microinstruction when branching (control memory of 128 words)

Microoperation codes (examples of each field):

F1OperationF2OperationF3Operation
001AC ← AC + DR001AC ← AC - DR001AC ← AC xor DR
010AC ← 0010AC ← AC or DR010AC ← AC'
011AC ← AC + 1011AC ← AC and DR011shl AC
100AC ← DR100DR ← M[AR]100shr AC
101AR ← DR(0-10)101DR ← AC101PC ← PC + 1
110AR ← PC110DR ← DR + 1110PC ← AR
111M[AR] ← DR111DR(0-10) ← PC111not used

The fields can be written symbolically, for example READ, INCPC U JMP NEXT, which uses F2 and F3 with an unconditional jump to the next address.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Computer Organization and Architecture chapter 3 questions →