GATE | GATE-CS-2016 (Set 2) | Question 41

Consider a processor with 64 registers and an instruction set of size twelve. Each instruction has five distinct fields, namely, opcode, two source register identifiers, one destination register identifier, and a twelve-bit immediate value. Each instruction must be stored in memory in a byte-aligned fashion. If a program has 100 instructions, the amount of memory (in bytes) consumed by the program text is ____________

[Note that this was originally a Fill-in-the-Blanks question]
(A) 100
(B) 200
(C) 400
(D) 500


Answer: (D)

Explanation: One instruction is divided into five parts,

  • (1): The opcode- As we have instruction set of size 12, an instruction opcode can be identified by 4 bits, as 2^4=16 and we cannot go any less.
  • (2) & (3): Two source register identifiers- As there are total 64 registers, they can be identified by 6 bits. As they are two i.e. 6 bit + 6 bit.
  • (4): One destination register identifier- Again it will be 6 bits.
  • (5): A twelve bit immediate value- 12 bit.

Adding them all we get,

= 4 + 6 + 6 + 6 + 12 
= 34 bit 
= 34/8 byte 
= 4.25 byte 

As given Each instruction must be stored in memory in a byte-aligned fashion,4.25 is not byte alignment, memory address should be 0,1,2,3,4,5,6,7…….. so it should be 5 bytes.

As there are 100 instructions, we have a size of 5*100= 500 bytes.

Hence (D) 500 is the answer.

Quiz of this Question

My Personal Notes arrow_drop_up

Improved By : singhramesh56