嵌套分页环境中的内存访问

时间:2014-05-21 06:30:22

标签: x86 virtualization

请考虑以下说明:

MOV RAX, (%RDI, %RBP) 

换句话说,将RAX寄存器的内容存储到RDI寄存器和RBP寄存器指向的存储单元中。在嵌套分页环境中,在最好的情况下,这会导致多少内存访问?最糟糕的情况?显示你的数学。

1 个答案:

答案 0 :(得分:-1)

我不确定以下答案是否正确但会给你一个开始

对于给定的指令,请考虑以下内存操作:
 1.从内存中获取指令  2.获取RDI寄存器指向的存储单元中的值  3.获取RBP寄存器指向的存储单元中的值  4.获取RAX寄存器指向的存储单元  5.将内容移到RAX寄存器指向的存储单元上。

假设有4级嵌套分页,下面是内存 访问计算:

最佳案例:
从TLB获取的所有内存位置 每次操作的总内存访问量= 5,1。

最坏情况:
对于每个具有4级深度的页面:5 X 4 = 20内存访问。 对于所有5个存储器操作(在指令中):20 X 5 = 100个存储器访问。 为虚拟地址添加5(5次操作)到物理地址转换:总内存访问= 105