- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章课件文件
* 以控制逻辑的增加来换取相联度增加、容量增加等硬件增加带来的好处。 * 命中时间的影响太大。 * 优化技术的成熟度和应用广泛度不同。 * 优化技术的成熟度和应用广泛度不同。 * 冲突失效:注意是组相联或直接映象cache下的。 实际怎么测?相同容量cache,相同应用,先全相联测失效次数,再组相联测失效次数,差? * 注意2:1规则。 * 这些方法和后面15种方法的关系。 * 给定容量cache,块大小太小一次调进cache的数据少,失效率增加; 块大小太大,块数太少,冲突失效增加。 * 增加命中时间这一副作用会影响平均访存时间和CPU时间。 * 相同容量的cache,平均访存时间最小的相联度:有低谷。 CPU时间:同理。 * 主Cache可以采用失效率较高但是速度快的直接映象算法,而Victim Cache则采用利用率高的全相连策略,因其容量较小,硬件开销增加并不明显。这样可以达到不影响时钟频率和失效开销的情况下降低Cache失效率。 * 伪相联和路预测思想一样。 * 多种命中时间导致了复杂性。 * 前提:在cache中失效而在预取缓冲里命中也算命中,所以这是一种讲师失效率的方法; 如果把在预取缓冲里命中而在cache中失效看成失效,则这是一种减小失效开销的方法。 * 效果十分明显,硬件预取通常是下一个或几个相邻的块,trace比较简单。 * 编译预取更加智能,故障状态需要很多回退处理。 * 编译优化所限,主要针对循环,得到的好处也最大,因为是数据密集计算。 * 注意b数组的后面两行并未使用,但用于占据cache空间。 * 失效次数和程序运行情况有关。 * 预取深度和硬件有关。 * 注意题目的假设,预取可以被重叠才有意义。 * 优化和编译预取都属于编译技术,但后者更广泛。 * 成对使用的数据紧凑进cache。 * 数据访问的顺序和存放的顺序相匹配。 * 数据访问的顺序和存放的顺序相匹配。 * 分块也是一种在大数据集时使数据的访问顺序和存放顺序尽量一致的方法。 * 失效结果可以从执行过程或程序循环组织两方面计算。 * X: N*B * N/B * N/B =N**3/B Y: N**2 * N/B =N**3/B Z: B**2 * N/B * N/B =N**2 * 怎样理解:子块失效开销小于完整块的失效开销? 在写直达策略里: 1。对子块读失效,要作废块里的所有有效子块,读回新的一个子块,更新tag; --如果子块大小是原来块大小的1/n,可能增大失效率 (可能把其它子块也作废了) 2。对子块写失效,要作废块里的所有有效子块,写一个新的子块,更新tag,并把子块写回主存; --如果子块大小是原来块大小的1/n,可能增大失效率(可能把其它子块也作废了,失效开销还是写回一个子块的开销) 在写回策略里: 1。对子块读失效,要作废并写回所有有效子块,读回新的一个子块,更新tag; --可能增大失效率,如子块大小等于原来的块大小,失效开销就是原来几倍块写回的开销,如果子块大小是原来块大小的1/n,失效开销就是原来的x/n 2。对子块写失效,要作废并写回所有有效子块,写一个新的子块,更新tag; 同上 * 引入写缓冲时的优化策略。 为防止乱序访存,要查找或等待写缓冲。 * 尽早启动的性能增益和后续访问模式有很大关系。 * 注意失效率所对应的级别。 * 局部失效率适于评价局部某一级的性能,不能评价全局。 * 二级cache中的问题和一级cache一样,但侧重点不同。 * 取整:不是整周期无法实现硬件控制。 * 这种方法大大加大了硬件的开销,但广泛采用。 * 存储墙和IO墙:整体性能远不能直线攀升。 * 怎么提高?典型的体系结构设计的问题:存储层次。 * 本章的重点是两部分:cache和主存 也是单机存储层次中最重要的两层。 * 为什么从单级到多级存储器?主要是容量和速度的折衷(价格和速度程正比) * 存储层次:最少有两层构成。分别量化每层的三个指标, 再计算整体的指标——一种平均。 * 命中率:局部和全体的比; Ta注意:不命中和命中的都要花费命中时间。 * 有三级存储器件构成的两层存储层次。 目标有所区别。 * 任何存储层次都要考虑的4个基本问题。 为什么是这四个问题? * 在江cache之前一定要弄清楚的两件事: 1。存储空间(主存)的线性地址分割和查找方法。 2。加上cache后是怎样分块的。 映象规则为什么是最先要讨论的? * 跟查找方法对应,这种方式最简单。 注意无论是块数还是主存字节数都是2的幂次,地址才好划分。 * 取模的硬件实现就是截位,无需代价。 组相联:这种折衷体现这实现代价和查找效
文档评论(0)