设某机器指令系统可以完成139种操作,指令字长32位,由操作码、寻址特征位和形式地址三部分构成,操作码长度固定。若该指令系统具有9种寻址方式,则在最大范围内直接寻址的前提下,指令中操作码占几位?寻址特征位占几位?可直接寻址的范围是多大?
操作码需要用来表示139种操作,假设需要 nn 位二进制数来表示这些操作,则有 2^n \geq 1392
n
≥139。解这个不等式可以得到 n=8n=8,因此操作码占 88 位。
寻址方式有 99 种,需要用 33 位二进制数进行编码才能表示这些寻址方式。
由于指令字长为 3232 位,已经确定了 88 位的操作码和 33 位的寻址特征位,因此剩下的 2121 位就是形式地址部分。如果采用最大范围内直接寻址,也就是使用无符号整数进行地址寻址,那么这 2121 位可以表示的范围是 00 到 2^{21}-12
21
−1,也就是 00 到 20971512097151。因此,可直接寻址的范围是 00 到 20971512097151。