向量处理机结构目前已成为解决数值计算问题的一种最重要的高性能结构。本间讲述了向理处理机的定义、结构、存取模式、设计目标、常用技术、性能评价等内容,通过本章的学习,希望大家弄清楚以下几个问题。 1. 向量处理的方式和向量处理机的结构 把N个互相独立的数叫做“向量”,对这样一组数的运算叫做“向量处理”。一条向量指令可以处理N个或N对操作数。 向量处理的方式分为以下3种: (1) 横向处理方式:向量计算是按行的方式从左至右横向进行。 (2) 纵向处理方式:向量计算是按列的方式自上而下纵向进行。 (3) 纵横处理方式:横向处理和纵向处理相结合的方式 向量处理机一般有如下两种结构: (1) 利用几个独立的内存模块来支持对相互独立的资料的并发访问,从而达到所要求的内存带宽,即存储器—存储器结构。在运算流水线的输入端和输出端增加了缓冲器以便消除争用内存的现象。 (2) 构造一个具有所要求带宽的高速中间内存,并能实现该高速中间内存与主存储器之间的快速资料交换,即寄存器—寄存器结构。设计这种系统结构的主要思想是使操作数离处理器很近,以保证处理器一直处于忙状态。中间内存提供给处理器快速存取的资料,而成本又比较低。 2. 数值算法的存取模式 对于向量和矩阵运算,一个向量计算机至少能够提供对行访问和对列访问的形式,有其他访问形式更好。一个向量流水线应具有将标量作为操作数的功能,它比两个操作数都是向量的操作更快更有效。流水结构运算部件应具有最后结果是标量的功能,同时结果标量可能是一个向量的某个重要元素的下标,而不一定是元素本身。应当处理尽可能长的向量,这样可把开销分摊到各个分量中去。 矩阵的存放方式:可以按适于访问行向量或适于访问列向量的方式存储。向量的步距表示向量存取过程中,从一个元素到下一个元素的地址增量。一般的情况下,若存储模块数M和步距S为任意值,则M次按步距S的连续访问是访问M/GCD(S,M)个不同的存储模块。 3. 向量处理机系统结构的设计目标 (1) 较好地维持向量/标量性能平衡。 (2) 可扩展性随处理机数目的增加而增加。 (3) 可扩展性的三个目标是:规模可扩展性,换代可扩展性,问题可扩展性。 (4) 增加内存系统的容量和性能。 (5) 提供高性能的I/O和易访问的网络。 4. 提高向量处理机性能的常用技术 (1) 链接技术 (2) 向量循环或分段开采技术 (3) 向量递归技术 (4) 稀疏矩阵的处理技术 5. 向量处理机的性能评价 (1) 向量指令的处理时间Tvp=Ts+Tvf+(n-1)Tc。 一组向量操作的执行时间主要取决于下面三个因素:向量的长度、向量操作之间是否存在流水功能部件的冲突和数据的相关性。 (2) 最大性能R∞表示当向量长度为无穷大时的向量流水线的最大性能。常在评价峰值性能时使用,单位为MFLOPS。它可表示为:
因为分子的值与n无关,所以 (3) n1/2为达到一半R∞值所需的向量长度。它是评价向量流水线建立时间对性能影响的参数。它表示为建立流水线而导致的性能损失。 (4) 向量长度临界值nv表示向量流水方式的工作速度优于标量串行方式工作时所需的向量长度临界值。该参数既衡量建立时间,也衡量标量、向量速度比对性能的影响。