文章转载自 我自己的小破站。欢迎大佬们围观~

1.页错误的有效访问时间计算公式

设 f 为页错误的概率(0≤f≤1,页错误的情况较多,这里主要指缺页,因此f为缺页率),希望f接近于0,即页错误很少,那么有效访问时间为:
E A T = ( 1 − f ) × m a + f × 页 错 误 处 理 时 间 EAT=( 1 - f ) × ma + f × 页错误处理时间 EAT=(1f)×ma+f×

2.请求分页管理方式中的有效访问时间计算

(1)不考虑命中率和缺页率的有效访问时间计算

访问内存的操作共有3种情况:

  1. 访问的页在主存中,且访问页的页表项在快表中(若访问页的页表项在快表中,则一定不会缺页):
    即:EAT = 查找快表时间+形成物理地址并访问内存数据时间
    E A T = e + t EAT=e+t EAT=e+t

  2. 访问的页在主存中(不缺页),且访问页的页表项不在快表中:
    即:EAT=查找快表时间+查找页表时间+修改快表时间+形成物理地址并访问内存数据时间
    E A T = e + t + e + t = 2 ( e + t ) EAT=e+t+e+t=2(e+t) EAT=e+t+e+t=2(e+t)

  3. 访问的页不在主存中(缺页),设处理缺页中断的时间为t1(产生缺页中断并将该页调入内存、更新快表和页表的时间):
    即:EAT=查找快表时间+查找页表时间+处理缺页中断的时间t1+查找快表时间+形成物理地址并访问内存数据时间
    E A T = e + t + t 1 + e + t = t 1 + 2 ( e + t ) EAT=e+t+t1+e+t=t1+2(e+t) EAT=e+t+t1+e+t=t1+2(e+t)

(2)考虑命中率和缺页率的有效访问时间计算

EAT= 查找快表时间 + α × 形成物理地址并访问内存数据时间 + (1-α) × [查找页表时间+f×(处理缺页中断的时间(t1) + 查找快表时间 + 形成物理地址并访问内存数据时间) + (1-f) × (修改快表时间+形成物理地址并访问内存数据时间)]
E A T = e + α t + ( 1 − α ) [ t + f ( t 1 + e + t ) + ( 1 − f ) ( e + t ) ] EAT=e+αt+(1-α)[t+f(t1+e+t)+(1-f)(e+t)] EAT=e+αt+(1α)[t+f(t1+e+t)+(1f)(e+t)]
其中,α为命中率, f为缺页率

(3)不考虑查找快表的时间
即 e = 0
E A T = α t + ( 1 − α ) [ t + f ( t 1 + t ) + ( 1 − f ) t ] EAT=αt+(1-α)[t+f(t1+t)+(1-f)t] EAT=αt+(1α)[t+f(t1+t)+(1f)t]

(4)处理缺页中断的时间t1的计算

如果题目中没有给出被置换的页面修改和不修改两种不同情况,则将缺页中断处理时间看成t1。如果题目中给出被置换的页面修改和不修改两种不同情况,前者的概率为β,处理时间为ta,后者的处理时间为tb,则:
t 1 = β × t a + ( 1 − β ) × t b t1=β×ta+(1-β)×tb t1=β×ta+(1β)×tb

(5)推论(待商榷)

如果题目中没有给出快表等,也就是说e=0,a=0,则有效访问时间为:
E A T = t + f ( t 1 + t ) + ( 1 − f ) t EAT=t+f(t1+t)+(1-f)t EAT=t+f(t1+t)+(1f)t

Logo

快速构建 Web 应用程序

更多推荐