Mua*_*ani 1 paging caching operating-system 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
Run Code Online (Sandbox Code Playgroud)
我试图分两个级别找出EAT,如果 TLB 未命中或四次,它是否会访问内存 3 次。
当TLB命中时==>我们需要 {TLB访问时间+内存中实际页面的访问时间}
当TLB未命中时==>我们需要{TLB访问时间+内存中页表项的访问时间+内存中实际页的访问时间}
对于 1 级分页==> 从内存中访问页表条目的时间
对于 2 级分页==> 2 * 从内存中访问页表条目的时间
。。
对于 n 级分页==> n * 从内存中访问页表条目的时间
所以广义的公式可以是:
EMAT= p * (TLB 访问时间 + 内存访问时间) + (1-p) *[TLB 访问时间 +((n+1) * 内存访问时间)]
这里,p=命中率。