这是Operating System Concepts, 9th edition一款由Silberschatz等人:计算有效访问时间
倍感兴趣的页面数量 发现的TLB被称为命中率的百分比。例如,80%的命中率, 意味着我们在TLB的80%中找到期望的页码数。如果访问内存需要100纳秒,那么当TLB的页码为 时,映射内存访问需要100纳秒。如果我们无法在TLB中找到页码,那么我们必须为页表和帧号(100 纳秒)首次访问存储器,然后访问存储器中所需的字节(100 纳秒),总共200纳秒。 (我们假设一个 页表查找只需要一次内存访问,但是我们可以看到,它可能需要更多的, )。为了找到有效的内存访问时间,我们通过它的概率权重 :有效访问时间= 0.80×100 + 0.20× = 120纳秒
但在同一本书的第8版
我感到困惑与
有效访问时间
有人可以为我解释吗?
“有效访问时间”本质上是从内存获取值所需的(加权)平均时间。如果从存储器中读取100个请求,那么其中的80个请求将花费100 ns,其中20个请求将花费200个(使用第9版速度),因此总时间为12,000 ns,平均时间为120 ns每次访问。没有单个内存访问将需要120纳秒;每个将采取100或200纳秒。 (一个普通家庭有2.3个孩子,但任何一个真正的家庭都有0,1,2或3个孩子 - 或者是一个整数的孩子;你看不到很多'十分之三的孩子'在四处游荡)。 –
这里的问题是作者试图在第9版中简化一些东西,并犯了一个错误。他试图将TLB的20ns访问时间与80ns的内存时间结合起来,以达到100ns的时间。如果是这样,一个小姐将需要20ns + 80ns + 80ns = 180ns,而不是200ns。这是第9版的错字。 – kainaw