某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用6位二进制数表示,该指令系统共有M条(m

admin2019-06-12  33

问题 某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用6位二进制数表示,该指令系统共有M条(m<16)双操作数指令,并存在无操作数指令。若采用扩展操作码技术,那么最多还可设计出(18)条单操作数指令。

选项 A、26
B、(24-m)×26-1
C、(24-m)×26
D、(24-m)×(26-1)

答案B

解析 一条指令包括两部分:操作码和操作数。操作码用来说明指令的功能及操作性质;操作数用来指明操作码实施操作的对象。题中指令字长为16位,也就是说,一条指令最长是16位;对于双操作数指令而言,两个长度为6位的操作数共占去12位,剩余4位用作操作码,可设计出24=16条这样的双操作数指令。现系统中已设计出m条双操作数指令,那么剩余的24-m条可以用来设计单操作数的操作码。对于单操作数指令而言,它的操作码长度为16-6=10位。由于题目要求采用扩展操作码技术,那么单操作数指令在原来的双操作数指令的4位操作码上可扩展10-4=6位,因此,最多可设计出(24-m)×26-1条单操作数指令。减去1的原因是“存在无操作数指令”,至少留下一个用来扩展成无操作数指令。
    例如,设计出了3条双操作数指令,操作码分别为0000,0001,0011,那么剩余的0100,0101,0110,…,1110,1111共13个可以作为单操作数指令操作码的一部分。由于能扩展6位,那么这13个中每一个都可以再扩展出26个,如0100可扩展成0100 000000,0100 000001,0100 000010,…,0100 11 11 11。
转载请注明原文地址:https://jikaoti.com/ti/G7f7FFFM
0

最新回复(0)