计算机体系结构课件第五章课件.ppt

  1. 1、本文档共157页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机体系结构课件第五章课件

Cache中的写缓冲器导致对存储器访问的复杂化 写缓冲器进行的写入操作是滞后进行的,所以该缓冲器也被称为后行写数缓冲器。 例5.10 考虑以下指令序列: SW R3, 512(R0) ;M[512]←R3 (Cache索引为0) LW R1, 1024(R0) ;R1←M[1024] (Cache索引为0) LW R2, 512(R0) ;R2←M[512] (Cache索引为0) 5.4 减少Cache失效开销 5.4.1 让读失效优先于写 5.4 减少Cache失效开销 解决问题的方法(读失效的处理) 推迟对读失效的处理 (缺点:读失效的开销增加,如50%) 检查写缓冲器中的内容 在写回法Cache中,也可采用写缓冲器。 5.4.2 写缓冲合并 提高写缓冲器的效率 写直达Cache 依靠写缓冲来减少对下一级存储器写操作的时间。 5.4 减少Cache失效开销 如果写缓冲器为空,就把数据和相应地址写入该缓冲器。 从CPU的角度来看,该写操作就算完成了。 如果写缓冲器中已经有了待写入的数据,就要把这次的写入地址与写缓冲器中已有的所有地址进行比较,看是否有匹配的项。如果有地址匹配而对应的位置又是空闲的,就把这次要写入的数据与该项合并。这就叫写缓冲合并。 如果写缓冲器满且又没有能进行写合并的项,就必须等待。 提高了写缓冲器的空间利用率,而且还能减少因写缓冲 器满而要进行的等待时间。 5.4 减少Cache失效开销 5.4 减少Cache失效开销 请求字 从下一级存储器调入Cache的块中,只有一个字 是立即需要的。这个字称为请求字。 应尽早把请求字发送给CPU 尽早重启动:调块时,从块的起始位置开始读起。一旦请求字到达,就立即发送给CPU,让CPU继续执行。 请求字优先:调块时,从请求字所在的位置读起。这样,第一个读出的字便是请求字。将之立即发送给CPU。 5.4.3 请求字处理技术 5.4 减少Cache失效开销 这种技术在以下情况下效果不大: Cache块较小 下一条指令正好访问同一Cache块的另一部分 5.4 减少Cache失效开销 非阻塞Cache:Cache失效时仍允许CPU进行其他的命中访问。即允许“失效下命中”。 进一步提高性能: “多重失效下命中” “失效下失效” (存储器必须能够处理多个失效) 重叠失效个数对平均访问时间的影响 5.4.4 非阻塞Cache技术 5.4 减少Cache失效开销 例5.11 对于上图描述的Cache,在2路组相联和“一次失效下命中”这两种措施中,哪一种对浮点程序更重要?对整数程序的情况如何? 假设8KB数据Cache的平均失效率为:对于浮点程序,直接映象Cache为11.4%,而2路组相联Cache为10.7%;对于整数程序,直接映象Cache为7.4%,2路组相联Cache为6.0%。并且假设平均存储器等待时间是失效率和失效开销的积,失效开销为16个时钟周期。 5.4 减少Cache失效开销 解 对于浮点程序,平均存储器等待时间为: 失效率直接映象 × 失效开销 = 11.4 % × 16 = 1.84 失效率2路组相联 × 失效开销 = 10.7 % × 16 = 1.71 1.71/1.84≈0.93 对于整数程序: 失效率直接映象 × 失效开销 = 7.4 % × 16 = 1.18 失效率2路组相联 × 失效开销 = 6.0 % × 16 = 0.96 0.96/1.18≈0.81 “失效下命中”方法有一个潜在优点: 它不会影响命中时间,而组相联却会。 5.4 减少Cache失效开销 应把Cache做得更快?还是更大? 答案:二者兼顾,再增加一级Cache 第一级Cache(L1)小而快 第二级Cache(L2)容量大 性能分析 平均访存时间 = 命中时间L1+失效率L1×失效开销L1 失效开销L1 = 命中时间L2+失效率L2×失效开销L2 平均访存时间 = 命中时间L1+失效率L1× (命中时间L2+失效率L2×失效开销L2) 5.4.5 采用两级Cache 5.4 减少Cache失效开销 局部失效率与全局失效率 局部失效率=该级Cache的失效次数/到达该级 Cache的访问次数 例如:上述式子中的失效率L2 全局失效率=该级Cache的失效次数/CPU发出的 访存的总次数 全局失效率L2=失效率L1×失效

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档