利用流水线提高性能PPT培训课件.ppt

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

2005 华东师范大学计算机科学技术系 4.Intel IA-64结构 指令包: 将指令编码形成指令包。每个指令包长度 为128位,由一个5位长的模板字段和三个41位 长的指令组成。 模板字段指明了3条指令所需的功能部件类 型:整数ALU、非整数ALU(包括移位和多媒 体操作)、访存部件、浮点功能部件和分支功 能部件。同时还表明了停止标记的位置。 2005 * 华东师范大学计算机科学技术系 4.Intel IA-64结构 提出谓词化,更灵活地开发并行度。 谓词化: 将指令是否执行与谓词相关联,而不是与 某条分支指令相关联的技术。 例:if(p){statement 1}else{statement 2} 通过谓词化,代码被编译为: (p) statement 1 (~P)statement 2 2005 * 华东师范大学计算机科学技术系 6.8 提高性能 三、动态多发射处理器 动态多发射处理器即超标量处理器 支持多发射机制: · 编译器调度 · 硬件支持,保证执行的正确性 动态流水线调度: 例:P290 下一周期执行的指令是动态选择的,选择依据 的条件有冒险、依赖关系和访内时间等。 这点与VLIW不同 2005 * 华东师范大学计算机科学技术系 三、动态多发射处理器 动态流水线调度 组成: P291图6-49 · 取指、译码和指令发射单元 · 功能单元(10个以上) 带有独立的缓冲器,保存操作数和操作控制信号 · 指令完成单元 是一个重排序缓冲器,在动态和乱序执行中,保证指令能够顺序完成 同时,也可提供操作数(类似于旁路器) 2005 * 华东师范大学计算机科学技术系 动态流水线调度 工作原理: ① 指令执行所需的操作数能在寄存器堆或指令完成单元获取时,读取操作数,并连同译码产生的操作控制信号一起发射至相应功能单元的缓冲器 ② 若不能满足发射条件,则由硬件定位将产生运算结果的功能单元,一旦完成,结果送缓冲器 ③ 功能部件的缓冲器一旦具备运算条件,则完成运算——乱序执行。 2005 * 华东师范大学计算机科学技术系 动态流水线调度 ④ 指令完成单元依据取指和译码时记录的指令顺序回写寄存器或内存结果,完成指令的执行。 ——按序完成 现代的高性能微处理器可在一个周期内发射多 条指令(4~6条),但实际由于依赖、冒险、 访存等关系,无法真正发挥。 2005 * 华东师范大学计算机科学技术系 动态流水线调度 编译器:基于软件的并行性开发方法 静态调度,尽量减少指令依赖关系所 造成的不良后果 硬件: 基于流水线和发射机制 动态调度,根据具体执行情况进行调 整,提高并行性 推测: 可由编译器或硬件完成,增加可用的 并行度,但错误的推测更会降低性能 2005 * 华东师范大学计算机科学技术系 §6 利用流水线提高性能 6.1 流水线概述 6.2 流水线的数据通路 6.3 流水线中的控制 6.4 数据冒险与转发 6.5 数据冒险与阻塞 6.6 分支冒险 6.7 异常 6.8 提高性能 6.9 实例:Pentium 4处理器的流水线 6.9 实例:Pentium 4处理器的流水线 奔腾CPU框图: 6.9 实例:Pentium 4处理器的流水线 主要技术: .超标量流水线,由U、V两条指令流水线构成; .独立指令Cache和数据Cache,采用2路组相联结构; .流水浮点运算部件,采用8段子过程结构: 前4段为指令预取(PF)、指令译码(DI)、地址 生成(D2)、取操作数(EX),在U、V流水线中 完成; 后4段为执行1(X1)、执行2(X2)、结果写回寄 存器对(WF)、错误报告(ER),在浮点运算部 件中完成; .动态转移预测技术 · 常用指令用阵列逻辑实现,指令执行速度快 2005 * 华东师范大学计算机科学技术系 三、动态分支预测 MIPS采用延迟分支法,分支指令后的下一 条指令总是被执行,分支则发生在这条指令执 行完后。 因为分支跳转将计算目标地址,需消耗一 个时钟周期,所以采用延迟分支法是一种消除 这种开销的方法。 另一种方法是采用分支目标缓存,记录分 支目标地址或目标指令。 20

文档评论(0)

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

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

1亿VIP精品文档

相关文档