- 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.2指令的动态调度
◆静态调度:在出现数据相关时,为了消除或
者减少流水线空转,编译罨确定并分离出程
序中存在相关的指令,然后进行指令调度,
并对代码进行优化
◆动态调度:通过硬件重新安排指令的执行顺序,
来调整相关指令实际执行时的关系,减少处理
器空转
以硬件复杂性的显著增加为代价。
2指令的动态调度
4.2.1动态调度的原理
到目前为止我们所使用流水线的最大的局限性:
指令必须顺序流出
看下面一段代码:
DIVD FO. F2. F4
ADDD F10. F0 F8
S2:S2对S1数据相关,
S2被阻塞
SUBD F12,F8,F14;S3:S3与S1、S2都没
有相关,但也被阻塞
2指令的动态调度
◆为了允许乱序执行,我们将基本流水线的译码阶段
再分为两个阶段:
(1)流出( Issue,IS):指令译码,检查是否存
在结构阻塞
(2)读操作数(Read0 operands,R0):当没有数
据相关引发的阻塞时就读操作数
◆指令乱序结束带来的最大问题:
异常处理比较复杂
(精确异常处理、不精确异常处理)
2指令的动态调度
4.2.2动态调度算法之一:记分牌
例:数据先读后写(WAR)相关引起的阻塞
代码序列
DIVD FO F2. F4
ADDD F10, FO, F8
SUBD F8. F8. F14
指令乱序执行时就会出现先读后写相关
◆记分牌技术的目标:
在资源充足时,尽可能早地执行没有数据阻
塞的指令,达到每个时钟周期执行一条指令
2指令的动态调度
◆要发挥指令乱序执行的好处,必须有多条指令
同时处于执行阶段,这就要求有多个功能部件
或功能部件流水化或者两者兼有
假设:处理器采用多个功能部件
CDC6600具有16个功能部件
4个浮点部件,
5个存储器访问部件
7个整数操作部件
在DLX中,假设有2个乘法器、1个加法器、1
个除法部件和1个整数部件
1.采用记分牌技术的DLK处理器的基本结构。
寄存器
数据总线
浮点乘法
浮点乘法
浮点除法
浮点加法
整数部件
记分牌
控制/状态
控制/状态
图4.1具有记分牌的D处理器基本结构
2指令的动态调度
记分牌电路负责记录资源的使用,并负责相
关检测,控制指令的流出和执行。
每条指令在流水线中的执行过程分为四段
(1)流出( Issue,记为IS)
如果本指令所需的功能部件有空闲,并
且其它正在执行的指令使用的目的寄存器与
本指令的不同,记分牌就向功能部件流出本
指令,并修改记分牌内部的数据记录。
解决了指令间存在的结构相关或写后写相关
2指令的动态调度
2)读操作数(Read0 perand,记为R0)
记分牌需要监测源操作数寄存器中数据的
有效性,如果前面已流出的还在运行的指令不
对本指令的源操作数寄存器进行写操作,或者
个正在工作的功能部件已经完成了对这个寄
存器的写操作,那么此操作数有效。当操作数
有效后,记分牌将启动本指令的功能部件读操
作数并开始执行
解决了数据的先写后读(RAW)相关
通过以上步骤,记分牌动态解决了结构相
和数据相关引发的阻塞,指令可能乱序流出
指令的动态调度
3)执行( Execution,记为Ex)
(4)写结果( Write result,记为WR)
记分牌知道指令执行完毕后,如果目标
寄存器空闲,就将结果写入到目标寄存器中,
然后释放本指令使用的所有资源
◆检测先读后写(WAR)相关
在出现以下的情况时,就不允许指令写结果:
前面的某条指令(按顺序流出)还没有读取操作数;
其中某个源操作数寄存器与本指令的目的寄存器相同
2指令的动态调度
存在一个问题:就是功能部件到寄存器文件的
数据总线宽度是有限的,当流水线中进入读操作
数段(R0)和写结果段(WB)的功能部件总数超
过可用总线的数目,这会导致结构阻塞
3.记分牌需要纪录的信息分为三部分:
(1)指令状态表
记录正在执行的各条指令已经进入记
分牌DLX流水线四段中的哪一段
10/61
您可能关注的文档
最近下载
- 教师基本能力—阅读理解能力.pptx VIP
- 茶艺师岗位试题及答案.docx
- (正式版)B-T 176-2017 水泥化学分析方法.docx VIP
- 鱼菜共生商业计划书.docx VIP
- 剑桥少儿英语二级上unit1.ppt VIP
- Module 3 Unit 1 They're all my favourite festivals!(课件)-五年级英语同步备课(外研版一起).pptx VIP
- 教师资格考试基本能力第一节阅读理解能力演示教学.ppt VIP
- 2025第三届全国技能大赛海南省选拔赛-餐厅服务(国赛精选)项目技术文件.pdf VIP
- 麻醉药品和精神药品培训试题及答案.docx VIP
- 导视标识标牌系统制作安装方案(全面标准版).pdf VIP
文档评论(0)