【问题标题】:Fully associative and Set Associative TLB operations compared to cache与缓存相比,完全关联和设置关联 TLB 操作
【发布时间】:2016-10-30 15:13:56
【问题描述】:

我正在查看 ARM 处理器 (ARMv7) 的 MMU 代码。他们利用了完全关联和集合关联的 TLB。我知道使用这种方法实现缓存。我还读到 TLB 只不过是 CPU 缓存。但是由于 TLB 和 Cache 的目的不同,我没有加入这些内容。我想知道集合和完全关联性在 TLB 的上下文中是如何工作的。

【问题讨论】:

  • “TLB 和 Cache 的用途不同” - 实际上,在一种情况下,您使用地址来查找一些关联数据,而在另一种情况下,您使用查找一些相关数据的地址。哦,等等……;)
  • 幻灯片 27 有一个很好的框图,解释了缓存和 TLB 之间的区别cs.princeton.edu/courses/archive/fall09/cos318/lectures/…

标签: caching arm paging tlb mmu


【解决方案1】:

这是全局相同的行为:TLB 使用虚拟地址和大小作为标记,但不是存储数据,而是存储关联页面的属性(物理地址、保护等)。

设置关联只是意味着有限数量的页面可以共享相同的标签/属性,而完全关联意味着标签/属性可以存储在 TLB 缓存中的任何位置。这要高效得多,但这只能用于非常小的缓存。

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    相关资源
    最近更新 更多