首页 理论教育 计算机组成原理-流水CPU及流水计算机的特点

计算机组成原理-流水CPU及流水计算机的特点

时间:2023-10-31 理论教育 版权反馈
【摘要】:图5-24表示CPU流水或处理过程中一个指令周期的任务分解。为了叙述简单,我们假定,每个子过程所用的时间都相同,都设为一个CPU周期。这样,一个流水线由一系列串联的过程段组成。因此,每隔4个CPU周期才有一个输出结果。一般的流水计算机因只有一条指令流水线,所以称为标量流水计算机。当流水线满载时,每一个CPU周期可以执行2条指令。

计算机组成原理-流水CPU及流水计算机的特点

1.并行处理技术

计算机自诞生之日起,人们追求的目标之一是很高的运算速度,因此并行处理技术便成为计算机发展的主流。

早期的计算机采用的是串行处理。这种计算机的主要特征是:计算机的各个操作(如读/写存储器,算术或逻辑运算,I/O操作)只能串行地完成,而任一时刻只能进行一个操作。而并行处理则使得以上各个操作能同时进行,从而大大提高了计算机的速度。

广义上讲,并行性有两种含义:①同时性,指两个以上事件在同一时刻发生;②并发性,指两个以上事件在同一时间间隔内发生。

计算机的并行处理技术可贯穿于信息加工的各个步骤和阶段,概括起来,主要有以下三种形式。

①时间并行。时间并行指时间重叠,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

时间并行性概念的实现方式就是采用流水处理。这是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比。目前的微机都使用了流水技术。

②空间并行。空间并行指资源重复,即多套硬件设备同时处理,以“数量取胜”为原则来大幅度提高计算机的处理速度。大规模和超大规模集成电路的迅速发展为空间并行技术带来了巨大生机,因而空间并行技术已成为目前实现并行处理的一个主要途径。空间并行技术主要体现在多处理器系统和多计算机系统。

③时间并行加空间并行。时间并行加空间并行指时间重叠和资源重复的综合应用,既采用时间并行性又采用空间并行性。显然,第三种并行技术带来的高速效益是最好的。

2.流水CPU

(1)流水CPU的时空图

流水的概念在第二章中已经做了介绍。计算机的流水处理过程非常类似于工厂中的流水装配线。为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行,当任务连续不断地输入流水线时,在流水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性。

图5-24表示CPU流水或处理过程中一个指令周期的任务分解。该流水线中有4个子过程:取指令(IF)、指令译码(ID)、取操作数(EX)、进行运算(WB),每个子过程称为过程段(Si)。为了叙述简单,我们假定,每个子过程所用的时间都相同,都设为一个CPU周期。这样,一个流水线由一系列串联的过程段组成。各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果。在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段。

图5-24 一个指令周期的指令流水线

图5-25(a)表示非流水计算机的时空图。对非流水计算机来说,上一条指令的4个子过程全部执行完毕后才能开始下一条指令。因此,每隔4个CPU周期才有一个输出结果。

图5-25(b)表示流水计算机的时空图。对流水计算机来说,上一条指令与下一条指令的4个子过程在时间上可以重叠执行。因此,当流水线满载时,每一个CPU周期就可以输出一个结果。

直观比较后发现:流水计算机在8个单位时间中执行了5条指令,而非流水计算机在8个单位时间中仅执行了2条指令。显然,流水技术的应用,使计算机的速度大大提高了。

图5-25(c)表示超标量流水计算机的时空图。一般的流水计算机因只有一条指令流水线,所以称为标量流水计算机。所谓超标量流水,是指它具有两条或两条以上的指令流水线,如图5-25(c)所示。当流水线满载时,每一个CPU周期可以执行2条指令。显然,超标量流水计算机是时间并行技术和空间并行技术的综合应用。Pentium系列微机就是超标量流水计算机。

(www.xing528.com)

图5-25 流水计算机的时空图

(2)流水线分类

一个计算机可以在不同的并行等级上采用流水线技术,常用的流水线形式有以下几种。

①指令流水线。指令流水线是指指令执行步骤上的并行。例如,上面介绍的将指令的处理过程划分为取指令、译码、取操作数、执行等4个并行处理的过程段。目前,几乎所有的高性能计算机都采用了指令流水线。

②算术流水线。算术流水线是指运算操作步骤中的并行,像流水加法器、流水乘法器、流水除法等。

③处理机流水线。处理机流水线又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务。数据流从第一台处理机输入,经处理后被送入与第二台处理机相联的缓冲存储器中。第二台处理机从该存储器中取出数据进行处理,然后传送给第三台处理机,如此串联下去。随着高档微处理器芯片的出现,构造处理机流水线将变得容易了。处理机流水线应用在多机系统中。

3.流水线中的主要问题

要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过程中会出现以下三种相关冲突,实现流水线的不断流是困难的,这三种相关冲突是资源相关冲突、数据相关冲突和控制相关冲突。

(1)资源相关冲突

资源相关冲突是指多条指令进入流水线后在同一个时间段争用同一个功能部件(如内存)所发生的冲突。假定一条指令流水线由4段组成,分别为取指令(IF)、指令译码(ID)、取操作数(EX)、执行运算(WB)。由表5-2可以看出,在时间段3时,I1条指令的EX段与I3条指令的IF段都要访问存储器(在时间段4时,I2条指令的EX段与I4条指令的IF段都要访问存储器),便发生两条指令争用存储器资源的相关冲突。解决资源相关冲突最简单的办法是增设一个存储器,将指令和数据分别放在两个存储器中。

表5-2 两条指令发生资源相关冲突

(2)数据相关冲突

在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数刚好是前一指令的运算结果时,便发生数据相关冲突。如表5-3所示,指令流水线同上,在时间段4时,I1条指令的WB段的处理结果还没有出来,而I2条指令的EX段此时就要用这个结果,发生了数据相关冲突(在时间段5时,I2条指令的WB段与I3条指令的EX段;以及在时间段6时,I3条指令的WB段与I4条指令的EX段都要发生数据相关冲突)。

表5-3 两条指令发生数据相关冲突

解决数据相关冲突的一种办法是在运算部件和取数部件之间设置直接的数据通路,一旦运算部件产生出运算结果,立即传给取数部件使用。

(3)控制相关冲突

控制相关冲突是由条件转移指令引起的。当执行条件转移指令时,依据转移条件的不同,可能为顺序地取下一条指令,也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小条件转移指令对流水线性能的影响,常用两种处理技术:延迟转移法和转移预测法,具体内容略。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈