Operating system 如何计算有效访问时间

Operating system 如何计算有效访问时间,operating-system,paging,tlb,page-tables,Operating System,Paging,Tlb,Page Tables,假设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 我理

假设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不应包括在未命中计算中


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

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

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


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

谢谢您的解释!