答:
虚地址格式:
8
用户ID 主存地址格式: 14
实页号 12 虚页号 10 页内偏移 10 页内偏移 散列变换部件输入: 用户ID和虚页号,20位,输出:32个存储字,5位。 相等比较电路的位数是20,用户ID和虚页号。 快表:
20
用户ID与虚页号
多用户虚地址
14 实页号 8 用户号ID 5位 12 虚页号P 14 实页号p 或 10 页内偏移D 10 拼接 页内偏移d 20位 不等 32行 不等 相等比较 相 ID与P拼接 等 p 散列变换 相等比较 相 等 ID与P拼接 p 多用户虚页号 实地址 多用户虚页号 实地址 快表(按地址访问,有两组)
十四
在页式虚拟存储器中,一个程序由P1~P5共5个页面组成。在程序执行过程中依次访问到的页面如下:
P2, P3, P2, P1, P5, P2, P4, P5, P3, P2, P5, P2
假设系统分配给这个程序的主存有3个页面,分别采用FIFO、LFU和OPT三种页面替换算法
对这三页主存进行调度。
画出主存页面调入、替换和命中的情况表。 统计三种页面替换算法的页命中率 答: 时间t 页地址流 先进先出算法 (FIFO算法) 最久没有使用算法 (LFU算法) 最优替换算法 (OPT算法) 1 P2 2* 2 P3 2* 3 3 P2 2* 3 4 P1 2* 3 1 5 P5 5 3* 1 6 P2 5 2 1* 7 P4 5* 2 4 8 P5 5* 2 4 9 P3 3 2* 4 10 P2 3 2* 4 11 P5 3 5 4* 12 命中次数及P2 3* 5 2 命中率 3次 25% 5次 41.7% 6次 50% 调入 调入 命中 调入 替换 替换 替换 命中 替换 命中 替换 替换 2* 2 3 2 3* 2 3* 1 2* 5 1 2 5 1* 2 5* 4 2* 5 4 3 5 4* 3 5* 2 3* 5 2 3 5* 2 调入 调入 命中 调入 替换 命中 替换 命中 替换 替换 命中 命中 2* 2 3* 2 3* 2 3 1* 2 3* 5 2 3* 5 2 4* 5 2 4* 5 2 3* 5 2 3* 5 2 3 5 2 3 5 调入 调入 命中 调入 替换 命中 替换 命中 替换 命中 命中 命中 三种页面替换算法对同一个页地址流的调度过程
十五
一个程序由五个虚页组成,采用LFU替换算法,在程序执行过程中依次访问的页地址流如下: P4, P5, P3, P2, P5, P1, P3, P2, P3, P5, P1, P3 可能的最高页命中率是多少?
至少要分配给该程序多少个主存页面才能获得最高的命中率。
如果在程序执行过程种每访问一个页面,平均要对该页面内的存储单元访问1024次,求访问存储单元的命中率。
答:
7/12=58.3%;4个;1-5/(1024*12)=99.95%
十六
一个程序由1200条指令组成,每条指令的字长均为4个字节。假设这个程序访问虚拟存储器的字地址流依次为:12,40,260,280,180,800,500,560,600,1100,1200,1000。 采用FIFO页面替换算法,分配给这个程序的主存容量为2048个字节。在下列不同的页面大小情况下,分别写出这个程序执行过程中依次访问的虚存页地址流,并计算主存的页面命中率。
页面大小为1024个字节。 页面大小为512个字节。 页面大小为2048个字节。
比较上述三问可以得出什么结论?
如果把分配该程序的主存容量增加到4096个字节,页面大小位1024个字节,再做一遍又可以得到什么结论? 答:
当页面大小增加到1K以后,再增加页面大小并不能显著地提高命中率,此时如果增加内存容
量就可以提高命中率。 1 2 3 4 5 6 7 8 9 10 11 12
十七
在计算机系统中设置虚拟存储器和Cache的主要目的各是什么?试举出这两种存储系统在具体实现时至少4个方面的差别,并说明主要理由。 答:
区别方面 目的 实现方法 两级存储器速度比 页或块的大小 等效容量
Cache存储系统 提高主存速度 全部硬件 3~10 1~16W 主存
虚拟存储系统 扩大主存容量 软件为主、硬件为辅
10 1KB~16KB 虚拟存储器
5
字地址 12 40 260 280 180 800 500 560 600 1100 1200 1000
字节地址
48 160 1040 1120 720 3200 2000 2240 2400 4400 4800 4000 命中率
1K页面 页面流 1 1 2 2 1 1 2 2 2 1 1 2 50%
L H L H H R H R H R H R
.5K页面 页面流 1 1 2 2 3 4 1 2 2 3 4 1 25%
L H L H L L R R H R R R
2K页面 页面流 1 1 1 1 1 1 1 1 1 1 1 1 50%
L H H H H R R R H R H R
4K内存 页面流 1 1 2 2 1 3 2 4 4 1 1 3
L H L H H L H L H R H H
58.3%
理由 硬件速度高 硬盘访问时间长 Cache成本大 命中率高
透明性 不命中时的处理
对系统和应用程序员
等待主存
只对应用程序员
任务切换
VM由软件实现 OS多任务、硬盘慢
十八
试比较下列5种Cache的主要优缺点: 第一种:直接映像方式的Cache 第二种:全相联映像方式的Cache 第三种:组相联映像方式的Cache
第四种:位选择组相联映像方式的Cache 第五种:段相联映像方式的Cache 并回答下列问题:
根据硬件的复杂性和实现所需要的成本排出5种Cache的次序,并说明理由。 根据块替换算法实现的灵活性排出5种Cache的次序,并说明理由。 解释各种Cache的块映像方式对命中率的影响。
在采用相联映像方式的Cache种,说明块大小、组数、Cache容量、块替换算法等对Cache性能的影响。 答:
根据实现所需的硬件复杂性和成本的排序:(从低到高) 直接映像方式 ,无需相联比较电路,按地址访问。
段相联映像方式 ,需要相联比较的部分最少,因为段的容量最大。
位选择组相联映像方式,组之间相联比较,组内直接映像,映像关系比组相联方式简单。 组相联映像方式,部分需要相联比较电路。
全相联映像方式,全部需要相联比较电路,按内容访问。
实现替换算法灵活性的排序:(从低到高) 直接映像方式,没有灵活性。
段相联映像方式,如果发生段失效,整个段内的数据都将作废,但段的容量很大。 位选择组相联映像方式,主存中的组和Cache中的组是多个块到一个块的映像。 组相联映像方式,主存中的组和Cache中的组是多个块到多个块的映像。 全相联映像方式,可以在任意位址映像,实现起来最灵活。
Cache命中率与容量的关系:
Cache的命中率随它的容量的增加而提高。 关系曲线可以近似地表示为H=1-S-0.5。 Cache命中率与块大小的关系:
在组相联映象方式中,块的大小对命中率的影响非常敏感 块很小时,命中率很低。
随着块大小的增加,由于程序的局部性,命中率增加。 当块非常大时,进入Cache中的许多数据可能用不上。 当块大小等于Cache的容量时,命中率将趋近于零。 Cache命中率与组数的关系:
在组相联映象中,分组的数目对命中率的影响很明显。 随着组数的增加,Cache的命中率要降低。
当组数不太大时(512组以下),命中率的降低相当少,
相关推荐: