- 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章 第4讲
第四章 指令级并行 主要内容 4.1 指令级并行的概念 4.2 指令的动态调度 4.3 控制相关的动态解决技术 4.4 多指令流出技术 4.3 控制相关的动态解决技术 4.3.1 分支预测缓冲 4.3.2 分支目标缓冲 动态分支预测 动态分支预测的两个理由 n流出的处理器加速上限为n倍 Amdahl定律提示:在较低CPI机器上,控制相关导致的空转对机器性能影响大 前面解决控制相关的静态策略 需要编译器将一条或多条指令移动到流水线产生的分支延迟槽中 关于分支预测策略的两部分工作 预测的分支是否成功 执行分支目标指令 分支预测的效率 预测的准确率 分支的开销 预测正确的开销 预测错误的开销 分支预测缓冲(BPB): 原理 最简单的分支预测策略 分支预测缓冲是一个小的存储器阵列 每个单元只有1位,记录最近一次分支是否成功的信息 预测位为1则预测分支成功,并从目标位置开始取指令 单元由分支指令地址的低位索引进行寻址 BPB的预测位会被具有相同低位地址的分支设置 BPB也被称为BHP( branch history buffer分支历史缓冲) 1位BPB状态图 这种单位预测策略有大约80%左右的准确率 当分支不成功时,单位预测会失败两次 2位预测策略能够改善这种情况 2位BPB工作原理 在2位预测策略中,一个预测必须错误两次才会改变。 对于一个4096条记录的BPB,利用2位预测策略,用SPEC89测试,命中率为82%到99% 准确率最高的测试程序一般包含大量循环 线性代码一般准确率最差 2位BPB另一种状态转换图 4096单元2位BPB的预测准确率 测试程序为SPEC89 整数测试程序: 平均 11% gcc, espresso, eqntott, li 浮点测试程序: 平均 4% nasa7, matrix300, tomcatv 为什么? 4096单元2位BPB: 预测错误率 n位BPB 1位或2位BPB是n位BPB的特殊情况 n位策略使用计数器,表示0~2n的值 与2位策略类似,对于n位BPB,每次分支成功,计数器+1,反之则-1 如果计数器值大于其最大值的一半,则做成功预测,反之则做失败预测 2位BPB: 4K vs. 无穷多 BPB实现 BPB的实现方案 实现一个小而特殊的 “cache”,利用指令地址进行索引,在IF流水段访问。 或者,为指令cache中每一块增加附加位,与指令一起取出 若一个指令在ID段被译码为分支指令,且对应的BPB标志位预测其成功,则 一旦PC已知,立刻从分支目标位置开始取指 或者,继续顺序取指 分支目标缓冲(BTB) 另一个动态分支预测方法:分支目标缓冲 Branch Target Buffer, BTB 为了减小或消除流水线的分支开销,我们需要在IF段结束前知道从哪个地址开始取下一条指令 换句话说,我们在IF段就需要知道这条未译码的指令是否为分支指令,并且如果它是分支指令,要尽快知道NPC值应当为多少 BTB实现 分支目标缓存BTB每个单元应该包括 分支指令的地址 分支目标的地址 分支预测标识 取指阶段,所有指令地址都与BTB中保存的分支指令的地址做比较,一旦相同,就认为本指令是分支指令,并且分支成功 它的目标地址就是保存在缓冲区中的分支目标地址 取出后直接送入NPC BTB Vs. BPB 分支预测技术受限于预测精度,以及预测失效后产生的开销 根据不同程序特点以及缓冲区的大小,典型的BTB可以实现80%到95%的预测精度 降低失效开销技术:在一个时钟周期内同时取出不同分支路径的指令 会引入其他开销,比如存储系统的端口加倍 降低失效开销的唯一方法,比如 AS/400 PowerPC处理器 分支预测局限性 预测准确性:80%-90% 预测性能依赖于 程序类型 缓冲区大小 预测失效开销的优化 预取不同分支路径指令 存储端口数目加倍,交叉存取缓冲 在目标缓冲中缓冲多个路径的指令 谢谢! 计算机体系结构 * 计算机体系结构 * 2位BPB状态转换图 预测成功 预测不成功 预测不成功 预测成功 成功 成功 不成功 成功 不成功 不成功 不成功 成功 BTB 结构 BTB 执行过程
有哪些信誉好的足球投注网站
文档评论(0)