重叠、流水和向量流水处理机.ppt

上传人:s****8 文档编号:67223095 上传时间:2022-12-24 格式:PPT 页数:121 大小:2.55MB
返回 下载 相关 举报
重叠、流水和向量流水处理机.ppt_第1页
第1页 / 共121页
重叠、流水和向量流水处理机.ppt_第2页
第2页 / 共121页
点击查看更多>>
资源描述

《重叠、流水和向量流水处理机.ppt》由会员分享,可在线阅读,更多相关《重叠、流水和向量流水处理机.ppt(121页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第 5 章 重叠、流水和向量流水处理机 第第 5 5 章章 重叠、流水和向量流水处理机重叠、流水和向量流水处理机5.1重叠方式重叠方式5.2流水方式流水方式5.3向量的流水处理与向量流水处理机向量的流水处理与向量流水处理机5.4指令级高度并行的超级处理机指令级高度并行的超级处理机第 5 章 重叠、流水和向量流水处理机 本章要点本章要点v“一次重叠一次重叠”方式中各种相关的处理;方式中各种相关的处理;v流水线的时空图和性能分析;流水线的时空图和性能分析;v流水的局部性相关处理,全局性相关处理流水的局部性相关处理,全局性相关处理v单功能非线性流水线的调度;单功能非线性流水线的调度;v向量处理方法向

2、量处理方法v增强向量处理性能的方法增强向量处理性能的方法v采用链接技术,从访存开始到一个一个结果分采用链接技术,从访存开始到一个一个结果分量输出所需的拍数。量输出所需的拍数。第 5 章 重叠、流水和向量流水处理机 5.1重叠方式重叠方式5.1.1重叠原理和一次重叠重叠原理和一次重叠图图5.1对一条机器指令的解释对一条机器指令的解释取指令取指令分析分析执行执行。t t一、顺序解释一、顺序解释(sequence):一条指令执行完再取下一条指令。):一条指令执行完再取下一条指令。若各阶段执行时间相等,则共需若各阶段执行时间相等,则共需3nt t优点:优点:控制简单,节省设备;控制简单,节省设备;缺点

3、:缺点:速度慢,机器各部件的利用率很低。速度慢,机器各部件的利用率很低。取取k k分析分析k k执行执行k k取取k+1k+1分析分析k+1k+1执行执行k+1k+1指令的解释方式一般分为顺序、重叠、流水三种。指令的解释方式一般分为顺序、重叠、流水三种。设指令工作方式分成取指令、分析、执行指令阶段设指令工作方式分成取指令、分析、执行指令阶段第 5 章 重叠、流水和向量流水处理机 执行执行n条指令需:条指令需:T=(1+2n)t;优点:指令执行时间缩短了近优点:指令执行时间缩短了近1/2;功能部件的利用率也有;功能部件的利用率也有所提高;所提高;缺点:需要增加一些部件,控制也要复杂些;缺点:需要

4、增加一些部件,控制也要复杂些;取取k分析分析k执行执行k分析分析k+1取取k+1执行执行k+1取取k+2分析分析k+2执行执行k+2二、重叠二、重叠(Overlap):在两条相近指令的解释过程中,某):在两条相近指令的解释过程中,某些不同解释阶段在时间上存在重叠部分。些不同解释阶段在时间上存在重叠部分。1.上一条指令的执行阶段与下一条指令的取指阶段完全重叠;上一条指令的执行阶段与下一条指令的取指阶段完全重叠;取取k分析分析k执行执行k分析分析k+1取取k+1执行执行k+1取取k+2分析分析k+2执行执行k+22.将相邻两条指令的重叠时间再往前提前一个阶段;将相邻两条指令的重叠时间再往前提前一个

5、阶段;第 5 章 重叠、流水和向量流水处理机 执行执行n n条指令需要:条指令需要:T=T=(2+n2+n)t t指指令令的的执执行行时时间间缩缩短短了了近近2/32/3,是是一一种种比比较较理理想想的的指指令令执执行行方式;方式;这这种种执执行行方方式式存存在在着着访访存存冲冲突突,要要解解决决访访主主存存的的冲冲突问题突问题,通常采用以下几种方式:通常采用以下几种方式:(1 1)主主存存分分成成两两个个独独立立编编址址的的存存储储器器,一一个个专专门门存存放放指指令,一个专门存放操作数;令,一个专门存放操作数;(2 2)指指令令和和数数据据仍仍然然混混存存在在一一个个存存储储器器中中,采采

6、用用多多体体交交叉主存结构,不能根本解决叉主存结构,不能根本解决;(3(3)采采用用先先行行控控制制技技术术,增增设设采采用用先先进进先先出出方方式式工工作作的的指令缓冲寄存器指令缓冲寄存器。第 5 章 重叠、流水和向量流水处理机 3 3 一次重叠:一次重叠:把取指令操作隐含在分析、执行指令过程中,则把取指令操作隐含在分析、执行指令过程中,则在任何时候只允许上条指令在任何时候只允许上条指令“执行执行”与下条指令与下条指令“分析分析”相重相重叠。叠。分析分析k执行执行k执行执行k+1分析分析k+1连续执行连续执行n n条指令所需时间为:条指令所需时间为:T=T=(1+n1+n)t t;实际达到这

7、个速度是很难得,存在几个问题:实际达到这个速度是很难得,存在几个问题:(1 1)各种类型的指令)各种类型的指令“分析分析”与与“执行执行”所需时间差别很大;所需时间差别很大;从而导致相互等待。从而导致相互等待。(2 2)当出现转移指令或转移子程序指令时,程序的执行过)当出现转移指令或转移子程序指令时,程序的执行过程就不是顺序的了,那么指缓中的内容以及已经分析完的程就不是顺序的了,那么指缓中的内容以及已经分析完的下一条指令都将作废;下一条指令都将作废;(3 3)数据相关以及控制相关;)数据相关以及控制相关;第 5 章 重叠、流水和向量流水处理机 三、先行控制三、先行控制 使分析和执行部件分别连续

8、不断地运行,使部件空闲状态减使分析和执行部件分别连续不断地运行,使部件空闲状态减至最低。至最低。(a)重叠方式分析k+1分析k执行k执行k+1分析k+2执行k+2分析部件空闲执行部件空闲分析k+1分析k执行k分析k+2(b)先行控制执行k+1执行k+21.1.工作原理工作原理第 5 章 重叠、流水和向量流水处理机 结果:结果:解决了分析与执行时间不等长问题。解决了分析与执行时间不等长问题。与重叠区别:与重叠区别:分析和执行部件可同时处理两条不相分析和执行部件可同时处理两条不相邻指令。邻指令。2.2.硬件要求硬件要求 增设指令缓冲栈,消除取指过程;增设指令缓冲栈,消除取指过程;增设数据缓冲栈,保

9、证不同指令的读、写操作并行;增设数据缓冲栈,保证不同指令的读、写操作并行;增设先行操作栈,保证执行部件能连续执行。增设先行操作栈,保证执行部件能连续执行。第 5 章 重叠、流水和向量流水处理机 硬件结构:硬件结构:主主存存存存控控指令分析器指令分析器指令缓冲指令缓冲栈栈读数据缓冲读数据缓冲区区执行执行部件部件先行操作栈先行操作栈数据缓冲栈数据缓冲栈写数据缓冲写数据缓冲区区第 5 章 重叠、流水和向量流水处理机 5.1.2相关处理相关处理1.转移指令的处理转移指令的处理采用延迟转移技术,将转移指令与条件转移无关的第采用延迟转移技术,将转移指令与条件转移无关的第k-1条指条指令交换一下位置,即使转

10、移成功也不会使重叠效率下降。令交换一下位置,即使转移成功也不会使重叠效率下降。2.指令相关的处理指令相关的处理“执行执行”指令是指令是IBM370机器为此设置的一条指令,其形式为机器为此设置的一条指令,其形式为执行R1X2B2D2当当执执行行到到“执执行行”指指令令时时,按按第第二二操操作作数数(X2)+(B2)+D2地地址址取出操作数区中单元的内容作为指令来执行,参见图取出操作数区中单元的内容作为指令来执行,参见图5.5。第 5 章 重叠、流水和向量流水处理机 图图5.5IBM370“执行执行”指令的执行指令的执行第 5 章 重叠、流水和向量流水处理机 3.主存空间数相关的处理主存空间数相关

11、的处理图图5.6主存空间数相关的处理主存空间数相关的处理第 5 章 重叠、流水和向量流水处理机 4.通用寄存器组相关的处理通用寄存器组相关的处理设机器的基本指令格式为设机器的基本指令格式为操作码L3L1B2d2或 操作码L3L1L2第 5 章 重叠、流水和向量流水处理机 图图5.7指令解释过程中与通用寄存器内容有关的微操作时间关系指令解释过程中与通用寄存器内容有关的微操作时间关系第 5 章 重叠、流水和向量流水处理机 图图5.8“执行执行k”、“分析分析k+1”重叠时,访问通用寄存器组的时间关系重叠时,访问通用寄存器组的时间关系(1)通用寄存器组数相关处理)通用寄存器组数相关处理第 5 章 重

12、叠、流水和向量流水处理机 图图5.9用相关用相关专用通路解决专用通路解决通用寄存器组通用寄存器组的数相关的数相关处理方法:处理方法:a.推后下一条指令的分析。推后下一条指令的分析。b.设置相关专用通路设置相关专用通路第 5 章 重叠、流水和向量流水处理机(2)通用寄存器组基址值和变址值相关的处理)通用寄存器组基址值和变址值相关的处理图图5.10B一次相关与二次相关一次相关与二次相关第 5 章 重叠、流水和向量流水处理机 图图5.11B一次、一次、二次相关的推后处理二次相关的推后处理处理方法:处理方法:a.推后分析推后分析第 5 章 重叠、流水和向量流水处理机 图图5.12B相关专用通路法相关专

13、用通路法b.设置相关专用通路设置相关专用通路第 5 章 重叠、流水和向量流水处理机 5.2流流水水方方式式5.2.1基本概念基本概念1.1.工作原理工作原理(重叠的进一步延伸重叠的进一步延伸)一种典型的指令流水一种典型的指令流水线线 流水线中每一个子过程还可以再进一步分解成更小的子过程流水线中每一个子过程还可以再进一步分解成更小的子过程将浮点加法器分解为将浮点加法器分解为求阶差、对阶、尾数加和规格化求阶差、对阶、尾数加和规格化4个子个子过程。过程。图图5.13一种典型的指令流水线一种典型的指令流水线图图5.14浮点数加法器流水线浮点数加法器流水线第 5 章 重叠、流水和向量流水处理机 流水线工

14、作方式流水线工作方式:指令一条接着一条从输入端流入,经过各个子:指令一条接着一条从输入端流入,经过各个子过程后从输出端流出。过程后从输出端流出。时空图:时空图:描述流水线工作过程的二维坐标。描述流水线工作过程的二维坐标。对应图对应图5.13所示的流水线的时空图如图所示的流水线的时空图如图5.15所示。所示。图图5.15对应图对应图5.13流水线的时空图流水线的时空图m t(n-1)t1 1)时时空空图图第 5 章 重叠、流水和向量流水处理机 图图5.16是对应是对应5.14浮点数加法器流水线的时空图浮点数加法器流水线的时空图图图5.16浮点数加法器流水线的时空图浮点数加法器流水线的时空图从横坐

15、标方向看从横坐标方向看,流水线中的各个功能部件在逐个连续地完,流水线中的各个功能部件在逐个连续地完成自己的任务。成自己的任务。从纵坐标方向看从纵坐标方向看,在同一个时间段内有多个流水段在同时工,在同一个时间段内有多个流水段在同时工作,执行不同的任务。作,执行不同的任务。第 5 章 重叠、流水和向量流水处理机(2)流水线特点)流水线特点:1)流水一定重叠,比重叠更苛刻。)流水一定重叠,比重叠更苛刻。2)一条流水线通常有多个流水段组成。)一条流水线通常有多个流水段组成。3)每段有专用功能部件,各部件顺序连接,不断)每段有专用功能部件,各部件顺序连接,不断流。流。4)流水线有建立时间、满载时间、排空

16、时间。)流水线有建立时间、满载时间、排空时间。5)各段时间尽量短、一致;不一致时最慢子过程)各段时间尽量短、一致;不一致时最慢子过程为瓶颈。为瓶颈。6)给出指标如最大吞吐率,为满负载最佳指标。)给出指标如最大吞吐率,为满负载最佳指标。第 5 章 重叠、流水和向量流水处理机 2流水线分类流水线分类分级:(处理的级别分类)分级:(处理的级别分类)部件级:指部件内各子部件间的流水,将复杂的算部件级:指部件内各子部件间的流水,将复杂的算逻运算组成流水工作方式;逻运算组成流水工作方式;处理机级:指构成处理机的各部件之间的流水,如处理机级:指构成处理机的各部件之间的流水,如取指、分析、执行部件间的流水取指

17、、分析、执行部件间的流水 ;系统(处理机间)级:构成计算机系统的每个处理系统(处理机间)级:构成计算机系统的每个处理机完成某一专门任务,各个处理机所得到的结果需存机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中放在与下一个处理机所共享的存储器中 。按流水具有的功能多少:按流水具有的功能多少:A.A.单单功功能能流流水水线线:指指流流水水线线内内各各段段固固定定连连接接,同同一一时时间间内只能完成单一的一种功能。内只能完成单一的一种功能。第 5 章 重叠、流水和向量流水处理机 TI-ASC运算器流水线(多功能)运算器流水线(多功能)输入输入减阶减阶对阶移位对阶移位

18、相加相加规格化规格化相乘相乘累加累加输出输出12345678输入输入减阶减阶对阶移位对阶移位相加相加规格化规格化输出输出123458浮加、减浮加、减输入输入相乘相乘累加累加输出输出1678定乘定乘 B.B.多功能流水线:流水线中各段可以有多种不同的连接方式,多功能流水线:流水线中各段可以有多种不同的连接方式,以实现多种不同的运算和功能;以实现多种不同的运算和功能;第 5 章 重叠、流水和向量流水处理机 按工作方式分为:按工作方式分为:A.A.静态流水线:在某一时间内各段只能按一种静态流水线:在某一时间内各段只能按一种功能连接流水,只有等流水线全部流空后,才能切换功能连接流水,只有等流水线全部流

19、空后,才能切换为另一种功能;为另一种功能;B.B.动态流水线:各个段可以同时为不同的功能动态流水线:各个段可以同时为不同的功能服务,也就是说各功能段在同一时间内可以按不同服务,也就是说各功能段在同一时间内可以按不同运算或功能连接;运算或功能连接;第 5 章 重叠、流水和向量流水处理机 浮加排空完,再进行定乘浮加未排空完,已输入定乘。为什么?产生冲突产生冲突第 5 章 重叠、流水和向量流水处理机 按流水线中各功能段是否有反馈回路,分为:按流水线中各功能段是否有反馈回路,分为:A.A.线性流水线:各段串行联接,没有反馈回路,各个段线性流水线:各段串行联接,没有反馈回路,各个段只经过一次;只经过一次

20、;B.B.非线性流水线:除有串行联接通路外,还有某种反馈非线性流水线:除有串行联接通路外,还有某种反馈回路,需多次经过某个段或越过某个段;回路,需多次经过某个段或越过某个段;按机器所具有的数据表示分为:按机器所具有的数据表示分为:标量流水机和向量流水机标量流水机和向量流水机1234+出出入入非线性流水线非线性流水线+特点:特点:动态流水线必是多功能流水线;单功能流水线必是静态流水线动态流水线必是多功能流水线;单功能流水线必是静态流水线第 5 章 重叠、流水和向量流水处理机 一、吞吐率、加速比和效率。一、吞吐率、加速比和效率。5.2.2 5.2.2 流水线处理机的主要性能流水线处理机的主要性能

21、1.1.吞吐率(吞吐率(Thoughput rateThoughput rate,TPTP)指在单位时间内流水线完成的任务数或输出的结果数。指在单位时间内流水线完成的任务数或输出的结果数。其中:其中:n表示任务数,表示任务数,Tk表示完成表示完成n个任务所用的时间个任务所用的时间第 5 章 重叠、流水和向量流水处理机(1)各段时间均相等的流水线)各段时间均相等的流水线各段时间均相等的流水线各段时间均相等的流水线时空图时空图 S1 S2 S3 S4tttt时间4t(n-1)t完成n个任务n个任务所需要的时间第 5 章 重叠、流水和向量流水处理机 流水线完成流水线完成n个连续任务所需要的总时间为个

22、连续任务所需要的总时间为(假设一条(假设一条k k段段线性流水线)线性流水线)TkTkk kt t(n n-1)-1)t t(k kn n-1)-1)t t 流水线的流水线的实际吞吐率实际吞吐率最大吞吐率最大吞吐率TP=n(k+n-1)tTPmax=n(k+n-1)tlimn=1t第 5 章 重叠、流水和向量流水处理机 最大吞吐率与实际吞吐率的关系最大吞吐率与实际吞吐率的关系流水线的实际吞吐率小于最大吞吐率,它除了流水线的实际吞吐率小于最大吞吐率,它除了与每个段的时间有关外,还与流水线的段数与每个段的时间有关外,还与流水线的段数k k以以及输入到流水线中的任务数及输入到流水线中的任务数n n等

23、有关。等有关。只有当只有当n nk k时,才有时,才有TPTPTPTPmaxmax。第 5 章 重叠、流水和向量流水处理机 流水线中各个段的执行时间不完全相等,流水线出现流水线中各个段的执行时间不完全相等,流水线出现“瓶瓶颈颈”部件。部件。时空图时空图(a)各段执行时间不相等的流水线)各段执行时间不相等的流水线(b)各段执行时间不相等的时空图)各段执行时间不相等的时空图图图5.17各段流水线不相等的流水线和时空图各段流水线不相等的流水线和时空图第 5 章 重叠、流水和向量流水处理机 流水线各段执行时间不相等的情况下的实际吞吐率为:流水线各段执行时间不相等的情况下的实际吞吐率为:流水线各段执行时

24、间不相等的情况下的最大吞吐率为:流水线各段执行时间不相等的情况下的最大吞吐率为:对于图对于图5.17所示的例子,流水线的最大吞吐率为:所示的例子,流水线的最大吞吐率为:第 5 章 重叠、流水和向量流水处理机 解决流水线解决流水线“瓶颈瓶颈”问题有两种方法:问题有两种方法:一种方法:将流水线的一种方法:将流水线的“瓶颈瓶颈”部分再细分部分再细分(a)瓶颈功能段细分的流水线连接图)瓶颈功能段细分的流水线连接图(b)瓶颈功能段细分的时空图)瓶颈功能段细分的时空图图图5.18瓶颈功能部件细分的流水线和时空图瓶颈功能部件细分的流水线和时空图流水线的最流水线的最大吞吐率为:大吞吐率为:第 5 章 重叠、流

25、水和向量流水处理机 另一种方法:将流水线的另一种方法:将流水线的“瓶颈瓶颈”子部件设置多套并联子部件设置多套并联(a)重置瓶颈功能部件的流水线)重置瓶颈功能部件的流水线(b)重置瓶颈功能部件的时空图)重置瓶颈功能部件的时空图 图图5.19重置瓶颈段的流水线和时空图重置瓶颈段的流水线和时空图流水线的最流水线的最大吞吐率为:大吞吐率为:第 5 章 重叠、流水和向量流水处理机 2.2.加速比加速比 指流水线加速比是指完成一批任务时,不采用流水线所指流水线加速比是指完成一批任务时,不采用流水线所用的时间与采用流水线所用的时间之比用的时间与采用流水线所用的时间之比 其中:其中:用用T0表示采用顺序方式下

26、的执行时间;表示采用顺序方式下的执行时间;用用T表示采用流水线的执行时间;表示采用流水线的执行时间;用用S表示流水线的加速比表示流水线的加速比第 5 章 重叠、流水和向量流水处理机(1)各个功能段执行时间均相等的)各个功能段执行时间均相等的k段流水线上段流水线上完成完成n个连续任务的实际加速比为个连续任务的实际加速比为:在在k个功能段相等的流水线中,最大加速比为:个功能段相等的流水线中,最大加速比为:第 5 章 重叠、流水和向量流水处理机(2)如果流水线上各个功能段的执行时间不相等,则流)如果流水线上各个功能段的执行时间不相等,则流水线的加速比为:水线的加速比为:计算图计算图5.17、图图5.

27、18所示的流水线的加速比?所示的流水线的加速比?第 5 章 重叠、流水和向量流水处理机 3.3.效率效率 指流水线的设备利用率。指流水线的设备利用率。其中:其中:kTK:表示:表示k段流水线完成段流水线完成n个任务的总的时空区;个任务的总的时空区;T0:表示流水线完成:表示流水线完成n个任务所使用的总时间个任务所使用的总时间;E:表示:表示k段流水线的效率;段流水线的效率;即:即:在时空图上,流水线的效率为在时空图上,流水线的效率为n个任务占用的时空区个任务占用的时空区与与k个功能段总的时空区之比。个功能段总的时空区之比。第 5 章 重叠、流水和向量流水处理机(1)在流水线的各功能段执行时间相

28、等)在流水线的各功能段执行时间相等连续输入连续输入n个任务的情况下,个任务的情况下,一条一条k段流水线的效率为:段流水线的效率为:流水线的最高效率为:流水线的最高效率为:流水线效率与吞吐率的关系式:流水线效率与吞吐率的关系式:E=TPt 流水线效率与加速比的关系式:流水线效率与加速比的关系式:第 5 章 重叠、流水和向量流水处理机(2)流水线的各段执行时间不相等)流水线的各段执行时间不相等连续执行连续执行n个任务时的个任务时的流水线效率流水线效率为:为:计算图计算图5.17(b)的时空图所示,整个流水线的效率的时空图所示,整个流水线的效率E?在图在图5.18和图和图5.19中分别采用的细分瓶颈

29、功能部件和重中分别采用的细分瓶颈功能部件和重置瓶颈功能部件的效率?置瓶颈功能部件的效率?第 5 章 重叠、流水和向量流水处理机 二二.标量流水线的性能举例标量流水线的性能举例【例例5.1】采用前面图采用前面图5.14所示的所示的4段浮点数加法器流水线段浮点数加法器流水线计算下面式子的计算下面式子的8个浮点数的和,画出流水线的时空图,个浮点数的和,画出流水线的时空图,并求出流水线吞吐率、加速比和效率。并求出流水线吞吐率、加速比和效率。Z=A+B+C+D+E+F+G+H解:解:Z=(A+B)+(C+D)+(E+F)+(G+H)按照数学计算顺序的方法从左到右一个一个计按照数学计算顺序的方法从左到右一

30、个一个计算上式,先计算(算上式,先计算(A+B),其结果出来后再开始),其结果出来后再开始计算(计算(A+B)与)与C的加法,依次类推。的加法,依次类推。第 5 章 重叠、流水和向量流水处理机 第 5 章 重叠、流水和向量流水处理机 流水线的实际吞吐率流水线的实际吞吐率TP为:为:流水线的加速比流水线的加速比Sp为:为:流水线的效率流水线的效率E为:为:第 5 章 重叠、流水和向量流水处理机【例例5.2】设设向量向量A和和B各有各有4个元素,个元素,图图5.20为为静静态态双功能的双功能的流水流水线连线连接接图图,其中,其中,1235组组成加法流水成加法流水线线,145组组成乘法流水成乘法流水

31、线线,设设每个流水每个流水线线所所经过经过的的时间时间均均为为t,则计则计算向量点算向量点积积画出完成上面运算流水画出完成上面运算流水线线的的时时空空图图,并求出静,并求出静态态双功能流双功能流水水线线的的实际实际吞吐率、加速比和效率吞吐率、加速比和效率。按照数学运算优先级顺序进行按照数学运算优先级顺序进行(a1b1)+(a2b2)+(a3b3)+(a4b4)的运算,分别用的运算,分别用任务任务1到到7表示。表示。解:解:加加14325乘乘图图5.20第 5 章 重叠、流水和向量流水处理机 第 5 章 重叠、流水和向量流水处理机 流水线的实际吞吐率流水线的实际吞吐率TP为:为:流水线的加速比流

32、水线的加速比Sp为:为:流水线的效率流水线的效率E为:为:第 5 章 重叠、流水和向量流水处理机【例例5.3】假设图假设图5.20表示的双功能流水线为动态双功能流水线,表示的双功能流水线为动态双功能流水线,则重新计算向量点积则重新计算向量点积要求画出完成上面运算流水线的时空图,并求出动态双功能要求画出完成上面运算流水线的时空图,并求出动态双功能流水线的实际吞吐率、加速比和效率。流水线的实际吞吐率、加速比和效率。解:解:动态多功能流水线在不发生功能部件冲突前提下,动态多功能流水线在不发生功能部件冲突前提下,同一时间可以按不同运算进行不同功能的连接。因此,只要同一时间可以按不同运算进行不同功能的连

33、接。因此,只要任务任务1、任务、任务2、任务、任务3和任务和任务4的结果输出,任务的结果输出,任务5和任务和任务6就就可以输入流水线。下图为在动态流水线下执行向量点积的时可以输入流水线。下图为在动态流水线下执行向量点积的时空图。空图。第 5 章 重叠、流水和向量流水处理机 图图6-17动态双功能流水线的时空图动态双功能流水线的时空图第 5 章 重叠、流水和向量流水处理机 流水线的实际吞吐率流水线的实际吞吐率TP为:为:流水线的加速比流水线的加速比Sp为:为:流水线的效率流水线的效率E为:为:第 5 章 重叠、流水和向量流水处理机 课堂练习课堂练习有有一一个个乘乘、加加双双功功能能的的静静态态流

34、流水水线线,“乘乘”由由1236完完成,成,“加加”由由1456完成,各段如下图所示。完成,各段如下图所示。若要计算:若要计算:AB=(a1+b1)(a2+b2)(a3+b3)问:问:(1)完成全部运算所需时间是多少?画时空图计算此流水线)完成全部运算所需时间是多少?画时空图计算此流水线的使用效率和吞吐率。的使用效率和吞吐率。(2)与顺序运算方式相比,加速比是多少?)与顺序运算方式相比,加速比是多少?1234562t2t2t2ttt第 5 章 重叠、流水和向量流水处理机 一、局部性相关处理一、局部性相关处理(1 1)资源冲突(相关)资源冲突(相关)原因:原因:许多指令争抢同一功能部件。如访存许

35、多指令争抢同一功能部件。如访存5.2.3流水机器的相关处理和控制机构流水机器的相关处理和控制机构1 1、各种局部性相关的处理、各种局部性相关的处理包括资源或结构相关、指令相关、数据相关。包括资源或结构相关、指令相关、数据相关。两条指令同时访存造成资源相关两条指令同时访存造成资源相关MEMEXIDIF指令指令i+4WBMEMEXIDIF指令指令i+3WBMEMEXIDIF指令指令i+2WBMEMEXIDIF指令指令i+1WBMEMEXIDIFLoad指令指令87654321时钟指时钟指令令冲突冲突取指取指译码译码执行执行访存访存写回写回例:例:第 5 章 重叠、流水和向量流水处理机 解决方法:解

36、决方法:a.时间方法时间方法-后续指令冲突部件推后一拍执行;后续指令冲突部件推后一拍执行;b.b.空间方法空间方法-重复设置资源。重复设置资源。EXIDIF指令指令i+4MEMEXIDIF停顿停顿指令指令i+3WBMEMEXIDIF指令指令i+2WBMEMEXIDIF指令指令i+1WBMEMEXIDIFLoad指令指令87654321时钟时钟指令指令9WBMEM使使i+3指令停顿一拍进入流水线,以解决访存相关指令停顿一拍进入流水线,以解决访存相关或重复设置一个存储器或重复设置一个存储器第 5 章 重叠、流水和向量流水处理机(2 2)指令相关)指令相关 原因:原因:由指令可修改引起。由指令可修改

37、引起。解决方案:解决方案:a.a.禁止方法禁止方法-指令不允许修改;指令不允许修改;b.b.转换方法转换方法-把新指令作为把新指令作为“执行执行”指令的指令的操作数,使指令相关变成数据相关。操作数,使指令相关变成数据相关。第 5 章 重叠、流水和向量流水处理机(3 3)数据相关)数据相关原因:原因:对主存数据或通用寄存器数据的操作引起的相关。对主存数据或通用寄存器数据的操作引起的相关。相关类型一:相关类型一:RAW(先写后读)(先写后读)有针对存储器有针对存储器RAWRAW和针对通用寄存器和针对通用寄存器RAWRAW两种。两种。IFIDEXMEMWBSUBIFIDEXMEMWBADD12345

38、6指令指令时钟时钟写写R1读读R1例:例:ADDR1,R2,R3;R2+R3R1SUBR4,R1,R5;R1-R5R4第 5 章 重叠、流水和向量流水处理机 相关类型一解决方案:相关类型一解决方案:a.a.延迟执行法(后推法)延迟执行法(后推法)不同拍之间相关时,停顿后继指令的运行,直到前面不同拍之间相关时,停顿后继指令的运行,直到前面指令结果生成;(指令结果生成;(R R或或M M相关)相关)同一拍中相关时,采用推后读、提前写方法同一拍中相关时,采用推后读、提前写方法(后半拍后半拍读、前半拍写);读、前半拍写);(R R或或M M相关)相关)RISCRISC指令的装载延迟,采用联锁硬件检测,

39、并使流水指令的装载延迟,采用联锁硬件检测,并使流水线停顿,直到相关消除。线停顿,直到相关消除。第 5 章 重叠、流水和向量流水处理机 b.b.相关专用通路法相关专用通路法 执行结果除写寄存器外,可直接送到执行结果除写寄存器外,可直接送到ALUALU的操作数保的操作数保存栈中。(存栈中。(R R相关)相关)多路开关多路开关多路开关多路开关ALUR4R1寄存器堆寄存器堆RF旁路旁路旁路旁路缓冲寄存器缓冲寄存器2缓冲寄存器缓冲寄存器1第 5 章 重叠、流水和向量流水处理机 c.c.异步流动法异步流动法 让流水线中相关指令的后续不相关指令先执行,自动消让流水线中相关指令的后续不相关指令先执行,自动消除

40、相关。除相关。读读段段写写段段入入出出段号:段号:12345678相关专用通路相关专用通路njmlkih(异步流动的)(异步流动的)kj空空空空空空ih(顺序流动的)(顺序流动的)指令地址:指令地址:kjih(判出(判出j,h相关)相关)绝大多数系统均采用异步流动的方法。绝大多数系统均采用异步流动的方法。异步流动会产生新的数据相关类型,使其控制很复杂。异步流动会产生新的数据相关类型,使其控制很复杂。第 5 章 重叠、流水和向量流水处理机 相关类型二:相关类型二:WAR(WAR(先读后写先读后写)、WAW(WAW(写写写写)这两种相关只有在异步流动流水线中才会产生。这两种相关只有在异步流动流水线

41、中才会产生。RAWRAW(先写后读)相关在任何流水线中都会出现。(先写后读)相关在任何流水线中都会出现。WARWAR(读(读写):写):在先的指令先读,在后的指令才能写的关在先的指令先读,在后的指令才能写的关联,称联,称“先读后写先读后写”相关。相关。如:如:1 MOV AL1 MOV AL,2000H2000H 2 MOV 2000H 2 MOV 2000H,BLBLWAWWAW(写(写写):写):在先的指令先写入,在后的指令才能写的关在先的指令先写入,在后的指令才能写的关联,称联,称“写写写写”相关。相关。如:如:1 MOV 2000H1 MOV 2000H,ALAL 2 MOV 2000

42、H 2 MOV 2000H,BLBL 相关类型二解决方案:相关类型二解决方案:使用分布式动态调度方式检测和处理相关。使用分布式动态调度方式检测和处理相关。第 5 章 重叠、流水和向量流水处理机 2.2.局部相关的分布式控制和管理局部相关的分布式控制和管理目的:目的:解决异步流动的解决异步流动的WAR和和WAW相关。相关。关键技术:关键技术:动态调度、寄存器重命名和动态存储器地址判别技术动态调度、寄存器重命名和动态存储器地址判别技术 IBM360/91 IBM360/91的浮点运算器部分包括了以下主要部件:的浮点运算器部分包括了以下主要部件:(1 1)运算部件运算部件(2 2)保存站保存站(3

43、3)浮点操作栈(浮点操作栈(FLOSFLOS)(4 4)浮点操作数缓冲器(浮点操作数缓冲器(FLBFLB)(5 5)存储数据缓冲器(存储数据缓冲器(SDBSDB)(6 6)浮点寄存器(浮点寄存器(FLRFLR):):寄存器号寄存器号F0F7F0F7,每个寄存器设置,每个寄存器设置一个一个“忙位忙位”,只要寄存器,只要寄存器FiFi正在使用,正在使用,“忙位忙位”就置为就置为“1 1”,使用完就清,使用完就清0 0。若某个操作命令使用。若某个操作命令使用FiFi,先检查,先检查“忙位忙位”是否是否为为“1 1”,若为,若为1 1则发生相关。则发生相关。(7 7)公共数据总线(公共数据总线(CDB

44、CDB)第 5 章 重叠、流水和向量流水处理机 结构框图:结构框图:浮点浮点操作数操作数缓冲器缓冲器(FLB)控控浮点浮点操作栈操作栈(FLOS)忙忙制制位位站号站号源源1控制控制站号站号源源2站号站号源源1站号站号源源2控制控制控控制制号号站站存数存数缓冲器缓冲器(SDB)加法器加法器乘乘/除法器除法器译码器译码器站站号号浮点浮点寄存器寄存器(FLR)M1M2A1A2A3101010111100FLB总线总线FLR总线总线10001001CDB公共数公共数据总线据总线指令处理部件指令处理部件存储器总线存储器总线654321站号:站号:01100001F76543F21F0保存站保存站第 5

45、章 重叠、流水和向量流水处理机 a.利用公共数据总线作为相关专用通路;利用公共数据总线作为相关专用通路;b.利用利用FLR“忙忙”位,检测位,检测REG的的RAW相关;相关;c.利用修改站号(寄存器重命名),检测和消除利用修改站号(寄存器重命名),检测和消除REG的的WAR和和WAW相关;相关;d.利用存数缓冲器的动态存储器地址判别技术,检测和消除利用存数缓冲器的动态存储器地址判别技术,检测和消除MEM的的RAW、WAR和和WAW相关。相关。应用举例:应用举例:S1:(FLB1)F0 S2:(F0)*(FLB2)F0S3:(F0)+(FLB4)F0工作原理:工作原理:第 5 章 重叠、流水和向

46、量流水处理机 二、全局性相关处理二、全局性相关处理 原因:原因:由转移指令由转移指令(占总指令的占总指令的1/4)1/4)引起的相关。引起的相关。解决方法:解决方法:程序执行时:程序执行时:停顿停顿加速生成结果加速生成结果猜测结果猜测结果程序生成时:程序生成时:优化延迟转移优化延迟转移1.1.加快和提前形成条件码加快和提前形成条件码 对转移指令的条件码,部分可提前生成;对转移指令的条件码,部分可提前生成;加快单条指令或循环内条件码形成。加快单条指令或循环内条件码形成。第 5 章 重叠、流水和向量流水处理机 2.2.猜测法猜测法 选取发生概率较高的分支为猜测方向,运行但不写回结果。选取发生概率较

47、高的分支为猜测方向,运行但不写回结果。若猜对,继续执行;否则若猜对,继续执行;否则,作废猜测方向的执行,返回实际转移作废猜测方向的执行,返回实际转移处。处。(2 2)实现方法:)实现方法:a.a.根据转移指令根据转移指令PCPC值检索值检索BTBBTB;BTB BTB包含转移指令包含转移指令PCPC值、有效位、历史位、转移目标值、有效位、历史位、转移目标PCPC值项。值项。b.b.命中时,根据历史位取得转移的猜测方向,猜测为转移时,命中时,根据历史位取得转移的猜测方向,猜测为转移时,取得转移目标取得转移目标PCPC值,预取指令送入指令队列头,否则,顺序执值,预取指令送入指令队列头,否则,顺序执

48、行;行;(1 1)硬件要求:)硬件要求:增设转移目标缓冲器增设转移目标缓冲器BTB,BTB,加快另一分支的流动加快另一分支的流动第 5 章 重叠、流水和向量流水处理机 指令指令预取器预取器转移指令地址转移指令地址有效位有效位历史位历史位转移目标地址转移目标地址指令译码指令译码1(D1)(PC+2)顺序取顺序取取指令取指令转移取转移取指令队列指令队列查找查找执行执行(EX)控制逻辑控制逻辑加入新项加入新项猜测发生错误猜测发生错误命中与否命中与否实情执行情况实情执行情况更新旧项更新旧项 c.c.根据转移指令实际结果,增加或修改根据转移指令实际结果,增加或修改BTBBTB相关相关指令项,更新其有效位

49、、转移目标指令项,更新其有效位、转移目标PCPC、历史位。、历史位。第 5 章 重叠、流水和向量流水处理机 3.3.延迟转移技术延迟转移技术 是一种静态调度方法,由编译程序实现。是一种静态调度方法,由编译程序实现。实现方法实现方法(转移前指令与转移指令关系):(转移前指令与转移指令关系):无相关:无相关:转移前指令入槽;转移前指令入槽;相相 关:关:空指令入槽。空指令入槽。结果:结果:50%50%以上指令可进入延迟槽,其余为空指令。以上指令可进入延迟槽,其余为空指令。4.4.设置特殊循环指令,加快短循环处理设置特殊循环指令,加快短循环处理第 5 章 重叠、流水和向量流水处理机 三、流水机器的中

50、断处理三、流水机器的中断处理 1.解决问题解决问题如何处理好中断现场的保存与恢复。如何处理好中断现场的保存与恢复。2.解决方法解决方法(1)不精确断点法)不精确断点法不论第不论第i条指令在流水线的哪一段发出中断申请,都条指令在流水线的哪一段发出中断申请,都不再允许那时还未进入流水线的后续指令再进入不再允许那时还未进入流水线的后续指令再进入。已。已在流水线的指令仍继续流完,然后才转入中断处理程在流水线的指令仍继续流完,然后才转入中断处理程序。序。特点:特点:硬件开销小,控制简单,程序排错不方便。硬件开销小,控制简单,程序排错不方便。第 5 章 重叠、流水和向量流水处理机(2 2)精确断点法:)精

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com