问答题 设某机器共能完成120种操作,CPU共有8个通用寄存器,且寄存器都为12位。主存容量为16K字(机器采用按字寻址),采用寄存器-存储器型指令。
问答题 欲使指令可直接访问主存的任意地址,指令字长应取多少位?
【正确答案】首先,操作码可以确定为7位;8个通用寄存器需要3位来表示;访问16K字的主存也需要14位,故指令字长需要7+3+14=24位,指令格式如下: [*]
【答案解析】
问答题 若在上述设计的指令字中设置一寻址特征位X,且X=0表示某个寄存器作为基址寄存器,试画出指令格式。试问采用基址寻址可否访问主存的任意单元?为什么?如不能,提出一种方案,使得指令可访问主存的任意位置。
【正确答案】由于增加了一位寻址特征位,且基址寄存器使用了通用寄存器,因此除了加一位寻址方式X,还得空一个字段(基址寄存器编号R1)来表示使用哪一个通用寄存器作为基址寄存器,故指令格式为:
[*]
另外,由于覆盖主存的16K字需要14位的地址,而寄存器只有12位,因此采用基址寻址不可以访问主存的任意单元,但可以将通用寄存器的内容向左移动两位,低位补0,这样就可以形成14位的基地址,然后与形式地址相加,得到的有效地址就可以访问16K字存储器的任意单元。
【答案解析】
问答题 若存储字长等于指令字长,且主存容量扩大到64K字,在不改变硬件结构的前提下,可采用什么方法使得指令可访问存储器的任意位置。
【正确答案】首先,由于不能改变硬件结构,因此把寄存器的位数加长是不可行的。其次,因为指令字长为24位,而存储字长等于指令字长,所以恰好使用一次间接寻址就能达到16M字的寻址范围,完全可以满足题目所要求的寻址范围,而且还超额完成任务。
【答案解析】