流水线的级别

  • 格式:doc
  • 大小:74.50 KB
  • 文档页数:2

下载文档原格式

  / 2
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

流水线的级别

按照流水线使用的不同级别,可以把流水线分为功能部件级、处理机级和处理机间级等多种类型。

处理机级流水线又称为指令流水线(Instruction Pipelining)。它把一条指令的执行过程分解为多个子过程,每个子过程在一个独立的功能部件中完成。前面介绍的一次重叠执行方式是在设置有先行指令缓冲栈的处理机中采用的一种简单的指令流水线。

在采用先行控制器的处理机中,组成先行控制器的各个部件实际上也构成了一条流水线。如图5.19所示,在先行控制器中,一条指令的执行过程被分解为5个子过程,每个子过程在一个专用的功能部件中执行。由于各种指令在同一个功能部件中执行的时间往往相差很大,因此,在每一个流水段之间要设置多个缓冲寄存器,以平滑流水线中各个功能部件的操作

在图5.19中,每一个部件内部还可以采用流水线来实现。例如,对于一些比较复杂的运算操作部件,如浮点加法器、浮点乘法器等,一般要采用多级流水线来实现。后行写数栈和先行读数栈也可以采用多级流水线来实现。这种流水线被称为部件级流水线,或功能部件级流水线。

功能部件级流水线也称为运算操作流水线(Arithmetic Pipelining)。图5.14中的浮点加法器流水线就是一种典型的功能部件级流水线。后面,还将介绍几种常见的功能部件级流水线。要提高执行部件执行算术逻辑运算操作的速度,除了在运算操作部件中采用流水线之外,也可以设置多个独立的操作部件,并通过这操作部件的并行工作来提高处理机执行算术逻辑运算的速度。通常,把指令执行部件中采用了流水线的处理机称为流水线处理机或超流水线处理机,而把指令执行部件中设置有多个操作部件的处理机称为多操作部件处理机和超标量处理机。

处理机间流水线又称为宏流水线(Macro Pipelining)。这种流水线由两个或两个以上处理机通过存储器串行连接起来,每个处理机对同一个数据流的不同部分分别进行处理。前一个处理机的输出结果存入存储器中,作为后一个处理机的输入,每个处理机完成整个任务中的一部分。如图5.20所示。

一台大型计算机系统通常由多个同型号的或不同型号的处理机构成,每个处理机有不同的分工。例如,有多个用高级语言编写的程序需要在机器上运行,则程序和数据的输入、编译、连接、执行、执行结果输出等可以分别在不同的处理机上完成,这些处理机就构成了一条宏流水线。