Question:

A 16-bit processor has 16-bit wide instructions and a few internal registers. Every 16-bit instruction is encoded in a fixed format with one operation code of 7 bits and up to three operands. The operand can be an internal register and each operand is encoded by 3 bits. All the internal registers can be specified in an instruction using three bits.
The correct statement(s) for this processor is/are ____.

Show Hint

Count register combinations from the operand bit width and opcode combinations from the opcode bit width separately, using \(2^n\) for an n-bit field.
Updated On: Jul 22, 2026
  • The processor has 16 internal registers.
  • The processor can support 128 unique operation codes (Opcodes).
  • The processor has up to 8 internal registers.
  • The processor can support 512 unique operation codes (Opcodes).
Show Solution
collegedunia
Verified By Collegedunia

The Correct Option is B, C

Solution and Explanation

Step 1: Read off the bit allocation.
The instruction word is 16 bits wide. It is split into one opcode field of 7 bits and up to three operand fields of 3 bits each. The question also states directly that any internal register can be picked using only three bits.

Step 2: Find the number of internal registers.
A field of 3 bits can address \(2^3=8\) distinct values. Since the register field is 3 bits wide, the processor can have at most 8 internal registers. So option (A), which claims 16 registers, is wrong, and option (C), which claims up to 8 registers, is correct.

Step 3: Find the number of opcodes.
The opcode field is 7 bits wide, so it can encode \(2^7=128\) distinct operation codes. This makes option (B) correct. Option (D), which claims 512 opcodes (that would need \(2^9\), a 9 bit field), is wrong.

Step 4: Check consistency with the instruction width.
With three operands of 3 bits each plus the 7 bit opcode, the total is \(7+3\times3=16\) bits, which matches the given 16-bit instruction width exactly. This confirms 3 bits per operand and 7 bits for the opcode are the right field sizes to work with.

Final Answer:
The processor can have up to 8 internal registers and can support 128 unique opcodes. \[ \boxed{\text{(B) and (C)}} \]
Was this answer helpful?
0
0