计算机组成原理习题标准答案第四章.
1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表示什么意思?
解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2.零地址指令的操作数来自哪里?一地址指令中,另一个操作数的地址通常可采用什么寻址方式获得?各举一例说明。
解:双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。双操作数的一地址指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。例如,前述零地址和一地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K种,无操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各自允许的最大指令条数是多少?
解:X =(24-K×26-jL
26k
双操作数指令的最大指令数:24-1。单操作数指令的最大指令数:15×26-1(假设双操作数指令仅1条,为无操作数指令留出1个扩展窗口。无操作数指令的最大指令数:216-212-26。其中212为表示某条二地址指令占用的编码数,26为表示某条单地址指令占用的编码数。此时双操作数和单操作数指令各仅有1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:4条三地址指令,8条二地址指令,180条单地址指令。
解:4条三地址指令
000XXX YYY ZZZ
…
011XXX YYYZZZ
8条二地址指令
100000XXX YYY
…
100111XXX YYY
180条单地址指令
101000000XXX
…
111110011XXX
5.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?
解:三地址指令4条
000XXX YYY ZZZ
…
011XXX YYYZZZ
单地址指令255条
100000000XXX