tomasulo算法流水线控制issuefpoperation.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
tomasulo算法流水线控制issuefpoperation

小结 可通过软件或硬件来挖掘指令级并行潜力 循环级并行是最容易判断的 程序内在的相关性限制了用软件方法挖掘程序的并行性 编译器的数据相关性分析结果,确定了是否可以进行循环展开 当对存储器单元引用时,数据相关分析很困难 硬件方法挖掘ILP 在编译阶段无法确定的相关性,可以在程序执行时,用硬件方法判定 这种方法还可以使得程序代码在其他机器上有效地执行 记分牌的主要思想是:允许stall后的指令继续进行处理 可以out-of-order execution = out-of-order completion ID 段检测结构相关和WAW相关 CDC 6600 Scoreboard 编译器优化,加速比可达到1.7,手工优化加速比可达到 2.5 ,其存储系统较慢 (no cache)限制了性能的发挥 6600 scoreboard的缺陷: 没有定向数据通路 指令窗口较小,仅局限于基本块内的调度 功能部件数较少,容易产生结构相关,特别是其Load store操作也是用IU部件完成的 结构冲突时不能发射 WAR相关是通过等待解决的 WAW相关时,不会进入IS阶段 指令级动态调度方案: Tomasulo 动态调度方案之二:Tomasulo Algorithm 该算法首次在 IBM 360/91上使用( CDC6600推出三年后) 目标: 在没有专用编译器的情况下,提高系统性能 IBM 360 CDC 6600 ISA的差别 IBM360只有 2位寄存器描述符 vs. CDC 6600寄存器描述符3位 IBM360 4个FP 寄存器 vs. CDC 6600 8个 IBM 360 有memory-register 操作 为什么研究? Alpha 21264, HP 8000, MIPS 10000, Pentium II, PowerPC 604,… Tomasulo Algorithm vs. Scoreboard 控制和缓存分布在各部件中 vs. 控制和缓存集中在记分牌 FU 缓存称为 “reservation stations”; 保存待用操作数 指令中的寄存器在RS中用寄存器值或指向RS的指针代替。称为 register renaming ; 避免 WAR, WAW hazards RS多于寄存器,因此可以做更多编译器无法做的优化 传给FU的结果,从RS来而不是从寄存器来,FU的计算结果通过Common Data Bus 以广播方式发向所有的功能部件。 Load和Store部件也看作带有RS的功能部件 可以跨越分支,允许FP操作队列中的FP操作不仅仅局限于基本块 Tomasulo Organization Tomasulo Organization (cont.) Reservation Station 结构 Op: 部件所进行的操作 Vj, Vk: 源操作数的值 Store 缓冲区有V域,用于存放要写入存储器的值 A:用于存放存储器地址。开始存立即数,计算出有效地址后,存放有效地址 Qj, Qk:产生源操作数的RS 注:没有记分牌中的准备就绪标志, Qj, Qk=0 = ready Store 缓存区只有Qi表示产生结果的RS Busy: 标识RS或FU是否空闲 Register result status—如果存在对寄存器的写操作,指示对该寄存器进行写操作的部件. Qi: 保留站的编号 Tomasulo 算法的三阶段 1. Issue—从FP操作队列中取指令 如果RS空闲(no structural hazard), 则控制发射指令和操作数 (renames registers). 消除WAR,WAW相关 2. Execution—operate on operands (EX) 当两操作数就绪后,就可以执行 如果没有准备好,则监测Common Data Bus 以获取结果。通过推迟指令执行避免RAW相关 3. Write result—finish execution (WB) 将结果通过Common Data Bus传给所有等待该结果的部件; 表示RS可用 通常的数据总线: data + destination (“go to” bus) Common data bus: data + source (“come from” bus) 64 bits 数据线 + 4位功能部件源地址( FU source address) 产生结果的部件如果与RS中等待的部件匹配,就进行写操作 广播方式传送 Tomasulo 算法流水线控制 Execute FP Operation wait until: (RS[r].Qj=0) and (RS[r].Qk=0

文档评论(0)

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

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

1亿VIP精品文档

相关文档