架构 TLB 和架构页表有什么区别?
问问题
2346 次
1 回答
8
TLB是一种硬件结构,与缓存或寄存器文件不同。它位于处理器内部。页表是主存中的一种结构。Wikipedia将架构化的 TLB 称为“软件管理的 TLB”,将架构化的页表称为“硬件管理的 TLB”。
架构上的区别只对虚拟内存的实现很重要。在架构 TLB 的情况下,操作系统必须直接操作 TLB。因为 TLB 的容量是有限的,操作系统可能会有一个内部结构,类似于每个进程的页表。架构 TLB 的一个缺点是通过软件引入新条目的成本很高。另一个是 TLB 条目的数量在不同的处理器代中是固定的。这种方法的一个例子是MIPS。
具有架构页表的处理器也可能具有 TLB。但它对只看到页表的软件是透明的。这使得 TLB 重新填充更便宜,并允许为每一代处理器使用不同的 TLB(例如更大的、多级的)。缺点是额外的复杂性,因为处理器必须透明地检测页表的更新,并且需要逻辑来执行页表遍历。这种方法的一个例子是x86。
于 2012-09-04T16:14:00.680 回答