3

假设 TLB 命中率为 90%,物理内存访问需要 100ns,TLB 访问需要 20ns,计算使用两级页表以及并行 TLB 和页表索引的处理器的有效访问时间。

这是我的公式:

(H)(TLB access time + mem access time) + (1-H)(TLB access + PT access + mem access)

这是我的计算:

EAT = [(.90) * (100ns + 20ns) + (1-.90)(20ns + 100ns*2 + 100ns)] = 130ns

由于二级页表,我理解 2* 100ns,我的困惑是当我的教授说 TLB 访问时间 20ns 不应该包含在未命中计算中时。

有人可以解释一下这背后的原因吗?

4

1 回答 1

2

假定 TLB 和 PT 索引是“平行的”。因此TLB 和 PT 的查找是同时进行的

在内存查找时,处理器启动 PT 和 TLB 查询。如果 TLB 有答案,它会先回答;那是命中案例。如果没有,查询将继续运行,直到 PT 回答;那是未命中的情况。

重要的是,在 TLB 确定它无法回答期间,PT 已经开始查找答案。因此,在缓存未命中时不应考虑 TLB 查找时间。

于 2015-04-27T01:17:46.090 回答