What is the Format of Microinstruction in Computer Architecture?

Computer ArchitectureComputer ScienceNetwork

A microinstruction format includes 20 bits in total. They are divided into four elements as displayed in the figure.

F1, F2, F3 are the micro-operation fields. They determine micro-operations for the computer.

CD is the condition for branching. They choose the status bit conditions.

BR is the branch field. It determines the type of branch.

AD is the address field. It includes the address field whose length is 7 bits.

The micro-operations are divided into three fields of three bits each. These three bits can define seven different micro-operations. In total there are 21 operations as displayed in the table.

Symbols with their Binary Code for Microinstruction Fields

001AC ← AC + DRADD
010AC ← 0CLRAC
011AC ← AC + 1INCAC
101AR ← DR(0 − 10)DRTAR
001AC ← AC + DRSUB
010AC ← AC ∨ DROR
011AC ← AC ∧ DRAND
110DR ← DR + 1INCDR
111DR(0 − 10) ← PCPCTDR
001AC ← AC ⊕ DRXOR
010AC ← AC′COM
011AC ← shl ACSHL
100AC ← shr ACSHR
101PC ← PC + 1INCPC
111DR(0 − 10) ← PCReserved

As shown in the table, each microinstruction can have only three micro-operations, one from each field. If it uses less than three, it will result in more than one operation using the no operation binary code.

Condition Field

A condition field includes 2 bits. They are encoded to define four status bit conditions. As stated in the table, the first condition is always a 1, with CD = 0. The symbol that can indicate this condition is ‘U’. The table displays the multiple condition fields and their summary in an easy manner.

Condition Field Symbols and Descriptions

00Always = 1UUnconditional Branch
01DR (15)IIndirect address bit
10AC (15)SSign bit of AC
11AC = 0ZZero value in AC

As shown in the table, when condition 00 is connected with BR (branch) field, it results in an unconditional branch operation. Then the execution is read from memory the indirect bit I is accessible from bit 15 of DR. The status of the next bit is supported by the AC sign bit. If all the bits in AC are 1, then it is indicated as Z (its binary variable whose value is 1). The symbols U, I, S, and Z can indicate status bits while writing microprograms.

Branch Field

The BR (branch) field includes 2 bits. It can be used by connecting with the AD (address) field. The reason for connecting with the AD field is to select the address for the next microinstruction. The table illustrates the various branch fields and their functions.

Branch Field Symbols and Descriptions

00JMPCAR ←AD if condition = 1

CAR←CAR + 1 if condition = 0
01CALLCAR ←AD , SBR ← CAR +1, if condition = 1

CAR←CAR + 1 if condition = 0
10RETCAR ←SBR (Return from subroutine)
11MAPCAR(2-5) ←DR(11-14), CAR(0,1,6) ←0

As shown in the table, when BR = 00, a JMP operation is implemented and when BR = 01, a subroutine is called. The only difference between the two instructions is that when the microinstruction is saved, the return address is saved in the Subroutine Register (SBR).

These two operations are dependent on the CD field values. When the status bit condition of the CD field is defined as 1, the address that is next in order is transferred to CAR. Else, it gets incremented. If the instruction needs to return from the subroutine, its BR field is determined as 10.

This results in the transfer of the return address from SBR to CAR. The opcode bits of instruction can be mapped with an address for CAR if the BR field is 11. They are present in DR (11 - 14) after instruction is read from memory. The last two conditions in the BR fields are not dependent on the CD and AD field values.

Updated on 24-Jul-2021 10:12:21