0

有谁知道虚拟 TLB 是什么意思,这个 VTLB 和普通 TLB 有什么区别。我在谷歌上找不到明确的答案?

4

3 回答 3

1

vTLB 由 VMM(虚拟机管理器)管理。

客户操作系统可能会尝试写入 CR3。对 CR3 的任何写入都意味着 TLB 刷新和可能的页表更改。执行以下步骤:

  1. VMM 记录新的 CR3 值(稍后用于遍历访客页表)并模拟写入。
  2. VMM 分配一个新的 PD 页,其中包含所有无效条目。
  3. 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 回答