我收到以下问题:
现在假设系统没有页面错误,我们正在考虑添加一个TLB 1纳秒来查找地址转换。需要TLB中的命中率(最接近的5%) 减少对内存的有效访问时间2.5?
我被告知平均内存访问需要100ns。由于3级PT有4次内存访问(物理内存的页表1有3次),我推断它需要400ns。
然后我要求将其减少2.5倍。所以(2/5)* 400 = 160ns。
我的目标EAT是160ns。我开始设置问题,但我无法弄清楚从哪里开始。
我得到了以下解决方案,但我无法遵循它:
访问时间= 100 X +(1-x)400 - 100 ns用于命中(读取存储器),400ns用于 小姐 160 = 100×+ 400-400× - > x = .8 - > 80%的TLB命中率
有人可以向我解释他们是如何进入这一步的吗?我认为EAT是p(命中时间)+ 1-p(未命中所需的时间),其中p是命中率。命中300ns所需的时间不是吗?然后错过的时间是400ns?
从我的逻辑我尝试过:p(300)+((1-p)(400))但是当我去计算它时,我没有得到正确的设置作为解决方案。有人可以解释我的逻辑出错的地方吗?关于点击需要多少内存访问,我错了吗?