目录

3.1流水线的基本概念

①流水线基本结构;时空图:会认、会画

②流水线的分类:单/多功能,静态/动态,线性/非线性(区别,相互之间的关系)

3.2流水线的性能指标(很重要)

①吞吐率、加速比、效率(各级执行时间相等/不相等时的计算,最大值的计算)3个性能指标相互的关系式

②流水线具体的分析应用:PPT上有例题,重点掌握(画时空图...流程)

③瓶颈问题:怎样消除瓶颈,各自的应用场合,效果如何

3.3流水线的相关与冲突

①经典的五段流水线,五个周期的划分,掌握主要指令在各个周期的操作

②相关:什么是相关,相关的主要类型

③流水线冲突:什么是冲突,冲突的主要类型,三种冲突产生的原因,重点掌握各类冲突的解决办法

3.4流水线的实现

①非线性流水线的调度:最优调度算法、采用最优调度后的性能分析

3.5向量处理机

①掌握向量处理和标量处理的区别

②掌握向量处理机的结构:存储器-存储器结构、寄存器-寄存器结构(重点,几种指令类型)

③提高向量处理机的方法:

④向量指令的三种组织方式:顺序执行,并行执行,链接执行(计算所需时间,p96 例3.3)


3.1流水线的基本概念

基本概念:

1)把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现

2)把多个处理过程在时间上错开,依次通过各功能段

3)流水线的段数称为流水线的深度

①流水线基本结构;时空图:会认、会画

a.每个功能部件后面都有一个缓冲寄存器(锁存器)——>保存本流水段的执行结果

b.通过时间,排空时间

②流水线的分类:单/多功能,静态/动态,线性/非线性(区别,相互之间的关系)

1)部件级流水线(运算操作)

      处理机级流水线(指令)

      处理机间流水线(多处理机系统)

2)顺序流水线

      乱序流水线(异步)

3)单功能流水线

      多功能流水线

4)静态流水线(同一时间内,执行一种功能适合大量重复的工作)

      动态流水线(控制复杂)

5)线性流水线(串行,无反馈回路)

      非线性流水线(串行,有反馈回路,重复利用,调度问题)

6)标量处理机

      向量流水处理机

3.2流水线的性能指标(很重要)

①吞吐率、加速比、效率(各级执行时间相等/不相等时的计算,最大值的计算)3个性能指标相互的关系式

a.吞吐率:在单位时间内流水线所完成的任务数量

        

flow流水线发布ingress 流水线csdn_寄存器

(任务数/所花时间)

k段流水线中

时间相等:实际吞吐率

flow流水线发布ingress 流水线csdn_标量_02

,最大吞吐率:

flow流水线发布ingress 流水线csdn_flow流水线发布ingress_03

不相等:实际吞吐率

flow流水线发布ingress 流水线csdn_功能部件_04

              最大吞吐率:

flow流水线发布ingress 流水线csdn_功能部件_05

b.加速比:完成同一批任务,不使用流水线所用时间比上使用流水线所用时间

        

flow流水线发布ingress 流水线csdn_flow流水线发布ingress_06

k段流水线中

时间相等:加速比

flow流水线发布ingress 流水线csdn_功能部件_07

,最大加速比:k

不相等:加速比

flow流水线发布ingress 流水线csdn_标量_08

c.效率:流水线中的设备实际使用时间与整个运行时间的比值

k段流水线中

时间相等:效率

flow流水线发布ingress 流水线csdn_寄存器_09

,各段效率相同,最高效率:1

不相等:

flow流水线发布ingress 流水线csdn_功能部件_10

②流水线具体的分析应用:PPT上有例题,重点掌握(画时空图...流程)

③瓶颈问题:怎样消除瓶颈,各自的应用场合,效果如何

1)消除瓶颈:a.分割瓶颈部件的工作

                        b.重复设置瓶颈部件:控制逻辑比较复杂,所需硬件增加

        两种方式在效果上是可以等效的。

3.3流水线的相关与冲突

①经典的五段流水线,五个周期的划分,掌握主要指令在各个周期的操作

②相关:什么是相关,相关的主要类型

相关的定义:指两条指令之间存在某种依赖关系

1)名相关:指令所访问的寄存器或存储器单元的名称(使用相同的名)

                反相关:指令j写的名=指令i读的名

                输出相关:指令j写的名=指令i写的名

2)数据相关:具有传递性,反映了数据的流动关系

                a.数据的流动是经过寄存器,相关的检测比较直观

                b.数据的流动是经过存储器时,检测比较复杂

3)控制相关:是指由分支指令引起的相关(程序执行顺序)

③流水线冲突:什么是冲突,冲突的主要类型,三种冲突产生的原因,重点掌握各类冲突的解决办法

冲突的定义:是指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。

1)资源冲突(结构冲突)

硬件资源满足不了指令重叠执行的要求而发生的冲突。如果某种指令组合因为资源冲突而不能正常执行,则称该处理机有结构冲突

2)数据冲突

 当指令在流水线中重叠执行时,因需要用到前面指令的执行结果而发生的冲突

3)控制冲突

分支指令和其他会改变PC值的指令所引起的冲突

什么是定向技术,定向技术解决了什么冲突,什么情况下单纯依靠定向技术解决不了冲突,解决不了又是怎么处理的(采用定向+暂停,暂停几拍根据具体情况分析)

指令的调度:软件静态调度,前提:在非按序流动方式(乱步流动)的流水线中。可能由此引起的另两种冲突:WAR,WAW

控制冲突:

                目的:

                        1)在流水线中尽早判断出分支转移是否成功

                        2)尽早计算出分支目标地址

                硬件解决:把分支指令提前到译码周期(ID阶段)完成

对于经典五段流水线无效,因为判断分支是否成功与分支目标地址计算是在同一流水段完成)、延迟分支技术

冲突的解决:

1)结构冲突:停顿(流水线气泡)

2)数据冲突:·定向传送技术

                        ·定向传送与停顿相结合

                        ·指令调度(依靠编译器)

                        前提:在乱序流动的流水线中

                        不足:可能会产生新的WAR或WAW冲突

3)控制冲突:·预测分支失败

                        ·预测分支成功

                        ·延迟转移技术

3.4流水线的实现

①非线性流水线的调度:最优调度算法、采用最优调度后的性能分析

一些概念:

                         1)启动距离:前一条指令输入开始到下一条指令输入为止的时间差

                         2)禁止启动距离:会引起冲突的启动距离

                         3)启动循环:在任何时间都不会发生冲突的启动距离

最优调度算法:1)根据预约表写出禁止向量F=(所有时段的禁止向量距离)

                         2)由禁止向量变换成初始冲突向量C=(CmCm-1...C2C1)m为禁止向量的最大值

                                若某启动距离为禁止距离,则为“1”,否则为“0”

                         3)根据初始冲突向量推算出全部冲突向量

                         4)画出表示冲突向量迁移的有向图

                         5)比较不同的调度法的平均时间间隔

3.5向量处理机

①掌握向量处理和标量处理的区别

向量处理:在流水处理机中,设置向量数据表示和相应的向量指令

标量处理:不具有向量数据表示和相应的向量指令的流水线处理机

②掌握向量处理机的结构:存储器-存储器结构、寄存器-寄存器结构(重点,几种指令类型)

向量处理机的结构:

        1)标量流水部件:标量功能部件,标量寄存器

        2)向量流水部件:向量功能部件,向量寄存器,向量控制器,向量存取部件

Vi冲突:并行工作的各向量指令的源向量或结果向量使用了相同的Vi

功能部件冲突:并行工作的各向量指令要使用同一个功能部件

③提高向量处理机的方法:

1)设置多个功能部件:这些部件能并行工作,各自按流水方式工作

2)链接技术(重点):链接特性的实质(把流水线定向的思想引入到向量执行过程的结果)保证无向量寄存器使用冲突和无功能部件使用冲突。

3)分段开采技术:向量长度大于向量寄存器的长度

4)采用多处理系统

④向量指令的三种组织方式:顺序执行,并行执行,链接执行(计算所需时间,p96 例3.3)