流水线问题系统结构.ppt

流水线问题系统结构.ppt

ID:56480948

大小:1.05 MB

页数:184页

时间:2020-06-19

流水线问题系统结构.ppt_第1页
流水线问题系统结构.ppt_第2页
流水线问题系统结构.ppt_第3页
流水线问题系统结构.ppt_第4页
流水线问题系统结构.ppt_第5页
资源描述:

《流水线问题系统结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、§5.2流水线处理机教学目标:掌握流水线的基本原理、特点、分类、性能分析,非线性流水线的调度问题,及局部相关和全局相关的处理方法。一、流水线工作原理流水线方式是把一个重复的过程分解为若干个子过程,每个子过程可以与其他子过程同时进行。在处理机的各个部分几乎都可以采用流水方式工作。指令的执行过程可以采用流水线,称为指令流水线。运算器中的操作部件,如浮点加法器等可以采用流水线,称为操作部件流水线。⒈从重叠到流水线一次重叠方式就是一种简单的流水线。在计算机中,一条指令的执行过程分解为“分析”和“执行”两个子过程,这两个子过程分别在指令分析器和指令执行部件中完成,如图5.23所示。指令分析器和指令执行

2、部件的输出端各有一个锁存器,可分别保存指令“分析”和指令“执行”的结果,因此,指令分析器和指令执行部件能成为两个完全独立的功能部件,可同时并行工作。指令分析器“分析k+1”与指令执行部件“执行k”可同时进行。如果指令分析器分析一条指令所需要的时间△t1与指令执行部件执行一条指令所需要的时间△t2相等,即△t1=△t2,都为△t。则从指令执行部件的输出端看,每间隔一个△t就执行完成一条指令,并输出一个运算结果。因此,处理机执行指令的速度提高了一倍。如果把执行一条指令的过程分得更细,如图5.24所示,分为6个子过程。每一个部件的输出端都要有一个锁存器。在图5.24中的每一个子过程还可以再进一步分

3、解成更小的子过程,即在功能部件的内部也采用流水线方式工作。如,一个浮点加法的执行过程可采用4级流水线,如图5.25所示。如果各个部件的执行时间均相等,处理机执行浮点加法的速度能够提高3倍。⒉时空图描述流水线的工作,最常用的方法是采用“时空图”。图5.23所示的流水线,采用时空图表示如图5.26所示。在时空图中,横坐标表示时间,就是输入到流水线中的各个任务在流水线中所经过的时间。纵坐标表示空间,即流水线的各个子过程。在时空图中,流水线的一个子过程通常称为“功能段”。图5.27是一个4段浮点加法器流水线的时空图。⒊流水线的特点在处理机中采用流水线方式与采用传统的串行方式相比,具有如下特点:⑴在流

4、水线中处理的必须是连续的任务,只有连续不断地提供任务才能充分发挥流水线的效率。⑵把一个任务(一条指令或一个操作)分解为几个有联系的子任务,每个子任务由一个专门的功能部件来实现。⑶在流水线的每一个功能部件的后面都要有一个缓冲寄存器,用于保存本段的执行结果。当某一个功能段的执行时间变化范围比较大时,要设置多个缓冲寄存器。⑷流水线中各段的时间应尽量相等,否则将引起“堵塞”、“断流”等。执行时间长的一段将成为整个流水线的“瓶颈”,这时,流水线中的各个功能部件将不能充分发挥作用。因此,在流水线设计中,当遇到“瓶颈”时,必须采取办法解决。⑸流水线需要有“装入时间”和“排空时间”。只有流水线完全充满时,整

5、个流水线的效率才能得到充分发挥。二、流水线的分类⒈线性流水线与非线性流水线按照流水线的各个功能段之间是否有反馈信号,可以把流水线分为线性流水线和非线性流水线两类。线性流水线是将流水线的各段逐个串接起来。输入数据从流水线的一端进入,从另一端输出。数据在流水线中的各个功能段流过时,每一个功能段都流过一次,且仅流过一次。非线性流水线:在流水线的各个功能段之间除了有串行的连接之外,还有反馈回路。如图5.28所示。表示非线性流水线的工作情况除了要有流水线的连接图之外,还需要一张“预约表”,两者共同来表示流水线的工作情况。如图5.29所示。图中用“×”表示这一个功能段在相应的这一段时间内有效,即任务经过

6、了这一个功能段。一条非线性流水线可以对应有很多张预约表,一张预约表实际上仅表示一条非线性流水线的一种工作方式。线性流水线实际上也有预约表,只不过它的预约表是确定的。首先,预约表的水平方向与垂直方向的格数是相等的,其次,预约表从左上角到右下角所有格子全部有效,即是打“×”的;预约表的其余部分一定是空白的。因此,在描述线性流水线时,一般不给出预约表。⒉流水线的级别按照流水线使用的不同级别,可把流水线分为功能部件级、处理机级和处理机间级等多种类型。处理机级流水线又称为指令流水线。它把一条指令的执行过程分解为多个子过程,每个子过程在一个独立的功能部件中完成。前面介绍的一次重叠执行方式就是一种简单的指

7、令流水线。在采用先行控制器的处理机中,组成先行控制器的各个部件实际上也构成了一条流水线。如图5.30所示。在先行控制器中,一条指令的执行过程被分解为5个子过程,每个子过程在一个专用的功能部件中执行。由于各种指令在同一个功能部件中执行的时间往往相差很大,因此,在每一个功能段之间要设置多个缓冲寄存器,以平滑流水线中各个功能部件的操作。每个部件内部还可以采用流水线来实现。如对于一些复杂的运算操作部件,象浮点加法器等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。