文档介绍:计算机系统结构习题讲解
第4章存储系统
步骤1:通过运行典型程序,实测虚拟存储器的等效访问周期T和主存命中率H,将实测的T与主存访问周期T1进行比较;若T已非常接近T1,则转到步骤5;否则,根据T=HT1+(1-H)T2可知,问题可能是主存命中率H较低,或者是CPU访问主存的周期T1太长,转到步骤2。
步骤2:综合采取下列措施提高主存命中率:①增大主存容量;②适当调整页面大小,使H提升到最佳值;③修改页面替换策略。然后,转到步骤1。如果主存命中率H已经较高,则转到步骤3。
步骤3:主存命中率H已经较高,表明问题是主存访问周期T1太长。T1包括虚实地址变换的时间和按实地址访问主存的存取时间。此时,应检查系统是否配置有加快地址变换速度的机构,若已经配置,则转到步骤5;若没有配置,则转到步骤4。
步骤4:提高虚实地址变换速度。一种措施是用目录表代替页表,但是,目录表需要有相联存储器,造价较高;另一种可行的措施是采用快慢表,即把页表分成快表和慢表两级,提高查表速度
提高主存频宽可综合采取下列措施:①主存采用更高速的器件;②主存采用多体交叉编址并行存储器,调整存储体个数m;③增设Cache存储器
20 22 208 214 146 618 370 490 492 868 916 728
0 0 1 1 0 3 1 2 2 4 4 3
0
装入
0
命中
0*
1
装入
0*
1
命中
0*
1
命中
3
1*
替换
3
1*
命中
3*
2
替换
3*
2
命中
4
2*
替换
4
2*
命中
4*
3
替换
命中6次,主存命中率为6/12=
20 22 208 214 146 618 370 490 492 868 916 728
0 0 2 2 1 6 3 4 4 8 9 7
0
装入
命中
替换
0
0
2
装入
0
2
命中
0
2
1
装入
0*
2
1
6
装入
3
2*
1
6
3
4
1*
6
替换
3
4
1*
6
命中
3
4
8
6*
替换
3*
4
8
9
替换
7
4*
8
9
替换
命中3次,主存命中率为3/12=
20 22 208 214 146 618 370 490 492 868 916 728
0 0 0 0 0 1 0 1 1 2 2 1
0
装入
命中
替换
0
0
命中
0
命中
0
命中
1
0
替换
1
替换
1
命中
2
替换
2
命中
1
替换
命中6次,主存命中率为6/12=
由结果可以看出,在分配给程序的实存空间一定的条件下,有:
①页面大小Sp过小时,命中率H较低,因为两个访存地址在同一个虚页内的可能性随Sp减小而降低。
②当页面大小Sp增大后,命中率H有所增大,因为两个访存地址在同一个虚页内的可能性随Sp增大而升高,前一个地址访存将该虚页装入主存,后一个地址访存时就会命中。
③页面大小Sp进一步增大,使分配的实页数过少,如果访存页地址流有大量的远距离转移,那么,将导致频繁的页面替换,从而使命中率明显下降
20 22 208 214 146 618 370 490 492 868 916 728
0 0 1 1 0 3 1 2 2 4 4 3
0
装入
命中
命中
0
0
1
装入
0
1
命中
0
1
命中
0
1
3
装入
0
1
3
0*
1
3
2
装入
0*
1
3
2
命中
4
1*
3
2
替换
4
1*
3
2
命中
4
1*
3
2
命中
命中7次,主存命中率为7/12≈
(5)从结果可以看出,分配给程序的实页数增大后,命中率H会有所上升。但是,只有堆栈型替换算法能保证主存命中率随分配的实页数的增加而提高,至少不降低。FIFO算法不是堆栈型替换算法,所以,此结果只能看成是FIFO替换算法的一个特例,不具备普遍意义。