对数组、向量或从时域或空间中的点阵所取得的数据进行高速运算的处理机。又称为
阵列处理机。
阵列处理机有两种意义:一种是从功能的角度来说,即所处理的主要对象是
阵列或
数组,而不是标量,这就是数组处理机;另一种是从结构的角度来说,即在同一个控制机构控制下并行工作的具有相同结构的处理机阵列。数组处理机是在巨型计算机技术的基础上,由专用的数字
滤波器发展而来。20世纪60年代,在已有的计算机上加专用
数字滤波部件,大大提高了计算机对数字信号处理的
运算速度。后来,专用部件发展成可编程序的通用数组处理机,并在70年代后期出现系列产品。数组处理机应用在
雷达数字信号处理、声呐信号处理、石油勘探地震资料处理、图像处理、实时飞行模拟、热核反应模拟、天体物理计算、
结构分析、
人工智能等方面。
数组处理机的主要特点是性能-价格比很高。在某些应用领域,它的
运算速度可以达到
大型计算机或巨型计算机的水平,而价格却只有它们的几分之一或几十分之一。
数组处理机的规模可以很大,但也可以小到
微型计算机的规模。80年代,利用
超大规模集成电路技术,一个数组处理机可以集成在一个半导体硅片上。数组处理机的
运算速度可以高到与巨型计算机相比;也可以比较低,如每秒钟运算100万次。
数组处理机需要与一台主机一起运用。它的
运算速度比主机大约快一个数量级或更多。
主机一般进行标量运算和系统管理,数组处理机进行高速数组运算(包括矩阵运算、
快速傅里叶变换等)。主机和数组处理机可共享
主存储器和
外围设备。
数组处理机可以作为
中央处理器的一部分而直接连到
主存储器上,但更常见的是通过外部通道和主机相连。某些数组处理机只能与某种型号的主机相连,而广泛使用的数组处理机能与多种型号的主机相连。一台数组处理机可以与一台或多台
主机相连;一台主机也可以与多台数组处理机连成一个系统,每台数组处理机只完成自己独特的计算任务。
为了达到高速运算,在数组处理机的
系统结构中采用
并行技术或
流水线技术,或两者同时采用。在
运算器中有独立的
加法器和乘法器 ,它们可以并行工作 。在一个机器节拍(即一个
时钟周期)内,可以完成一个加法运算和一个乘法运算。为了实现这个目的,必须在一个节拍之内提供运算所需的数。在一般的数组处理机中,运算所需的数由多个
存储器提供。在同一节拍之内还要完成取指令、地址加工、循环计数和其他必要的操作,这些都可采用
并行技术,因而也需要提供并行的数据通道。如要进一步提高
运算速度,可以有多个
加法器和多个乘法器,甚至还可以有独立的除法器和
开方器,它们都可以并行工作。
通用的数组处理机一般采用
微程序技术。常用的函数、算法等由生产厂家用微码编写成子程序,存放在机器的算术库中,供用户随时调用。数组处理机一般有3种语言:①微汇编语言:机器一级的语言。②使用算术库的宏汇编语言:用户在编写应用程序时,可以使用类似于
FORTRAN语言的指令去调用算术库中的由生产厂提供的子程序,还可以把这些子程序连接起来形成自己的应用程序。③数组FORTRAN语言:数组FORTRAN
编译程序所产生的目标模块可与主机的FORTRAN程序合并在一起。使用微汇编语言编写的程序,运算效率高,但用户需要了解数组处理机的内部结构,编写程序所花的时间较长。使用数组FORTRAN语言,可以方便地编写程序,但运算效率会大为降低。使用宏汇编语言可以获得较高的运算效率,使用也比较方便。
高速数组处理机的一个发展趋势是同具有其他功能的处理机(如数据库处理机、操作系统处理机、输入输出处理机、通信处理机等)一起组成功能
分布计算机系统。在这种系统中,每种处理机可以高效地完成本身的特定功能。这种系统的功能很强,处理速度也很快。