1

我目前正在做一些关于操作系统的项目,我知道如何在单级分页中找到 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 未命中或四次,它会访问内存 3 次。

4

2 回答 2

4

当 TLB 命中时 ==> 我们需要 {TLB 访问时间 + 内存中实际页面的访问时间}

当 TLB 未命中时 ==> 我们需要{TLB 访问时间 + 内存页表条目的访问时间 + 内存实际页的访问时间}

对于 1 级分页==> 从内存中访问页表条目的时间

对于 2 级分页==> 2 * 从内存中访问页表条目的时间

. .

对于 n 级分页==> n * 从内存中访问页表条目的时间

所以广义公式可以是:

EMAT= p * (TLB-访问时间 + 内存访问时间) + (1-p) *[TLB-访问时间 +((n+1) *内存访问时间)]

这里,p=命中率。

于 2016-06-07T10:17:15.813 回答
3

EAT = (%hit)(TLBAT + MAT) + (1-%hit)(TLBAT + (n+1)(MAT))

由于我们必须两次进入内存进行单级分页,所以当我们将另一个页面添加到混合中时,它只会向进程添加一个更多的内存读取。

于 2016-08-11T01:02:21.643 回答