【题目】
45.(14分)某计算机采用页式虚拟存储管理方式,按字节编址,虚拟地址为32位,物理地址为24位,页大小为8 KB;TLB采用全相联映射;Cache数据区大小为64 KB,按2路组相联方式组织,主存块大小为64 B。存储访问过程的示意图如下。
请回答下列问题。
(1)图中字段A~G的位数各是多少?TLB标记字段B中存放的是什么信息?
(2)将块号为4099的主存块装入到Cache中时,所映射的Cache 组号是多少?对应的H字段内容是什么?
(3)Cache缺失处理的时间开销大还是缺页处理的时间开销大?为什么?
(4)为什么Cache可以采用直写(Write Through)策略,而修改页面内容时总是采用回写(Write Back)策略?
【答案要点】:
(1)页大小为8 KB,页内偏移地址为13位,故A=B=32-13=19;D=13;C=24-13=11;主存块大小为64 B,故G=6。2路组相联,每组数据区容量有64 B×2=128 B,共有64 KB/128 B=512组,故F=9;E=24-G-F=24-6-9=9。
因而A=19,B=19,C=11,D=13,E=9,F=9,G=6。(各1分,共7分)
TLB中标记字段B的内容是虚页号,表示该TLB项对应哪个虚页的页表项。(1分)
(2)块号4099=00 0001 0000 0000 0011B,因此,所映射的Cache组号为0 0000 0011B=3,(1分)对应的H字段内容为0 0000 1000B。(1分)
(3)Cache缺失带来的开销小,而处理缺页的开销大。(1分)因为缺页处理需要访问磁盘,而Cache缺失只要访问主存。(1分)
【评分说明】对于(3)中第2问,若考生回答因为缺页需要软件实现而Cache缺失用硬件实现,则同样给分。
(4)因为采用直写策略时需要同时写快速存储器和慢速存储器,而写磁盘比写主存慢得多,所以,在Cache-主存层次,Cache可以采用直写策略,而在主存-外存(磁盘)层次,修改页面内容时总是采用回写策略。(2分)