向量处理机

为了充分发挥流水线的效率,实现高性能计算,有的流水线处理设置了向量数据表示和相应的向量指令。这种向量处理机成为向量处理机。(此处的向量和数组类似)不具有向量表示和相应的向量指令的处理机,称为标量处理机。向量处理机有专用型,其高性能是局限于求解那些可以转化为向量运算的问题。

向量处理方式

主要有三种方式:①横向处理方式;②纵向处理方式;③纵横处理方式。

向量处理机的结构

以CRAY-1机为例,介绍寄存器-寄存器型向量处理机的结构和特点。

CRAY-1机结构简图

功能部件

共有12条可并行工作的单功能流水线,可分别流水地进行地址、向量、标量的各种运算。它为向量运算提供了6个单功能流水部件:整数加(3拍)、逻辑运算(2拍)、移位(4拍)、浮点加(6拍)、浮点乘(7拍)和浮点迭代求倒数(14拍)。每拍为一个时钟周期,12.5ns。

向量寄存器组V

每个向量寄存器可以每拍向功能部件提供一个数据元素,或者每拍接受一个从功能部件来的结果元素。

标量寄存器S和快速暂存器T

向量屏蔽寄存器VM

提高向量寄存器性能的方法

一般有以下方法:①设置多个功能部件,使它们并行工作;②采用链接技术,加快一串向量指令的执行;③采取循环开采技术,加快循环的处理;④采用多处理器系统,进一步提高性能。

设置多个功能部件

通过设置多个独立的功能部件,提高性能。这行部件能并行工作并各自按照流水方式工作,从而形成了多条并行工作的运算操作流水线。

链接技术

链接技术是指,具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的。链接特性是CRAY-1向量处理的一个显著特点。

链接技术实际上可以看成流水线的定向技术在向量处理机中的应用。当前一个向量功能部件产生第一个结果并送到结果向量寄存器的入口时,将该结果立即送往下一个功能部件的入口,开始后续的向量处理操作。此后依次得到的中间结果都按此处理。这样,前面功能部件的结果元素一产生,就可以立即被后面功能部件所使用,而不用等结果向量全部产生后再来使用。

进行向量链接时,除了要求无向量寄存器使用冲突和无功能部件使用冲突外,还有一些别的要求:

(1)只有在前一条指令的第1个结果元素送入结果向量寄存器的那一个时钟周期才可以进行链接。如果错过这个时刻,就无法进行链接了,这是只好等一条指令全部执行完毕、释放相应的向量寄存器之后,才可能执行后面的指令。

(2)当一条向量指令的两个源操作数分别是两条先行指令的结果寄存器时,要求先行的两条指令产生运算结果的时间必须相等,即要求有关功能部件的通过时间相等。

(3)要进行链接执行的向量指令的向量长度必须相等,否则无法进行链接。

分段开采技术

当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每次循环只处理一个向量段。这种技术成为分段开采技术。将长向量分段成循环处理是由系统硬件和软件控制完成的,对程序员是透明的。

采用多处理机系统


返回首页