- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 5 章
存储层次
1. 单级存储器的主要矛盾是什么?通常采取什么方法来解决? 主要矛盾:
速度越快,每位价格就越高。
容量越大,每位价格就越低。
容量越大,速度越慢。
采取多级存储层次方法来解决。
2. 评价存储层次的主要参数有哪些?
存储层次的平均每位价格、命中率或失效率、平均访问时间。
3. “Cache-主存”和“主存-辅存”层次的主要区别是什么?
存储层次
比较项目
“Cache-主存”层次
“主存-辅存”层次
目的
为了弥补主存速度的不足
为了弥补主存容量的不足
存储管理的实现
全部由专用硬件实现
主要由软件实现
访问速度的比值
(第一级比第二级)
几比一
几万比一
典型的块(页)大小
几十个字节
几百到几千个字节
CPU 对第二级的访问方式
可直接访问
均通过第一级
不命中时 CPU 是否切换
不切换
切换到其他进程
4. 在存储层次中应解决哪四个问题?
映像规则:当把一个块调入高一层存储器时,可以放到哪些位置上。
查找算法:当所要访问的块在高一层存储器中时,如何找到该块。
替换算法:当发生失效时,应替换哪一块。
写策略:当进行写访问时,应进行哪些操作。
5. 地址映像方法有哪几种?它们各有什么优缺点?
全相联映像。实现查找的机制复杂,代价高,速度慢。Cache 空间的利用率较 高,块冲突概率较低,因而 Cache 的失效率也低。
直接映像。实现查找的机制简单,速度快。Cache 空间的利用率较低,块冲突 概率较高,因而 Cache 的失效率也高。
组相联映像。组相联是直接映像和全相联的一种折中。
6. 组相联 Cache 比相同容量的直接映像 Cache 的失效率低。由此是否可以得出结论: 采用组相联 Cache 一定能带来性能上的提高?为什么?
不一定。因为组相联命中率的提高是以增加命中时间为代价的,组相联需要增加多 路选择开关。
7. Cache 中,有哪两种实现并行查找的方法?
用相联存储器实现。
用单体多字存储器和比较器来实现。
8. 替换算法有哪几种?它们各有什么优缺点?
随机法:简单、易于用硬件实现,但这种方法没有考虑 Cache 块过去被使用的 情况,反映不了程序的局部性,所以其失效率比 LRU 的高。
先进先出法:容易实现。它虽然利用了同一组中各块进入 Cache 的顺序这一 “历史”信息,但还是不能正确地反映程序的局部性。
最近最少使用法 LRU:失效率最低。但是 LRU 比较复杂,硬件实现比较困难。 9. 写策略主要有哪两种?它们各有什么优点?
写直达法:易于实现,而且下一级存储器中的数据总是最新的。
写回法:速度快,写操作能以 Cache 存储器的速度进行。而且对于同一单元的 多个写最后只需一次写回下一级存储器,有些“写”只到达 Cache,不到达主存,因而 所使用的存储器频带较低。
10. 在写回法中,可采用什么方法减少在替换时块的写回?
常采用“污染位”标志。即为 Cache 中的每一块设置一个“污染位”(设在与该块相 应的目录表项中),用于指出该块是“脏”的(被修改过)还是干净的(没被修改过)。 替换时,若被替换的块是干净的,则不必写回下一级存储器,因为这时下一级存储器中 相应块的内容与 Cache 中的一致。
11. 当发生 Cache 写失效时,是否调入相应的块,有哪两种选择?
按写分配法:写失效时,先把所写单元所在的块调入 Cache,然后再进行写入。 这种方法也称为写时取方法。
不按写分配法:写失效时,直接写入下一级存储器而不将相应的块调入 Cache。这种方法也称为绕写法。
12. 按照 Cache 产生失效的原因不同,可以把失效分为哪三类?
强制性失效、容量失效、冲突失效。
13. 3C 失效与 Cache 的相联度、容量有什么样的关系?
相联度越高,冲突失效就越少。
强制性失效和容量失效不受相联度的影响。
强制性失效不受 Cache 容量的影响,但容量失效却随着容量的增加而减少。 ⑷ 2:1 的 Cache 经验规则:大小为 N 的直接映像 Cache 的失效率约等于大小为 N/2
的两路组相联 Cache 的失效率。
14. 增加 Cache 块大小一定会降低失效率吗?
不一定。
对于给定的 Cache 容量,当块大小增加时,失效率开始是下降,后来反而上升了。 主要因为增加块大小会产生双重作用。一方面它减少了强制性失效;另一方面,可能会 增加冲突失效。
15.伪相联的基本思想是什么?
采用这种方法时,在命中情况下,访问 Cache 的过程和直接映像 Cache 中的情况相 同;而发生失效时,在访问下一级存储器之前,会先检查 Cache 另一个位置(块),看是 否匹配。确定这个另一块的一种简单的方法是将索引字段的最高位取反,然后按照新索 引去寻找伪相联组中的对应
文档评论(0)