- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4. 例题 例5.7 Alpha AXP 21064采用指令预取技术,其实际失效率是多少?若不采用指令预取技术,AlphaAPX 21064的指令Cache必须为多大才能保持平均访存时间不变? 解: 假设从预取缓冲器中找到所需指令需多花1个时钟周期。 平均访存时间预取 =命中时间+失效率×预取命中率×1 +失效率×(1-预取命中率)×失效开销 5.3 降低Cache 失效率的方法 假设: 预取命中率=25% 命中时间=1个时钟周期 失效开销=50个时钟周期 由表5.4可知,8KB指令Cache的失效率=1.10% 故平均访存时间预取 =1+(1.10 %×25 %×1)+ (1.10 %×(1-25 %)×50) =1+0.00275+0.4125 =1.415 由公式: 平均访问时间=命中时间+失效率×失效开销 5.3 降低Cache 失效率的方法 可得相应的失效率为: 失效率=(平均访问时间-命中时间)/失效开销 =(1.451-1)/50=0.83% 8KB Cache 带预取的8kB Cache 失效率 1.10% 0.83% 16KB Cache 0.64% 5.3 降低Cache 失效率的方法 5.3.6 由编译器控制的预取 1. 预取的类型 ◆ 寄存器预取:把数据取到寄存器中 ◆ Cache预取: 只将数据取到Cache中 ◆ 故障性预取:预取时,若出现虚地址故障 或违反访问权限,就会发生异常。 ◆ 非故障性预取:预取时,若出现虚地址故 障或违反访问权限,并不会导致异常,只 是转变为“不预取”。 由编译器加入预取指令,在数据被用到之前发出预取请求。 5.3 降低Cache 失效率的方法 4. 例题 2. 在预取数据的同时,处理器应能继续执行 只有这样,预取才有意义。 非阻塞Cache (非锁定Cache) 3. 循环是预取优化的主要对象 失效开销小时:循环体展开1~2次 失效开销大时:循环体展开许多次 5.3 降低Cache 失效率的方法 例 5.8 对于下面的程序,判断哪些访问可能会导致数据Cache失效。然后,加入预取指令以减少失效。最后,计算所执行的预取指令的条数以及通过预取避免的失效次数。假定: (1) 我们用的是一个容量为8KB、块大小为 16B的直接映象Cache,它采用写回法并 且按写分配。 (2) a、b分别为3×100(3行100列)和101×3 的双精度浮点数组,每个元素都是8个 字节。当程序开始执行时,这些数据都 不在Cache内。 5.3 降低Cache 失效率的方法 for (i=0 ; i 3 ; i=i+1 ) for (j=0 ; j 100 ; j=j+1 ) a[i][j]=b[j][0]×b[j+1][0]; 解: (1) 计算过程 (2) 失效情况 总的失效次数=251次 (3) 改进后的程序 5.3 降低Cache 失效率的方法 for (j=0,j<100;j=j+1) { prefetch (b[j+7][0]); /* 预取7次循环后所需的b(j ,0 ) */ prefetch (a[0][j+7]); /* 预取7次循环后所需的a(0,j ) */ a[0][j]=b[j ][0] * b [j+1][0] } for (i=1; i 3; i=i+1) { for (j=0; j 100; j=j+1) prefetch(a[i][j+7]); /* 预取7次循环后所需的a(i , j ) */ a[i][j]=b[j][0] * b[j+1][0]; } 5.3 降低Cache 失效率的方法 例 5.9 在以下条件下,计算例5.8中所节约的时间: (1) 忽略指令Cache失效,并假设数据Cache 无冲突失效和容量失效。 (2) 假设预取可以被重叠或与Cache失效重 叠执行,从而能以最大的存储带宽传送 数
您可能关注的文档
最近下载
- 肉牛生产性能测定技术规范-编制说明.pdf VIP
- 中医药治疗乙型肝炎的优势及存在的问题.docx VIP
- 高危新生儿眼病筛查分类管理专家共识(2024).pptx VIP
- 24J306国家建筑标准设计图集.docx
- 汽车轮毂结构优化与轻量化设计研究.docx VIP
- 生物质呋喃基新材料呋喃二甲酸(FDCA)项目可行性研究报告写作模板-申批备案.doc
- 2025年搬运机器人行业研究报告及未来五至十年行业预测分析报告.docx
- FDCA行业动态报告:FDCA发展潜力巨大,下游制成PEF替代空间广阔.docx
- 学前儿童美术教育与活动指导第4版全套教学课件.pptx
- 预算编制服务投标方案(技术标).pdf
文档评论(0)