Tomasulo详细教程.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomasulo详细教程

选自 快乐飞翔 的百度空间,是一份很好的总结,这里打成pdf,希望能起到更 好的学术交流作用。 /happy_flying00001/blog/item/bfc2e682c469dbb46c811 93c.html 一流水线的静态调度与动态调度 提高流水线的效率 指令流水线的执行方式会产生流水线的冲突和保护 1 对寄存器访问的竞争是影响流水线保护和延迟的主要原因。 如果出现要对某寄存器读取/写入的时候, 前一指令对该寄存器的写操作/读 操作还未完成的情况,就会造成流水线保护和延迟 2 对存储器访问的竞争也是影响流水线保护和延迟的重要原因 3 指令缓冲队列也有可能造成流水线保护和延迟, 流水线的竞争 定义: 流水线竞争是流水线中造成下一条指令不能在指令时钟周期被执行的情 况. 流水线竞争的后果造成流水线停顿几个周期,从而降低流水线效率. 流水线竞争种类 结构竞争:资源冲突(不支持某些指令组合) 数据竞争:后续指令的执行依赖于前面指令的执行结果 控制竞争:因转移或修改PC 引起的竞争 流水线的动态调度有许多优势 1 能调度在编译时不可能知道的竞争情况 2 符合程序执行的实际情况 3 具有更高的效率和准确性 4 简化编译程序设计 5 代码的移植性强 缺点就是控制硬件比较复杂 二 动态调度 静态调度的缺点 虽然可以通过旁路控制机构,编译技术调度指令序列,分开具有相关性的指令来 使竞争数目和性能损失减小到最低程度。但是不可避免的数据相关是不可能完全 消除的竞争还会存在。所以需要使用流水线的动态调度。 动态调度的一大优势就是: 能够在数据相关时,避免暂停流水线。 动态调度的重要点就是:流水线的乱序执行,指令的发射是乱序的,指令的完成 也有可能是乱序的。 由于流水线允许多条指令在同一时刻执行 所以流水线结构需要改变,功能单元 也需要改变了。 静态调度与动态调度: 静态调度:根据软件的行为特征进行优化来编译调度指令代码次序,主要依据程 序未执行时的行为特征和统计数据进行的调度策略 动态调度:通过硬件在程序执行时重新安排代码的执行序列来减少竞争引起的流 水线停顿时间 动态调度流水线具备以下功能: (1)允许按序取多条指令和发射多条指令取指(IF)流水级允许按顺序取多条 指令进入单口暂存器(single-entry latch)或队列(queue), 指令然后从 latch 或queue 取出,进入ID 节拍。 (2)能检查并消除 hazards将 ID 流水级分为独立的两级:Issue 级和 Read operand 级: Issue 级功能 指令译码,检查是否存在结构竞争(即在这一流水级解决结构竞争问题); Read operands 级功能 等到无数据竞争(RAW)后,读出操作数,即在这一流水级解决数据竞争问题 三 记分牌动态调度算法 记分牌是一集中控制部件,其功能是控制数据寄存器与处理部件之间的数据传送。 在记分牌中保存有与各个处理部件相联系的寄存器中的数据装载情况。当一个处 理部件所要求的数据都已就绪(装载完毕),记分牌允许处理部件开始执行。当 执行完成后,处理部件通知记分牌释放相关资源。所以在记分牌中记录了数据寄 存器和多个处理部件状态的变化情况,通过它来检测和消除或减少数据相关性, 加快程序执行速度。 目的: 在无资源竞争的前提下保持每一个时钟周期执行一条指令的速率。 思想方法: 尽可能提早指令的执行。当一条指令暂停执行时,如果其他后继指令与暂停指令 及已发射的指令无任何相关,则仍然可以发射,执行。 记分牌的功能 指令发射和执行 竞争检测和消除 每一条指令都要经过记分牌(记录在 “指令状态表”中),即发射到记分牌数据 结构中;纪录数据相关性,把源和目的操作数记录在 “功能单元状态表”中;决 定指令何时可读出操作数(检测是否有RAW 竞争) 决定指令何时可以开始执行(一旦操作数就绪,立即开始执行); 若某条指令不能立即执行,则由记分牌监控硬件的每一变化,并决定何时才能开 始执行; 控制指令何时能将结果写入目的寄存器(即检测是否有WAR 竞争) 任务: 控制指令的发射和执行。 在RISC 处理器中,记分牌主要针对的是浮点操作。 因此将指令的执行分为4 级: 1 发射级 指令的功能部件没有结构竞争和没有WAW 竞争的时候,则这条指令可以发射。将 会把指令发射到相应的功能部件,同时修改记分牌的内部数据结构。如果存在结 构竞争或者是存在WAW 竞争时候,指令暂停发射。 2 读操作数 记分牌监控源操作数是否就绪。一个源操作数就绪的条件为: 早前发射的活动指令对该操作数不进行写入

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档