两级分页中的有效地址时间

时间:2012-06-13 23:58:25

标签: caching operating-system paging virtual-memory tlb

我目前正在开发一些关于操作系统的项目,我知道如何在单级分页中找到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次,任何帮助都会有所帮助。提前谢谢。

2 个答案:

答案 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))

由于我们必须为单级分页转到内存两次,当我们向混合添加另一个页面时,它只是向该进程添加了一个内存读取。