【发布时间】:2012-08-29 03:41:10
【问题描述】:
架构式 TLB 和架构式页表有什么区别?
【问题讨论】:
标签: memory-management paging computer-architecture tlb
架构式 TLB 和架构式页表有什么区别?
【问题讨论】:
标签: memory-management paging computer-architecture tlb
TLB 是一种硬件结构,与缓存或寄存器文件不同。它位于处理器内部。 page table 是主内存中的一个结构。 Wikipedia 将架构 TLB 称为“软件管理的 TLB”,将架构页表称为“硬件管理的 TLB”。
架构上的区别只对虚拟内存的实现很重要。在架构 TLB 的情况下,操作系统必须直接操作 TLB。由于 TLB 的容量是有限的,操作系统可能会有一个类似于每个进程的页表的内部结构。架构 TLB 的一个缺点是通过软件引入新条目的成本很高。另一个是 TLB 条目的数量在不同的处理器代中是固定的。这种方法的一个例子是MIPS。
具有架构页表的处理器也可能具有 TLB。但它对只看到页表的软件是透明的。这使得 TLB 重新填充更便宜,并允许为每一代处理器使用不同的 TLB(例如更大的、多级的)。缺点是额外的复杂性,因为处理器必须透明地检测页表的更新,并且需要逻辑来执行页表遍历。这种方法的一个例子是x86。
【讨论】: