有谁知道虚拟 TLB 是什么意思,这个 VTLB 和普通 TLB 有什么区别。我在谷歌上找不到明确的答案?
问问题
1546 次
3 回答
1
vTLB 由 VMM(虚拟机管理器)管理。
客户操作系统可能会尝试写入 CR3。对 CR3 的任何写入都意味着 TLB 刷新和可能的页表更改。执行以下步骤:
- VMM 记录新的 CR3 值(稍后用于遍历访客页表)并模拟写入。
- VMM 分配一个新的 PD 页,其中包含所有无效条目。
- VMM 将实际的处理器 CR3 寄存器设置为指向新的 PD 页。此时,VMM 可能出于性能原因推测性地填充 VTLB 映射。
于 2013-10-25T03:41:29.310 回答
0
在模拟具有 MMU 的 CPU 时,逻辑到物理地址的快速转换至关重要。为此,我们按照硬件的示例并在软件中模拟 TLB。一种选择是明确模仿特定 CPU 架构的 TLB 的行为。不幸的是,TLB 操作的细节通常没有完全公开,即使是这样,在软件中模拟的效率也不高。 这可能会帮助你
于 2013-03-26T08:31:39.400 回答
0
你在看kvm代码吗?
转换后备缓冲区 (TLB) 缓存从虚拟地址到物理地址的映射。虚拟 TLB 在软件中执行此操作。例如,如果物理地址的计算非常复杂,它就很有用。
考虑在主机上运行的 guestVM。如果guestVM 访问虚拟内存地址A,则必须将其转换为guest 物理地址B,然后此B 必须转换为主机虚拟地址C(guestVM 是主机上的一种进程)。然后将其转换为真实/主机物理地址 D。
于 2013-03-26T08:32:24.267 回答