向量处理器,又称数组处理器,是一种实现了直接操作一维
数组(向量)指令集的
中央处理器(CPU)。
这与一次只能处理一个数据的
标量处理器正相反。
向量处理器可以在特定工作环境中极大地提升性能,尤其是在数值模拟或者相似领域。向量处理器最早出现于20世纪70年代早期,并在70年代到90年代期间成为超级计算机设计的主导方向,尤其是多个克雷(Cray)平台。由于90年代末常规处理器设计性能提升,而价格快速下降,基于向量处理器的超级计算机逐渐让出了主导地位。
现在,绝大多数商业化的CPU实现都能够提供某种形式的向量处理的指令,用来处理多个(向量化的)数据集,也就是所谓的SIMD(单一指令、多重数据)。常见的例子有VIS,
MMX,
SSE,
AltiVec和
AVX。向量处理技术也能在游戏主机硬件和图形加速硬件上看到。在2000年,
IBM,
东芝和
索尼合作开发了
Cell处理器,集成了一个标量处理器和八个向量处理器,应用在索尼的
PlayStation 3游戏机和其他一些产品中。
其他CPU设计还可能包括多重指令处理多重(向量化的)数据集的技术——也就是所谓的MIMD(多重指令、多重数据)——并实现了VLIM。此类设计通常用于特定应用场合,而不是面向通用计算机的市场化产品。在
富士通的 FR-V VLIW/vector 处理器中,组合使用了两种技术。
平行向量处理机最大的特点是系统中的CPU是专门定制的
向量处理器(VP)。系统还提供
共享存储器以及与VP相连的高速交叉开关。
并行计算(英语:parallel computing)一般是指许多指令得以同时进行的计算模式。在同时进行的前提下,可以将计算的过程分解成小部分,之后以
并发方式来加以解决。
电脑软件可以被分成数个运算步骤来运行。为了解决某个特定问题,软件采用某个算法,以一连串指令运行来完成。传统上,这些指令都被送至单一的
中央处理器,以循序方式运行完成。在这种处理方式下,单一时间中,只有单一指令被运行(processor level: 比较微处理器,CISC, 和RISC,即流水线Pipeline的概念,以及后来在Pipeline基础上以提高指令处理效率为目的的硬件及软件发展,比如branch-prediction, 比如forwarding,比如在每个运算单元前的指令堆栈,汇编程序员对programm code的顺序改写)。并行运算采用了多个运算单元,同时运行,以解决问题。