考虑具有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是答案。
这个问题的测验