请考虑以下说明:
MOV RAX, (%RDI, %RBP)
换句话说,将RAX
寄存器的内容存储到RDI
寄存器和RBP
寄存器指向的存储单元中。在嵌套分页环境中,在最好的情况下,这会导致多少内存访问?最糟糕的情况?显示你的数学。
答案 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