个性化阅读
专注于IT技术分析

转换预留缓冲区

本文概述

分页的缺点

  1. Page表的大小可能非常大, 因此浪费了主内存。
  2. CPU将花费更多时间从主存储器读取单个字。

如何减小页表大小

  1. 可以通过增加页面大小来减小页面表的大小, 但这将导致内部碎片, 并且还会浪费页面。
  2. 其他方法是使用多级分页, 但这会增加有效的访问时间, 因此这不是一种实用的方法。

如何减少有效访问时间

  1. CPU可以使用内部存储有页表的寄存器, 以便访问页表的访问时间可以减少, 但是该寄存器并不便宜, 并且与页表大小相比非常小, 因此, 这也不是实用的方法。
  2. 为了克服分页中的许多缺点, 我们必须寻找一种比寄存器便宜并且比主存储器更快的存储器, 以便可以减少CPU一次又一次访问页表所花费的时间, 并且只能集中访问实际单词。

参考地点

在操作系统中, 引用局部性的概念指出, 与其将整个线程加载到主存储器中, OS只能加载主存储器中CPU经常访问的那些页数, 以及与此相关的OS还可以仅加载与许多页面相对应的那些页面表条目。

转换后备缓冲区(TLB)

转换后备缓冲区可以定义为内存缓存, 可用于减少一次又一次访问页表所花费的时间。

它是一个更靠近CPU的内存缓存, CPU访问TLB所花费的时间比访问主内存所花费的时间短。

换句话说, 我们可以说TLB比主存储器更快, 更小, 但比寄存器便宜且更大。

TLB遵循引用局部性的概念, 这意味着它仅包含CPU经常访问的许多页面的条目。

OS转换预留缓冲区

在翻译后备缓冲区中, 有标记和键, 借助它们可以完成映射。

TLB命中是在翻译后备缓冲区中找到所需条目的条件。如果发生这种情况, CPU只需访问主存储器中的实际位置。

但是, 如果在TLB中找不到条目(TLB丢失), 则CPU必须访问主存储器中的页表, 然后访问主存储器中的实际帧。

因此, 在TLB命中的情况下, 有效访问时间将比TLB未命中的情况要短。

如果TLB命中的概率为P%(TLB命中率), 则TLB未命中的概率(TLB未命中率)将为(1-P)%。

因此, 有效访问时间可以定义为:

EAT = P (t + m) + (1 - p) (t + k.m + m)

如果已实现单级分页, 则p→TLB命中率, t→访问TLB所需的时间, m→访问主存储器所需的时间k = 1。

通过公式, 我们知道

  1. 如果提高TLB命中率, 则有效访问时间将减少。
  2. 在多级寻呼的情况下, 有效的访问时间将增加。
赞(0)
未经允许不得转载:srcmini » 转换预留缓冲区

评论 抢沙发

评论前必须登录!