📜  门| GATE-CS-2016(Set 2)|第41章

📅  最后修改于: 2021-06-28 18:13:21             🧑  作者: Mango

考虑具有64个寄存器和大小为12的指令集的处理器。每条指令具有五个不同的字段,即操作码,两个源寄存器标识符,一个目标寄存器标识符和一个十二位立即数。每条指令必须以字节对齐的方式存储在内存中。如果程序有100条指令,则程序文本占用的内存量(以字节为单位)为____________

[请注意,这最初是空白填充问题]
(A) 100
(B) 200
(C) 400
(D) 500答案: (D)
说明:一条指令分为五个部分,

  • (1) :操作码-因为我们有大小为12的指令集,所以指令操作码可以由4位标识为2 ^ 4 = 16,我们将继续前进。
  • (2)(3) :两个源寄存器标识符-由于共有64个寄存器,因此可以用6位来标识它们。因为它们是两个,即6位+ 6位。
  • (4) :一个目标寄存器标识符-再次为6位。
  • (5) :12位立即数-12位。

把我们得到的全部加进去,

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

如给定的那样,每条指令必须以字节对齐方式存储在内存中,4.25不是字节对齐方式,内存地址应为0、1、2、3、4、5、6、7……..因此应为5个字节。

由于有100条指令,因此我们的大小为5 * 100 = 500字节。

因此,(D)500是答案。
这个问题的测验