繁体   English   中英

如何学习TLB的关联性(方式数)?

[英]How to learn the associativity (number of way) of the TLB?

我的任务是学习TLB缓存中的方法数量。 我应该使用哪种算法?

关于您需要什么帮助的问题尚不清楚,因此这是与您提到的主题相关的信息的摘要。

有两种“进入内存”的方式-直接映射,其中页表保留在内存中,并通过虚拟页号进行索引。 为了从虚拟页码转换为真实页码,操作系统将转到页表的基地址并添加虚拟页码。 此位置的值提供页面的真实地址。

另一种方法是关联映射。 关联映射将页表保留在内容寻址的内存中,因此当查找虚拟地址时,将并行搜索所有进程的页,从而使O(1)查找时间变得复杂。 另一个优点是,这仅存储实际分配的页面。

问题在于,关联映射需要特殊的硬件才能完成内容寻址的内存。

因此,折衷方案是使用少量的内容寻址内存(TLB =您在问题中引用的转换后备缓冲区),而大多数使用直接映射。

那么,最大的考虑因素是何时在TLB中放置一个地址,以及从TLB中逐出哪个旧地址。 为此,有许多选择:很有可能是最近最少使用(LRU)来利用时间局部性。 其他选择可能是“最不常用”,“循环”(此处可能不太好),WS_Clock等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM