【问题标题】:Architected TLB vs. Architected Page Table架构式 TLB 与架构式页表
【发布时间】:2012-08-29 03:41:10
【问题描述】:

架构式 TLB 和架构式页表有什么区别?

【问题讨论】:

    标签: memory-management paging computer-architecture tlb


    【解决方案1】:

    TLB 是一种硬件结构,与缓存或寄存器文件不同。它位于处理器内部。 page table 是主内存中的一个结构。 Wikipedia 将架构 TLB 称为“软件管理的 TLB”,将架构页表称为“硬件管理的 TLB”。

    架构上的区别只对虚拟内存的实现很重要。在架构 TLB 的情况下,操作系统必须直接操作 TLB。由于 TLB 的容量是有限的,操作系统可能会有一个类似于每个进程的页表的内部结构。架构 TLB 的一个缺点是通过软件引入新条目的成本很高。另一个是 TLB 条目的数量在不同的处理器代中是固定的。这种方法的一个例子是MIPS

    具有架构页表的处理器也可能具有 TLB。但它对只看到页表的软件是透明的。这使得 TLB 重新填充更便宜,并允许为每一代处理器使用不同的 TLB(例如更大的、多级的)。缺点是额外的复杂性,因为处理器必须透明地检测页表的更新,并且需要逻辑来执行页表遍历。这种方法的一个例子是x86

    【讨论】:

    • 软件加载的 TLB 不一定需要固定数量的 TLB 条目。显然,可以牺牲系统级别的兼容性;但也可以通过软件页表搜索来选择硬件受害者。 (诚​​然,这消除了软件管理的 TLB 的优势之一。)顺便说一下,最近的 MIPS 5 版现在支持/允许硬件管理的 TLB。此外,Itanium 为两种类型的页表提供硬件 TLB 加载加速。此外,大多数硬件管理的 TLB 不连贯,因此软件必须显式地使条目无效
    • ... 在内存中发生了变化;同样,当一个 ASID 被重用时,匹配的条目必须失效。 (安腾在架构上还允许硬件 TLB 加载任意失败,因此需要软件处理程序。)
    猜你喜欢
    • 2013-05-15
    • 1970-01-01
    • 2012-11-04
    • 2019-07-20
    • 2021-05-19
    • 1970-01-01
    • 2017-03-24
    • 2012-08-16
    • 1970-01-01
    相关资源
    最近更新 更多