A micro-instruction format has micro-ops field which is divided into three subfields F1, F2, F3 each having seven distinct micro-operations, condition field CD for four status bits, branch field BR having four options used in conjunction with address field ADF. The address space is of 128 memory locations. The size of micro-instruction is :
20 bits
Let's break down the structure of the micro-instruction described in the question and calculate its total size in bits. The size of a micro-instruction is determined by the total number of bits required for all its fields.
The micro-instruction format consists of the following fields:
We need to determine the number of bits required for each field based on the number of distinct options or addresses it needs to represent.
1. Micro-ops Field (F1, F2, F3):
2. Condition Field (CD):
3. Branch Field (BR):
4. Address Field (ADF):
The total size of the micro-instruction is the sum of the bits required for all its fields:
Total Size = Micro-ops (F1+F2+F3) + CD + BR + ADF
Total Size = $9 \text{ bits} + 2 \text{ bits} + 2 \text{ bits} + 7 \text{ bits}
Total Size = $20 \text{ bits}$
| Field | Description / Options | Bits Required |
|---|---|---|
| F1 | 7 distinct micro-operations | 3 |
| F2 | 7 distinct micro-operations | 3 |
| F3 | 7 distinct micro-operations | 3 |
| CD | 4 status bits / conditions | 2 |
| BR | 4 branch options | 2 |
| ADF | 128 memory locations | 7 |
| Total Micro-instruction Size | $3+3+3+2+2+7 = 20$ bits | |
Therefore, the size of the micro-instruction is 20 bits.
| Concept | Explanation | Relevance |
|---|---|---|
| Micro-instruction | A low-level instruction that controls the functional units of a processor at the most basic level. | The fundamental unit whose size we calculated. |
| Control Memory | A special memory that stores the sequence of micro-instructions (the microprogram). | The 128 memory locations mentioned in the address space refer to this memory. |
| Fields | Divisions within a micro-instruction, each controlling a specific function (like operation, condition, branching, next address). | Breaking down the micro-instruction into fields (F1, F2, F3, CD, BR, ADF) is essential for size calculation. |
| Field Encoding | How the different options or values within a field are represented in binary (e.g., using binary encoding based on $\log_2$). | Used to determine the bits needed for F1, F2, F3, CD, BR, and ADF. |
| Horizontal vs. Vertical Microprogramming | Horizontal micro-instructions are wider, allowing more parallel operations. Vertical are narrower, using opcode-like encoding. | The described format with separate fields for multiple operations (F1, F2, F3) leans towards horizontal or partially horizontal microprogramming. |
Microprogramming is a technique used in the design of control units for processors. Instead of hardwiring the control logic, the control signals are generated by executing a sequence of micro-instructions stored in a special memory called control memory.
The structure of a micro-instruction significantly impacts the complexity and speed of the control unit. Different field structures allow for different types of control operations:
The size of the address field is determined by the total number of micro-instructions stored in the control memory, which defines the address space.
This instruction is of what type?
ADD R1, A, B
The following language uses mnemonic OP codes
The content of the registers are R1 = 25H, R2 = 30H and R3 = 40H. The following machine instructions are executed.
PUSH{R1}
PUSH{R2}
PUSH{R3}
POP{R1}
POP{R2}
POP{R3}
After execution, the content of registers R1, R2, R3 are