目前,一般计算机系统中的主存储器容量都很大,而且越来越大。另外,由于普遍采用了虚拟存储器结构,要求指令中给出的地址码是一个虚拟地址,其长度比实际主存储器的容量所要求的长度还要长得多。例如,在一般32位计算机系统中,虚拟地址空间为4GB,因此,要求地址码的长

admin2013-05-11  54

问题 目前,一般计算机系统中的主存储器容量都很大,而且越来越大。另外,由于普遍采用了虚拟存储器结构,要求指令中给出的地址码是一个虚拟地址,其长度比实际主存储器的容量所要求的长度还要长得多。例如,在一般32位计算机系统中,虚拟地址空间为4GB,因此,要求地址码的长度为32位左右。如此长的地址码对于多地址结构的指令系统是无法容忍的。因此,如何缩短地址码的长度,在指令系统中必须予以考虑。下面关于缩短地址码长度的方法正确的是(1)。    
Ⅰ.用主存间接寻址方式缩短地址码长度    
Ⅱ.用变址寻址方式缩短地址码长度    
Ⅲ.用寄存器间接寻址方式缩短地址码长度

选项 A、Ⅰ.Ⅱ.
B、Ⅰ.Ⅱ.Ⅲ.
C、Ⅱ.Ⅲ.
D、Ⅰ.Ⅲ.

答案B

解析 用主存间接寻址方式缩短地址码长度。在主存储器的低端地址开辟出一个专门用来存放地址的区域,由于表示存储器低端地址所需要的地址码长度可以很短,而一个存储字(一次访问存储器所能获得的数据)的长度通常与一个逻辑地址码的长度相当。如果一个存储字的长度短于一个逻辑地址的长度,也可以用几个连续的存储字来存放一个逻辑地址码。例如,在主存储器最低端的1KB之内有一个用来存放地址码的区域,如果主存储器是按字节编址的,并且一个存储字的长度为32位,那么在指令中只要用8位(256个字=1K字节)长度就能表示一个32位长的逻辑地址,即使再加上寻址方式等信息,一个地址码的长度也只有十多位。
   用变址寻址方式缩短地址码长度。由于程序的局部性,在变址寻址方式中使用的地址偏移量可以比较短,例如,在IBM370系列机中为12位。通常可以把比较长的基地址(如32位)放在变址寄存器中,在指令的地址码中只需给出比较短的地址偏移量。因此,采用变址寻址方式的地址码长度通常只有十几位,或二十位左右就可以了。
   用寄存器间接寻址方式缩短地址码长度。这是一种非常有效的方法。由于寄存器的数量比较少,通常表示一个寄存器的地址只需要很少几位,而一个寄存器的字长足可以放下一个逻辑地址。例如,有8个用于间接寻址的寄存器,每个寄存器的长度是32位,这样,用一个3位的地址码就能表示一个32位的逻辑地址。用来支持间接寻址的寄存器,可以借用通用寄存器,也可专门设置。
转载请注明原文地址:https://jikaoti.com/ti/IHf7FFFM
0

相关试题推荐
最新回复(0)