6.1.2 向量处理方式 在大型数组的处理中常常包含向量计算,按照数组中各计算相继的次序,我们可以把向量处理方法分为三种类型: (1)横向处理方式。向量计算是按行的方式从左至右横向地进行。 (2)纵向处理方式。向量计算是按列的方式自上而下纵向地进行。 (3)纵横处理方式。横向处理和纵向处理相结合的方式。 下面以一个用FORTRAN语言编写的程序来说明上述三种处理方式: 1.横向处理方式 逐个求Fi的方式,为此 先算: 再算: …… 最后算: 一般计算机就是采用这种方式组成循环程序进行处理的。这种处理方式适用于一般的处理机,即标量处理机,而不适用于向量处理机的并行处理。
2.纵向处理方式
3.纵横处理方式 即把长度为N的向量分成若干组,每组长度为n,组内按纵向方式处理,依次处理各组。若N=K・n+r,其中r为余数,也作为一组处理,则共有K+1组,其运算过程为: 先算第1组 … 再算第2组 … …… 最后算第K+1组 … 纵横处理方式对向量长度N的大小也不加限制,但它是以n为一组进行分组处理的。在每组运算中,用长度为n的向量寄存器作为运算寄存器并保留中间结果,从而大大减少了访问存储器的次数。这就可以降低对存储器信息流量的要求,也减少访问存储器发生冲突所引起的等待时间,因而提高了处理速度。