第5章重叠流水和向量处理机PPT讲稿.ppt
《第5章重叠流水和向量处理机PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第5章重叠流水和向量处理机PPT讲稿.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章重叠流水和向量处理机1第1页,共50页,编辑于2022年,星期一5.1 重叠解释方式重叠解释方式 5.2 流水方式流水方式 5.3 超标量、超流水处理机超标量、超流水处理机5.4 向量流水处理机向量流水处理机 2第2页,共50页,编辑于2022年,星期一本章重点:本章重点:一次重叠方式中,各种相关的处理;一次重叠方式中,各种相关的处理;流水线的时空图和性能分析;流水线的时空图和性能分析;流水局部性相关的处理,全局性相关的处理和对中断的处理;流水局部性相关的处理,全局性相关的处理和对中断的处理;单功能非线性流水线的调度;单功能非线性流水线的调度;向量处理方式。向量处理方式。3第3页,共50
2、页,编辑于2022年,星期一5.1 5.1 重叠解释方式重叠解释方式重叠解释方式重叠解释方式 5.1.1 基本思想和一次重叠基本思想和一次重叠解释一条指令可归纳为三部分:取指令、分析和执行解释一条指令可归纳为三部分:取指令、分析和执行解释一条指令可归纳为三部分:取指令、分析和执行解释一条指令可归纳为三部分:取指令、分析和执行图图 5.1 对一条机器指令的解释对一条机器指令的解释 取指令分析执行t 指令的执行过程:指令的执行过程:取操作码、取操作码、指令译码、形成操作数地址、取操作数、指令译码、形成操作数地址、取操作数、运算、存结果运算、存结果指令的解释有二种:指令的解释有二种:1)1)顺序执行
3、顺序执行2)2)重叠执行重叠执行4第4页,共50页,编辑于2022年,星期一顺序解释:顺序解释:一条指令执行完后再取下一条指令。一条指令执行完后再取下一条指令。特点:特点:控制简单,速度慢。控制简单,速度慢。重叠解释:重叠解释:一条指令执行完之前,就可开始解释下一条指令。一条指令执行完之前,就可开始解释下一条指令。特点:特点:速度快。速度快。图 5.2 指令的顺序解释与重叠解释 5第5页,共50页,编辑于2022年,星期一重叠操作中,取指访存和分析中取操作数访存可能出现访存冲突。重叠操作中,取指访存和分析中取操作数访存可能出现访存冲突。解决的办法解决的办法解决的办法解决的办法有三个:有三个:1
4、.1.指令和操作数分别放在不同且可同时访问的存储器中。指令和操作数分别放在不同且可同时访问的存储器中。2.2.维持指令和操作数混存,采用多体交叉主存结构。维持指令和操作数混存,采用多体交叉主存结构。3.3.采用先进先出的指令缓冲寄存器采用先进先出的指令缓冲寄存器(指缓指缓),预取几条指令于指缓之中,预取几条指令于指缓之中,此时,因取指时间很短,可与此时,因取指时间很短,可与“分析分析”微操作合并。微操作合并。6第6页,共50页,编辑于2022年,星期一一次重叠:一次重叠:指令分析部件和指令执行部件指令分析部件和指令执行部件只有一套只有一套,任何时候只有相邻的,任何时候只有相邻的两条指两条指令令
5、重叠操作。(重叠操作。(“分析分析”和和“执行执行”所需时间要相同)所需时间要相同)特点:特点:省硬件,简化控制。省硬件,简化控制。图 5.3 一次重叠工作方式 如:即使如:即使“分析分析K+1K+1”比比“执行执行K K”提前结束,提前结束,“执行执行K+1K+1”也不能紧接在也不能紧接在“分析分析K+1K+1”之后与之后与“执行执行K K”重叠进行。重叠进行。7第7页,共50页,编辑于2022年,星期一例如:例如:条件转移指令执行,并成功转移到条件转移指令执行,并成功转移到mm单元。单元。结论:条件转移指令成功时,重叠变为顺序执行,应少使用条件转移指令结论:条件转移指令成功时,重叠变为顺序
6、执行,应少使用条件转移指令图 5.4 当第k条指令是条件转移时 8第8页,共50页,编辑于2022年,星期一相关:相关:因程序相邻指令之间出现了关联,为防止出错它们不能同时解释。这因程序相邻指令之间出现了关联,为防止出错它们不能同时解释。这种现象称发生了种现象称发生了“相关相关”,有,有“数据相关数据相关”(”(即数相关即数相关)和和“指令相关指令相关”。例例1.1.数据相关。数据相关。第第K+1K+1条指令的源操作数地址正好是第条指令的源操作数地址正好是第K K条指令结果地址,顺序解释没问题,条指令结果地址,顺序解释没问题,而重叠解释时,在而重叠解释时,在“执行执行K K”和和“分析分析K+
7、1K+1”重叠时就出现问题。重叠时就出现问题。例例2.2.指令相关。指令相关。指令相关是因为机器指令允许修改引起的。指令相关是因为机器指令允许修改引起的。如如 K K:存功能:存功能 通用寄存器,通用寄存器,K+1K+1;(通用寄存器);(通用寄存器)(K+1K+1)K+1 K+1:K K的执行结果的执行结果“执行执行K K”形成形成K+1K+1条指令。因此重叠解释时条指令。因此重叠解释时“分析分析K+1K+1”就是以前进入指就是以前进入指缓的旧内容,出错。为防止出错,缓的旧内容,出错。为防止出错,K K和和K+1K+1指令就不能同时解释,称此时发生了指令就不能同时解释,称此时发生了“指令相关
8、指令相关”。关于临近指令的某种关联问题关于临近指令的某种关联问题关于临近指令的某种关联问题关于临近指令的某种关联问题9第9页,共50页,编辑于2022年,星期一5.1.2 5.1.2 相关处理相关处理相关处理相关处理1.1.指令相关的处理指令相关的处理可通过限定程序运行过程中不准修改指令来解决可通过限定程序运行过程中不准修改指令来解决同时为了增加灵活性,同时为了增加灵活性,IBM370IBM370采用采用”执行执行“指令指令“执行执行”指令的格式:指令的格式:操作码寄存器可修改指令地址被修改的指令以被修改的指令以“执行执行”指令的操作数形式出现,指令的操作数形式出现,将指令相关转成数相关。数据
9、相关分为将指令相关转成数相关。数据相关分为主存数据相主存数据相主存数据相主存数据相关关关关和和通用寄存器组相关通用寄存器组相关通用寄存器组相关通用寄存器组相关。图 5.5 IBM 370“执行”指令的执行 在数据区,其内容作为指令在数据区,其内容作为指令10第10页,共50页,编辑于2022年,星期一2.2.主存空间数相关的处理主存空间数相关的处理主存空间数相关:主存空间数相关:相邻两条指令对同一主存单元相邻两条指令对同一主存单元先写后读先写后读的关联。的关联。处理方法:处理方法:推后读。推后读。措施:措施:写优先级高,读优先级低。写优先级高,读优先级低。如:如:CPUCPU和通道可能同时发出
10、访存要求,和通道可能同时发出访存要求,这时由存控部件在每个主存周期对各种访这时由存控部件在每个主存周期对各种访存申请进行排队。存申请进行排队。图图 5.6 主存数相关的处理主存数相关的处理 11第11页,共50页,编辑于2022年,星期一3.3.通用寄存器组相关的处理通用寄存器组相关的处理通用寄存器组相关的处理通用寄存器组相关的处理 通用寄存器的作用不同既可用来存放通用寄存器的作用不同既可用来存放操作数操作数操作数操作数,又可用来存放操作数的,又可用来存放操作数的基址或变址基址或变址。所需微操作的时间也不同,有。所需微操作的时间也不同,有关处理方法也不同。关处理方法也不同。图 3 用相关专用通
11、路解决通 用寄存器组的数相关 图图 2 “执行执行k”、“分析分析k+1”重叠时,访问通用重叠时,访问通用寄存器组的时间关系寄存器组的时间关系 图图1 1 通用寄存器的内容何时使用通用寄存器的内容何时使用若出现若出现L1(k+1)=L3(k)L1(k+1)=L3(k)或或L2(k+1)=L3(k)L2(k+1)=L3(k)则有数相关。则有数相关。(1)(1)通用寄存器组数相关的处理通用寄存器组数相关的处理 处理方法:处理方法:1.1.推后读推后读 2.2.设置设置“相关专用通路相关专用通路”。作用:重叠效率不下降,数据不出错。作用:重叠效率不下降,数据不出错。12第12页,共50页,编辑于20
12、22年,星期一(2)(2)通用寄存器组基址值或变址相关的处理通用寄存器组基址值或变址相关的处理(以基址以基址B B为例,即为例,即B B相关相关)设有效地址设有效地址(X(Xd d)+(B)+(B2 2)+d)+d2 2由地址加法器形成。基址由地址加法器形成。基址B B2 2通过总线送入加法器,在时间上有时来不及,形成通过总线送入加法器,在时间上有时来不及,形成B B相关。相关。图 1 B一次相关与二次相关 图 2 B一次、二次相关的推后处理 图 5.12 B相关专用通路法 13第13页,共50页,编辑于2022年,星期一结论:结论:结论:结论:相关:相关:指令相关、操作数相关。指令相关、操作
13、数相关。操作数相关有:主存操作数相关、操作数相关有:主存操作数相关、通用寄存器组相关。通用寄存器组相关。通用寄存器组相关分为:通用寄存器组相关分为:通用寄存器组数相关、通用寄存器组基址和变址值通用寄存器组数相关、通用寄存器组基址和变址值相关。相关。解决方法:解决方法:推后分析推后分析或或设置相关专用通路设置相关专用通路。14第14页,共50页,编辑于2022年,星期一5.2 流流 水水 方方 式式 1.流水流水是重叠的引申是重叠的引申的含义:的含义:一次重叠一次重叠:把指令的解释分成两个子过程,同时解释两条指令。流水流水:把指令的解释分成多个子过程,同时解释多条指令。流水的最大吞吐率:流水的最
14、大吞吐率:流水线满负荷,每隔 t流出一个结果时所达到的吞吐率。5.2.1 5.2.1 基本概念基本概念图 5.13 指令分解为“分析”与“执行”子过程 连接图连接图时空图时空图15第15页,共50页,编辑于2022年,星期一2.2.流水线的分类流水线的分类流水线的分类流水线的分类 (1)流水按)流水按处理级别处理级别分为分为部件级的流水部件级的流水:构成部件内的各个子部件之间的流水如运算器内的:构成部件内的各个子部件之间的流水如运算器内的“浮点加浮点加”流水。流水。处理机级流水:处理机级流水:构成计算机系统的各个部件之间的流水,如取指、分析、执行的流水。构成计算机系统的各个部件之间的流水,如取
15、指、分析、执行的流水。系统级流水:系统级流水:构成计算机系统的多个处理机之间的流水,也称为宏流水。构成计算机系统的多个处理机之间的流水,也称为宏流水。流水按扩展方向分类流水按扩展方向分类流水向下扩展:把子过程进一步细分。流水向下扩展:把子过程进一步细分。(过程并行过程并行)流水向上扩展:在多个处理机之间流水。流水向上扩展:在多个处理机之间流水。(任务并行任务并行)图 5.15 处理机间的流水处理 16第16页,共50页,编辑于2022年,星期一(2)按)按流水线的功能多少流水线的功能多少分为分为单功能流水线单功能流水线:只能实现一种功能的流水,如:只能实现一种功能的流水,如“浮点加浮点加”流水
16、。流水。多功能流水线多功能流水线:能实现多种功能的流水,同一流水线的各个段之间可以有多种不同:能实现多种功能的流水,同一流水线的各个段之间可以有多种不同的连接方式实现多种不同的运算或功能的流水。的连接方式实现多种不同的运算或功能的流水。图 5.16 ASC机运算器的流水线 17第17页,共50页,编辑于2022年,星期一多功能流水线多功能流水线多功能流水线多功能流水线进一步分为:进一步分为:静态流水线静态流水线:在某一时间内各段只能按一种功能联接流水,只有等流水线全部流空后,才能切换:在某一时间内各段只能按一种功能联接流水,只有等流水线全部流空后,才能切换成按另一种功能来联接流水。实现简单。成
17、按另一种功能来联接流水。实现简单。动态流水线动态流水线:各功能段在某一时间内可按不同运算或功能联接。控制复杂。:各功能段在某一时间内可按不同运算或功能联接。控制复杂。图 5.17 静、动态多功能流水线时-空图举例18第18页,共50页,编辑于2022年,星期一(3)从流水线中各功能段之间)从流水线中各功能段之间是否有反馈回路是否有反馈回路分为分为线性流水线线性流水线:各个段之间串行连接,无反馈也无跳跃,每个任务流经流水线:各个段之间串行连接,无反馈也无跳跃,每个任务流经流水线中各个段均只有一次中各个段均只有一次非线性流水线非线性流水线:各个段之间除了有串行连接,还有反馈回路,使一个任务:各个段
18、之间除了有串行连接,还有反馈回路,使一个任务流经流水线时,需多次经过某段或越过某段。流经流水线时,需多次经过某段或越过某段。1234a 线性流水线性流水1432反馈一次反馈一次b 非线性流水非线性流水跳跃跳跃19第19页,共50页,编辑于2022年,星期一3 3 流水线的特点流水线的特点从上面的分析可知,计算机中采用流水线方式具有如下特点:从上面的分析可知,计算机中采用流水线方式具有如下特点:(1 1)流水线每一个功能部件后面都要有一个流水线每一个功能部件后面都要有一个缓冲寄存器缓冲寄存器,或称为,或称为锁存器锁存器,其作用,其作用是保存本流水段的结果,由于流水线中每一个流水段的延迟时间不可能
19、绝对相是保存本流水段的结果,由于流水线中每一个流水段的延迟时间不可能绝对相等,再加上电路的延迟时间及时钟等都存在偏移,因此流水段之间传送任务时,等,再加上电路的延迟时间及时钟等都存在偏移,因此流水段之间传送任务时,必须通过锁存器。在每个子过程后加个锁存器,受同一时钟的控制,时钟信号必须通过锁存器。在每个子过程后加个锁存器,受同一时钟的控制,时钟信号的周期不得低于速度最慢子部件的经过时间与锁存器的存取时间之和。的周期不得低于速度最慢子部件的经过时间与锁存器的存取时间之和。(2 2)流水线中流水线中各功能段的时间应尽量相等各功能段的时间应尽量相等,否则将引起堵塞、断流。要求流水线的时,否则将引起堵
20、塞、断流。要求流水线的时钟周期不能快于最慢的流水段。另一方面,执行时间长的一个流水段将成为整个流水线钟周期不能快于最慢的流水段。另一方面,执行时间长的一个流水段将成为整个流水线的的瓶颈瓶颈,此时流水线中的其他功能部件就不能发挥作用。因此瓶颈问题是流水线设计中,此时流水线中的其他功能部件就不能发挥作用。因此瓶颈问题是流水线设计中必须解决的问题。必须解决的问题。(3 3)只有连续不断地提供只有连续不断地提供同一种任务同一种任务时才能发挥流水线的效率。例如,要使浮时才能发挥流水线的效率。例如,要使浮点加法器流水线充分发挥作用,需要连续提供浮点加法运算。点加法器流水线充分发挥作用,需要连续提供浮点加法
21、运算。20第20页,共50页,编辑于2022年,星期一(4 4)流水线需要有流水线需要有装入时间装入时间和和排空时间排空时间。装入时间是指第一个任务进入流水。装入时间是指第一个任务进入流水线到输出流水线的时间。排空时间是指第线到输出流水线的时间。排空时间是指第n n个个(最后一个最后一个)任务进入流水线到任务进入流水线到输出流水线的时间。在这两种情况下,流水线不满载。只有流水线完全输出流水线的时间。在这两种情况下,流水线不满载。只有流水线完全满载时,整个流水线的效率才能得到充分发挥。满载时,整个流水线的效率才能得到充分发挥。21第21页,共50页,编辑于2022年,星期一5.2.2 流水线的主
22、要性能流水线的主要性能 1.吞吐率吞吐率 吞吐率:吞吐率:吞吐率:吞吐率:流水线单位时间里能流出的任务数或结果数流水线单位时间里能流出的任务数或结果数。最大吞吐率:最大吞吐率:最大吞吐率:最大吞吐率:瓶颈子过程:瓶颈子过程:瓶颈子过程:瓶颈子过程:流水线中经过时间最长的子过程。图 5.19 最大吞吐率取决于瓶颈段的时间 22第22页,共50页,编辑于2022年,星期一 流水线瓶颈解决方法:流水线瓶颈解决方法:(1)把瓶颈子过程在进一步细分,让细分后的子过程与别的流水段经过的把瓶颈子过程在进一步细分,让细分后的子过程与别的流水段经过的时间相等。时间相等。图 5.20 瓶颈流水段再次细分 23第2
23、3页,共50页,编辑于2022年,星期一图 5.21 瓶颈流水段重复设置(2)重复设置多套瓶颈段,使它们交叉并联。重复设置多套瓶颈段,使它们交叉并联。该方法需要解决好在各并行该方法需要解决好在各并行子过程之间的任务分配和同子过程之间的任务分配和同步控制,比起瓶颈子过程再步控制,比起瓶颈子过程再细分控制要复杂,设备更多。细分控制要复杂,设备更多。第24页,共50页,编辑于2022年,星期一mm段流水线建立时间段流水线建立时间段流水线建立时间段流水线建立时间(第第1 1条指令从进到出的时间条指令从进到出的时间):实际吞吐率:实际吞吐率:实际吞吐率:实际吞吐率:(每段时间相等每段时间相等 t t0
24、0:)当当nmnm时,时,TPTP接近接近TPTPmaxmaxmm t t0 0:流水线建立时间,:流水线建立时间,(n-1)(n-1)t t0 0:其余全部流出时间,:其余全部流出时间,n n:n n个任务个任务加速比加速比加速比加速比SpSp:流水方式相对于非流水顺序方式速度提高的比值。流水方式相对于非流水顺序方式速度提高的比值。当当nmnm时,加速比趋于流水线的段数时,加速比趋于流水线的段数m(m(最大值最大值)。n*m*n*m*t t0 0:顺序处理完时间,:顺序处理完时间,mm t t0 0+(n-1)+(n-1)t t0 0:流水全部流出时间:流水全部流出时间若流水线每段经过时间不
25、等,则:若流水线每段经过时间不等,则:实际吞吐率为:实际吞吐率为:实际吞吐率为:实际吞吐率为:n n个任务个任务流水建立时间流水建立时间瓶颈段时间瓶颈段时间顺序处理顺序处理完时间完时间加速比为:加速比为:加速比为:加速比为:25第25页,共50页,编辑于2022年,星期一图 5.22 从时空图分析实际的吞吐率 26第26页,共50页,编辑于2022年,星期一2.效率:效率:效率:流水线设备的实际使用时间占整个运行时间之比,也称流水线设备的时间利用率。a)各段经过时间相同 t0 每个流水段效率:=M M个段总的时空区个段总的时空区n n个任务实际占用的时空区个任务实际占用的时空区另外:另外:正比
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重叠 流水 向量 处理机 PPT 讲稿
限制150内