我目前正在开发一些关于操作系统的项目,我知道如何在单级分页中找到EAT
EAT = (MAT+TLB-AT)*a+(2*MAT+TLB-AT)*(1-a)
,其中
MAT is memory access time,
TLB-AT is TLB hit time
a is hit ratio
我试图在两个级别找出EAT
,如果TLB-miss或4个,它会访问内存3次,任何帮助都会有所帮助。提前谢谢。
答案 0 :(得分:3)
当TLB命中时==>我们需要 {TLB访问时间+来自内存的实际页面的访问时间}
当TLB中缺少==>我们需要 {TLB访问时间+内存中页面表条目的访问时间+内存中实际页面的访问时间}
进行1级分页 ==>从内存中访问页表的访问时间
进行2级分页 ==> 2 *从内存中进入页表的访问时间
即可。 强>
适用于n级分页 ==> n *从内存中访问页表的访问时间
所以广义公式可以是:
EMAT = p *(TLB-Access-time + Memory Access time)+(1-p)* [TLB-Access-time +(n * Memory Access time)]
这里,p =命中率。
答案 1 :(得分:3)
EAT =(%命中)(TLBAT + MAT)+(1%命中)(TLBAT +(n + 1)(MAT))
由于我们必须为单级分页转到内存两次,当我们向混合添加另一个页面时,它只是向该进程添加了一个内存读取。