在页式存储管理中 内存页式存储管理( 二 )


具有快表的地址变换机构

由于页表是存放在内存中的,这使CPU在每存取一个数据时,都要两次访问内存 。第一次是访问内存中的页表,从中找到指定页的物理块号,再将块号与页内偏移量W拼接,以形成物理地址 。第二次访问内存时,才是从第一次所得地址中获得所需数据(或向此地址中写入数据) 。因此,采用这种方式将使计算机的处理速度降低近1/2 。可见,以此高昂代价来换取存储器空间利用率的提高,是得不偿失的 。
为了提高地址变换速度,可在地址变换机构中增设一个具有并行查寻能力的特殊高速缓冲寄存器,又称为“联想寄存器”(Associative Memory),或称为“快表”,在IBM系统中又取名为TLB(Translation Lookaside Buffer),用以存放当前访问的那些页表项 。此时的地址变换过程是:在CPU给出有效地址后,由地址变换机构自动地将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中 。于是,可直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中 。如在块表中未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表项中读出的物理块号送地址寄存器;同时,再将此页表项存入快表的一个寄存器单元中,亦即,重新修改快表 。但如果联想寄存器已满,则OS必须找到一个老的且已被认为不再需要的页表项,将它换出 。右图示出了具有快表的地址变换机构 。




推荐阅读