- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.4 采用动态调度克服数据冒险 指令运行的三个阶段 1、发射:从指令队列中取到下一条指令,指令队列按FIFO顺序维护,以保证正确的数据流。如果有匹配的空闲保留站,并且指令的操作数的值也保存在寄存器中,则将指令和操作数的值一起发射到该保留站中。如果没有空闲的保留站,则说明发生结构冒险,指令会被停顿,直至出现可用的保留站或缓存。如果操作数不在寄存器中,则需要跟踪将要产生该操作数的功能单元,寄存器重命名在这一步进行。 2.4 采用动态调度克服数据冒险 指令运行的三个阶段 2、执行:如果有一个或多个操作数处于不可用状态,则监视公共数据总线,等待这些操作数被计算出来。当一个操作数可用时,该操作数将被放入等待它的保留站中。当指令所需的所有操作数都已就绪时,该指令将在相应的功能单元中执行。通过在操作数可用之前延迟指令的执行,避免了RAW冒险。如果多条指令在同一个时钟周期内就绪,则功能单元将被迫在就绪指令间做出选择。 2.4 采用动态调度克服数据冒险 指令运行的三个阶段 2、执行:为了保护异常行为,在程序顺序中的所有前序转移完成之前,任何指令都不能开始执行。这个约束可以确保在执行过程中引起异常的指令会被执行。 3、写结果:当结果就绪时,将其写到公共数据总线上,并由此送往等待它的寄存器和保留站。 当指令已经被发射且正在等待源操作数时,标签字段将指向包含将产生源操作数指令的保留站号,比如0则表明操作数已经在寄存器中就绪。 2.4 采用动态调度克服数据冒险 Tomasulo算法 Tomasulo方法采用总线广播结果的方式,由保留站监听,这种方法实现了静态流水线调度中直接通路和旁路技术的功能,而在动态调度方法中,为了达到同样的目标,需要在源和结果之间增加一个时钟周期的时延,与功能单元产生结果相比,动态调度流水线中生产指令和消费指令之间的有效时延至少要多花一个时钟周期。 每个保留站有七个字段,见P66. 2.6 基于硬件的推测 当我们试图进一步开发指令级并行时,维护控制相关性便成为一个严重的负担。转移预测技术减少了直接由转移引起的停顿,但是要想使处理器在一个时钟周期内执行多条指令,仅靠转移预测恐怕无法使我们获得期望的指令级并行度。为了保持最高性能,一个宽发射处理器可能需要每个时钟周期都执行一条转移指令,因此,要想进一步开发并行度,就必须克服控制相关带来的问题。可以通过推测转移的结果,并按照推测正确的情况执行指令,以达到克服控制相关的目的。 2.6 基于硬件的推测 基于硬件的推测综合以下三种思想 通过动态转移预测选择要执行的指令,通过推测技术允许指令在控制相关消除之前开始执行(能够消除错误推测序列的影响),通过动态调度处理几个不同的基本块之间的调度(作为比较,没有推测的动态调度只能在基本块之间实现部分重叠) 2.6 基于硬件的推测 基于硬件的推测 为了扩展Tomasulo算法并使其支持推测技术,必须将指令结果的旁路操作(推测执行指令需要指令结果的旁路操作)从实际的指令完成中分离出来。通过这种分离,可以允许指令将它的执行结果旁路给其他指令,而在确定而不是推测指令的执行之前,不允许做任何更新。 2.6 基于硬件的推测 基于硬件的推测 实现推测技术的关键思想是允许指令乱序执行,但是要求指令必须按序提交,并且在指令提交之前阻止所有不可恢复的动作(比如更新状态或产生异常)。当使用推测技术扩展动态调度时,必须将指令的完成与指令提交区分开来,因为指令可能在提交之前已经完成。在指令执行过程中需要一组硬件缓存的支持,使用这些缓存保存已经执行完但还没有提交的指令执行结果,这些硬件缓存称为重排序缓存。 2.6 基于硬件的推测 重排序缓存(ROB) 重排序缓存提供了附加的寄存器,这种方法与Tomasulo算法通过保留站扩展寄存器集类似。在指令运算完成到提交这段时间内,重排序缓存为指令保存结果。即在这段时间内, ROB是指令的操作数源,但ROB与保留站的重要区别是:在Tomasulo算法中,当指令完成写结果的操作后,所有的后继指令都将从寄存器文件中读取结果;而在推测技术中,只有在指令提交之后寄存器文件才会被更新。 2.6 基于硬件的推测 重排序缓存(ROB) 重排序缓存每一个入口都包含4个字段:指令类型、目标字段、值字段和就绪字段。 指令类型字段表明指令是转移运算、store操作还是寄存器运算。 目标字段提供寄存器序号或存储器地址,指令将把结果写向目标字段指向的寄存器或存储器 值字段用来在指令提交之前,保存指令执行结果的值,就绪字段表明指令已经完成它的执行,其结果已经可用。 2.6 基于硬件的推测 处理器硬件结构 见图2.14。尽管ROB
您可能关注的文档
- 浅谈结构设计中的含钢量控制.doc
- 浅谈自制教具在物理教学中的有效应用.doc
- 浅谈能繁母猪保险中存在的问题.doc
- 浅谈芝加哥大学公共政策研究生申请之道.doc
- 浅谈英语教学中素质教育的渗透.doc
- 浅谈秘书在交谈中如何合理运用语言技巧-20140508.doc
- 浅谈螺杆钻试压检验装置的改造及应用1.doc
- 浅谈西安乡村民俗旅游资源开发.doc
- 浅谈结构设计中的刚度理论.doc
- 浅谈解决气缸套早期磨损的措施.doc
- 浙江海宁市事业单位考试历年真题及解析.doc
- 浙江省2002年7月自学考试操作系统试题.doc
- 浙江理工大学军事理论考试题库.doc
- 浙江教师资格考试:幼儿保教知识与能力单选题强化练习(四).doc
- 浙江湖州中学2014学年高三年级第一学期第一次质量检测数学试卷(理).doc
- 浙江省2007年7月高等教育自学考试 汽车经营管理学试题 课程代码05834.doc
- 浙江版科学八年级下册第二章空气与生命知识点以及对应测试.doc
- 测试案例附录DTX1800使用.ppt
- 浙江省2007年7月高等教育自学考试 生药学试题 课程代码10064.doc
- 浙江省2007年1月高等教育自学考试 护理管理学试题 课程代码03006.doc
最近下载
- (高清版)DB4401∕T 112.1-2021 《城市道路占道施工交通组织和安全措施设置 第1部分:交通安全设施设置》.pdf VIP
- 素食店创业计划书.pptx
- 5《秋天的怀念》—优质课课件(共30张PPT).pptx VIP
- 血管瘤治疗后护理.pptx
- 年产12000吨中药材中药饮片加工GMP项目可行性研究报告写作模板-备案审批.doc
- 有限空间作业考试试题库(附答案).docx
- 公共政策审计课件.pptx
- “分数除法”六年级上册第三单元整体教学设计.docx VIP
- 成考政治试题及答案.doc VIP
- 人教版七年级上册英语Starter Unit 3知识点梳理及语法讲义(学生版).pdf VIP
文档评论(0)