第三章 流水线技术.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 流水线技术 3.1 流水线的基本概念 一.指令的重叠执行 1.一条指令的几个过程段 1)取指令: 根据PC(指令计数器)从M(存储器)取出指令送到IR(指令寄存器) 2)译码分析: 译出指令的操作性质,准备好所需数据 3)执行:将准备好的数按译出性质进行处理,主要涉及ALU(算术逻辑运算部件) 2. 对指令执行的几种方式 1)顺序执行 (传统机采用) 只有在前一条指令的各过程段全部完成后,才从存储器取出下一条指令 2) 仅两条指令重叠:第i条指令的执行与第i+1条的取指重叠。 3) 三条指令重叠:第i条指令的执行与第i+1条的译码及第i+2条的取指重叠。 3) 例子 当n=200,t取=3Δt,t译=4Δt,t执=5Δt,时,分别计算上述三种执行方式的时间。 顺序执行: 200×(3+4+5)=2400Δt 两条重叠: 3+200×4+(200-1)×5+5=1803Δt 三条重叠: 3+4+(200-2)×5+5+5=1007Δt 重叠方式需要解决的问题 1)对存储器的频繁访问 ① 有哪些访问:取指令、取操作数、存放执行结果, I/O通道访问. ② 希望存储器为多体结构,以适应多种访问源的需要。 ③ 当存储器为单体结构时,需要将访问源排队,先后顺序为: 取指令、取数据、I/O通道访问、存结果 2) 先行控制部件的主要内容 Ⅰ)先行地址站,包括先行指令地址站和先行操作数地址站; Ⅱ)先行指令站,用来存放多条指令; Ⅲ)先行操作数站,用来存放多个操作数; Ⅳ)先行地址形成部件,用来形成先行指令地址以及先行操作数地址; Ⅴ)先行操作数译码站,用来完成对多条指令的译码并保留译码输出状态。 3)也应具有后行部件 后行部件:对指令执行后的结果进行处理的器件,称后行部件。 包括: ①后行数地址站,提供后行数存放地址。 ②后行数站,存放运行的结果,并且,这些结果需送存储器。 二、从重叠到流水 2、流水线技术 把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。 把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。 3、流水线中的每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。流水线的段数称为流水线的深度。 4、指令流水线 把指令的解释过程分解为分析和执行两个子过程,并让这两个子过程分别用独立的分析部件和执行部件来实现。 理想情况:速度提高一倍 4段指令流水线 5、浮点加法流水线 把流水线技术应用于运算的执行过程,就形成了运算操作流水线,也称为部件级流水线。 把浮点加法的全过程分解为求阶差、对阶、尾数相加、规格化4个子过程。 理想情况:速度提高3倍 3.1.2 流水线的分类 1) 单功能流水线:只能完成一种固定功能的流水线。 2) 多功能流水线:流水线的各段可以进行不同的连接,以实现不同的功能。 例: ASC的多功能流水线 2) 动态流水线:在同一时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。 优点 灵活,能够提高流水线各段的使用率,从而提高处理速度。 缺点 控制复杂。 3.1.3 流水线的特点 3.2 流水线的时空图及性能分析 一、时空图 时空图从时间和空间两个方面描述了流水线的工作过程。时空图中,横坐标代表时间,纵坐标代表流水线的各个段。 4段指令流水线的时空图 吞吐率:在单位时间内流水线所完成的任务数量或输出结果的数量。 1、各段时间均相等的流水线 各段时间均相等的流水线时空图 流水线完成n个连续任务所需要的总时间为 (假设一条k段线性流水线)    Tk=kΔt+(n-1)Δt=(k+n-1)Δt 流水线的实际吞吐率 最大吞吐率与实际吞吐率的关系 2、各段时间不完全相等的流水线 各段时间不等的流水线及其时空图 举例(时空图) 一条4段的流水线 S1,S3,S4各段的时间:Δt S2的时间:3Δt (瓶颈段) 流水线中这种时间最长的段称为流水线的瓶颈段。 各段时间不等的流水线的实际吞吐率: ( Δti为第i段的时间,共有k个段 ) 3、解决流水线瓶颈问题的常用方法 1)细分瓶颈段 例如:对前面的4段流水线 把瓶颈段S3细分为3个子流水线段:S3a,S3b,S3c 2)重复设置瓶颈段 缺点:控制逻辑比较复杂,所需的硬件增加了。 例如:对前面的4段流水线 重复设置瓶颈段S3:S3a,S3b,S3c 1、流水线各段时间相等(都是△t) 一条k段流水线完成n个连续任务 所需要的时间为

文档评论(0)

勤能补拙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档