时钟周期指令.ppt

  1. 1、本文档共210页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
两个流水级都要访问指令Cache,这两个流水级为一个时钟周期。 3.9 多指令流出技术 指令执行时序 一台并行度ILP为n的超流水线处理机,它在一个时钟周期内能够分时发射n条指令。但这n条指令不是同时发射的,而是每隔1/n个时钟周期发射一条指令。 每个时钟周期分时发射2条指令的超流水线处理机的指令执行时空图如下: 2、与超标量机提高性能的途径不同: 超标量处理机通过重复设置多个“取指令”部件,多个“译码”、“执行”和“写回结果”部件,使其同时工作来提高指令的执行速度,以增加硬件资源为代价来换取处理机性能。 超流水线处理机只需要增加少量硬件,是通过各部分硬件的充分重叠工作来提高处理机性能的。 3.9 多指令流出技术 从流水线的时空图上看,超标量处理机采用的是空间并行性,而超流水线处理机采用的是时间并行性。 3.10 循环展开和指令调度 在编译时多次展开循环体,再对指令序列重新排序,以进一步提高流水线的并行性。 例: LOOP: LD F0,0(R1) //取数 ADDD F4,F0,F2 //相加 SD 0(R1),F4 //存数 SUB R1,R1,#8 //指针减8 BNEZ R1,LOOP //(R1) ≠0,转移到LOOP 各操作时间不等,为保证流水线正常工作,插入等待周期。 LOOP: LD F0,0(R1) 停顿 ADDD F4,F0,F2 停顿 停顿 SD 0(R1),F4 SUB R1,R1,#8 BNEZ R1,LOOP 停顿 对该循环体进行调度,执行时间由9个周期缩减为6个周期。 LOOP:LD F0,0(R1) 停顿 ADDD F4,F0,F2 SUB R1,R1,#8 BNEZ R1,LOOP SD 8(R1),F4 3.10 循环展开和指令调度 展开循环体多次 周期数 LOOP: LD F0,0(R1) 2 ADDD F4,F0,F2 3 SD 0(R1),F4 1 LD F6,-8(R1) 2 ADDD F8,F6,F2 3 SD -8(R1),F8 1 LD F10,-16(R1) 2 ADDD F12,F10,F2 3 SD -16(R1),F12 1 LD F14,-24(R1) 2 ADDD F16,F14,F2 3 SD -24(R1),F16 1 SUB R1,R1,#32 1 BNEZ R1,LOOP 2 3.10 循环展开和指令调度 完成4个循环体共需27个周期 再重新调度 LOOP:LD F0,0(R1) LD F6,-8(R1) LD F10,-16(R1)

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档