什么是快表?操作系统中的快表是啥?

您所在的位置:网站首页 快牙是干什么的工作 什么是快表?操作系统中的快表是啥?

什么是快表?操作系统中的快表是啥?

2024-07-14 06:03| 来源: 网络整理| 查看: 265

一、快表是什么

快表是一种高速缓冲存储器,是用来存放页表项。

在没有快表的情况下,一个虚拟地址要转成一个物理地址至少需要两次访问物理内存,第一次是查询内存中的页表,第二次是访问物理页框。如果有暂存着目标页表项的快表,则通过快表访问页表会比在内存中访问页表快很多,有利于缩短从一个虚拟地址转换成一个物理地址的过程的时间。

二、快表参与下的虚拟地址转换成物理地址的流程

第一步,根据虚拟地址推算出目标页表项的索引,查询快表。

若目标页表项在快表里,则结合虚拟地址的低若干位推算出最终物理地址。

若目标页表项不在快表里,则访问内存中的目标页表项,结合虚拟地址的低若干位推算出最终物理地址,并把该页表项写进快表。

当快表被写满又有新的页表项要写进来时,则按照一定的策略擦除快表中的一个旧页表项。

三、快表与页表的映射方式

那问题就来了,CPU 如何知道目标页表项在不在快表里?在的话,是快表里的第几项?这就涉及到页表项与快表项的映射关系了。

页表项和快表项有三种映射方法,一是全相连,二是直接匹配,三是组相连。

全相连:一个快表项可以存放任意虚拟地址对应的页表项。优点是快表空间利用率高,缺点是每次查询页表项都要遍历快表每一项。

直接匹配:通过对每一个虚拟页号进行模运算得到其在快表中的索引号,但冲突率较高。

组相连:将快表划分为若干个组,给每个组按顺序编号。通过对每一个虚拟页号进行模运算得到其在快表中的组号,然后在组内进行遍历查得目的页表项。如果每一组中有 n 个页表项,则称该方法为 n 路组相连。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3