向量处理机(vector computer),面向向量型并行计算,以流水线结构为主的并行处理计算机。
采用先行控制和重叠操作技术、运算流水线、交叉访问的并行存储器等并行处理结构,对提高运算速度有重要作用。但在实际运行时还不能充分发挥并行处理潜力。向量运算很适合于流水线计算机的结构特点。向量型并行计算与流水线结构相结合,能在很大程度上克服通常流水线计算机中指令处理量太大、存储访问不均匀、相关等待严重、流水不畅等缺点,并可充分发挥并行处理结构的潜力,显著提高运算速度。
向量运算是一种较简单的并行计算,适用面很广,机器实现比较容易,使用也比较方便,因此向量处理机(向量机)获得了迅速发展。TI ASC(1972年)和CDC STAR-100 (1973年)是世界上第一批向量巨型计算机(巨型机)。到1982年底,世界上约有60台巨型机,其中大多数是向量机。中国于1983年研制成功的每秒千万次的757机和亿次的“银河”机也都是向量机。
向量机适用于线性规划、傅里叶变换、滤波计算以及矩阵、线性代数、偏微分方程、积分等数学问题的求解,主要解决气象研究与天气预报、航空航天飞行器设计、原子能与核反应研究、地球物理研究、地震分析、大型工程设计,以及社会和经济现象大规模模拟等领域的大型计算问题。
向量运算 在普通计算机中,机器指令的基本操作对象是标量,而向量机除了有标量处理功能外还具有功能齐全的向量运算指令系统。
对一个向量的各分量执行同一运算,或对同样维数的两个向量的对应分量执行同一运算,或一个向量的各分量都与同一标量执行同一运算,均可产生一个新的向量,这些是基本的向量运算。此外,尚可在一个向量的各分量间执行某种运算,如连加、连乘或连续比较等操作,使之综合成一个标量。为了提高向量处理能力,基本型向量运算在执行中可以有某种灵活性,如在位向量控制下使某些分量不执行操作 ,或增加其他特殊向量操作,如两个维数不等的单调上升整数向量的逻辑合并、向量的压缩和还原。
向量的流水处理 在向量各分量上执行的运算操作一般都是彼此无关、各自独立的,因而可以按多种方式并行执行,这就是向量型并行计算。向量运算的并行执行,主要采用流水线方式和阵列方式两种。
大容量高速主存储器 主存储器(主存)容量的大小限定了机器的解题规模。向量机主要用于求解大型问题,必须具有大容量的主存,而且应该是集中式的公共存储器,以方便用户使用和程序编制。当高速运算流水线开动时,需要源源不断地供给操作数和取走运算结果,还要求主存具有很高的数据传输率,否则便不能维持高速运算。
存储器的速度总是低于运算部件,存储器与运算部件之间的数据通路,是阻碍速度提高的“瓶颈”,而主存容量的增大又与提高存取速度相矛盾。所以,如何在速度上使主存与运算相匹配,是向量机设计中的关键问题之一。
纵向加工向量机 这种机器采用向量全长的纵向加工方式,每执行一个向量运算都要从头至尾执行全部分量的运算,操作数或结果向量都直接取自主存或写入主存。主存的数据传输率须按运算部件速度的3~4倍来配置。纵向加工向量机设置交叉访问的、数量众多的存储体和很宽的数据通路,并以超长字为单位进行访问,以便满足要求。这样,就使成本高、主存系统灵活性差,难以实现对繁多的主存向量的高效存取。此外,向量运算的起步时间长,短向量运算速度下降幅度大。
纵横加工向量机 这种机器采用向量分段纵横加工方式,并设置有小容量高速度的多个向量运算寄存器。计算向量运算表达式时,每个向量运算每次只执行一段分量。从主存取出的操作数向量和运算产生的中间结果向量,可以逐段存放在向量寄存器中,运算部件主要访问向量寄存器组。这样,就能保证运算部件进行高速运算,同时又能减轻主存的负担,使对主存数据传输率的要求比纵向加工下降70%左右。美国的CRAY-1机和中国的757机都属于这种型式。
软件与应用 向量机一般配有向量汇编和向量高级语言,供用户编制能发挥具体向量机速度潜力的向量程序。只有研制和采用向量型并行算法,使程序中包含的向量 运算越多、向量越长,运算速度才会越高。面向各种应用领域的向量程序库的建立,能方便用户使用和提高向量机的解题效率。向量识别程序是编译程序中新开发的一部分,用于编译时自动识别采用通常串行算法的源程序中的向量运算成分,并编译成相应的向量运算目标程序,以提高向量机计算大量现存非向量程序的计算速度。向量识别技术还有待进一步发展和完善,以提高识别水平。
向量处理机的发展方向是多向量机系统或细胞结构向量机。实现前者须在软件和算法上取得进展,解决如任务划分和分派等许多难题;后者则须采用适当的互连网络,用硬件自动解决因用户将分散的主存当作集中式的共存使用而带来的矛盾,才能构成虚共存的细胞结构向量机。它既具有阵列机在结构上易于扩大并行台数以提高速度的优点,又有向量机使用方便的优点。