问答题
在决定一台计算机采用何种寻址方式时,总要做出各种各样的权衡。在下列每种情况下,具体的考虑是什么?(1)单级间接寻址方式作为一种方法提出来的时候,硬件变址寄存器被认为是一种成本很高的办法。随着LSI电路的问世,硬件成本大降。试问,现在是不是使用变址寄存器更为可取?(2)如果允许在同一条指令中同时指定间接寻址方式和立即寻址方式,请问有效地址产生逻辑应如何处理这种情况?(3)已知一台16位计算机配有16个通用寄存器。请问,是否有一个简单的硬件设计规则,使我们可以指定这个通用寄存器组的某些寄存器来进行20位的存储器寻址?参与这种寻址的通用寄存器该采用什么办法区分出来?
【正确答案】正确答案:(1)采用间接寻址的优点是不需要额外增加专用寄存器,只使用MAR和MDR即可完成这种寻址,但缺点是多访问一次存储器(对单级间接寻址而言)。随着LSI的发展,硬件成本大大下降,所以现在使用专门的变址寄存器来实现变址寻址更为可取,因为其优点是减少一次访问主存的时间,提高了指令执行的速度。 (2)同一条指令中同时指定间接寻址和立即寻址两种方式时,有效地址产生逻辑应对寻址模式进行分析判别:如寻址模式是立即寻址,则形式地址D即为操作数;如果寻址模式是间接寻址,则形式地址D被送到MAR,然后读主存,取得有效地址。 (3)可以有一个简单的硬件设计规则,使我们可以指定某些通用寄存器来进行20位的存储器寻址。由于这些通用寄存器字长是16位,我们可以用其组成20位地址的低16位,再用4位形式地址作为高4位,与低16位的某些通用寄存器简单相拼,从而形成页面寻址方式。也可以用通用寄存器作20位地址的高位部分(全部或一部分),再与低位部分的形式地址相拼成20地址。这两种情况下,硬件上均需一个20位的MAR寄存器。 参与这种寻址方式的通用寄存器,可用赋予地址编号来加以区分。16个通用寄存器为一组占用4位字长,可用R
0
~R
15
命名。哪几个参与这种方式的寻址,可由设计者选定。
【答案解析】