我正在浏览ARM处理器(ARMv7)的MMU代码。他们使用了完全关联和集合关联的TLB。我知道使用这种方法实现Cache。我还读到TLB只是CPU缓存。但由于TLB和Cache的目的不同,我没有加入这些部分。我想知道set和Full associativity如何在TLB的上下文中工作。
答案 0 :(得分:1)
这是全局相同的行为:TLB使用虚拟地址和大小作为标记,但不存储数据,而是存储关联页面的属性(物理地址,保护等)。
Set associative只表示有限数量的页面可以共享相同的标记/属性,而完全关联意味着标记/属性可以存储在TLB缓存中的任何位置。这样效率要高得多,但这只能用于非常小的缓存。