第六章 向量处理机

6.4.4 向量协处理器

  科学计算要求计算机系统能高速地处理大量数据,向量处理机较好地解决了这一问题,如CDCSTAR,Cray1向量处理机。但是,这些机器都是巨型机,规模大,价格高,适用于解决大工程和大系统的问题。一般科学计算的用户不可能也不必去购买一台价格昂贵的巨型机,因而只能在中、小型计算机上用标量的处理方式处理向量问题。但是,在这种机器上处理向量问题的效率很低,不能满足这类用户的需要。因此,产生了一种向量协处理器。
  向量协处理器是为解决科学计算所要求的大量向量处理而设计的一种装置。它一般和中、小型计算机组合起来,作为主计算机的外围设备,承担处理向量的任务。这样,就可以得到较高的吞吐率和精度,其价格又可以为一般中、小用户所接受。
  图6.24是一台常规的高速处理机与向量协处理器连接的框图。一台没有带向量协处理器的普通机器能满足很大一类用户的需要,带向量协处理器的机器能满足特殊用户的需要。因为通用机器的软、硬件大批量生产,具有价格较低的优点,所以带向量协处理器的机器的成本相对来说也比较低。这样,降低了特殊用户的费用。

  目前一些协处理器制造厂家提供能和各种不同主机相连的向量协处理器。它们的价格和功能的变化范围很大,有和微处理机相连的价格低廉的装置,也有与高档计算机相连的高性能系统。
  这一节首先讨论向量协处理器的一般结构。然后介绍美国浮点系统公司的FPS164向量协处理机。
  通过前面的讨论我们已经知道,为了实现高效的数值计算,需要有按行和按列等向量存取模式,这要求系统结构设计者设计出能支持这些存取模式的存储器系统。但对算术处理部件的设计没有提出特殊的要求,算术部件的设计也应该支持用户最经常和迫切的运算。因此,让我们复习一下前面遇到过的一些算法。
  大多数数值应用的中心问题是求解不同形式的线性方程。线性规划也是通过求解线性方程去解决优化问题。即使是非线性问题,线性技术也十分重要。因为非线性方程组在变化范围较小时呈线性关系,所以通常采用线性迭代方法求解,利用迭代技术通过线性逼近得到非线性系统的解。
  对于线性规划和线性代数的操作,计算的内循环经常具有如下的形式:
a∶=a+b×c (6.1)
  其中a,b,c都是标量。在一台通用的计算机中,先把计算出来的乘积存到某个寄存器,然后将相加的和存到另一个寄存器。由于这种操作非常频繁,我们可以设计一种三个操作数的操作,并假设乘法和加法可在同一运算器上完成,而不需从寄存器中存取乘积,这种结构见图6.25。其中两个操作数送入乘法器,乘法器的输出直接送到加法器的一个输入端,同时第三个操作数送到加法器的另一个输入端。