81

问答题 81 /93

为了提高存取速度,可以使用快表技术。试述这一技术是如何实现的?

参考答案

快表技术是在地址映射机构中增加一个小容量的联想寄存器(相联存储器),它由高速寄存器组成,成为一张快表,快表用来存放当前访问最频繁的少数活动页的页号。在快表中,除了逻辑页号、物理页号对应外,还增加了几位。特征位表示该行是否为空,用0表示空,用1表示有内容;访问位表示该页是否被访问过,用0表示未访问,1表示已访问,这是为了淘汰那些用得很少甚至不用的页面而设置的。快表只存放当前进程最活跃的少数几页,随着进程的推进,快表内容动态更新。当用户程序需要存取数据时,根据该数据所在逻辑页号在快表中找出对应的物理页号,然后拼接页内地址,以形成物理地址;如果在快表中没有相应的逻辑页号,则地址映射仍然通过内存中的页表进行,得到物理页号后须将该物理页号填到快表的空闲单元中。有无空闲单元,则根据淘汰算法淘汰某一行,再填入新得到的页号。实际上查找快表和查找内存页表是并行进行的,一旦发现快表中有与所查页号一致的逻辑页号就停止查找内存页表。