(1)统一的体系结构模型
为了同时满足能提高芯片集成度与缩短设计周期的要求,以IP核为基础的设计平台技术以及从功能到体系结构的协同设计方法得到了发展。由于非控制流的计算机体系结构复杂、效率低,现在的计算机体系结构都采用控制流的体系结构,按照我们提出的计算机体系结构的分类模型,控制流的体系结构可分为三类:一是基于指令流的体系结构,也就是以微处理器为代表的体系结构,按照 Flynn采用指令流与数据流两个逻辑概念的分类共有SISD、SIMD、MISD、MIMD四种体系结构;二是基于数据流的体系结构,也就是以ASIC (例如Systolic array)电路为代表的体系结构,因为它只有数据流的概念所以只有SD与MD两类,由于ASIC 电路效率虽然高,但为了克服没有处理器灵活这个缺点,又出现了静态可编程FPGA电路;三是基于构令流(Configuration Stream)的体系结构,通常叫做可重构的(Reconfigurable)体系结构,也就是动态可编程电路,共有SCSD、SCMD、MCSD、MCMD四类。
这些按逻辑概念分类的体系结构可以组合起来使用,其选择方案可以有1023种。就具体实现而言方案更多,例如,不同厂家的处理器的指令集合都是不相同的。
而功能与体系结构的协同设计,是通过功能到体系结构的映射完成的,为了确保这种映射的高效与统一,提出了一种统一的体系结构模型,从三个方面对体系结构进行了统一:一是提出了一种Unified _ISA模型,如图1所示,能将上述三种体系结构从指令集合上统一起来;二是提出了一种将高级语言与汇编语言折中的中间映射语言,能将高级语言的兼容性和可读性,与汇编语言的程序高效性和映射直接性统一起来;三是通过中间映射语言的编程,能将软构件与硬构件的设计统一起来。
图1 Unified _ISA模型的逻辑概念图
具体对指令流体系结构来说,其SISD、SIMD、MISD、MIMD四类体系结构的指令子集合是统一成SISD体系结构的指令集合,对于数据流与构令流的体系结构是通过增加相应的指令,统一成SISD体系结构的指令集合的;换句话说,图1中的SIMD、MIMD、ASIC与RC Device四种 MPP Unit都是可以通过软构件描述的。这些软构件是可以在SIMD或MIMD体系结构上直接执行的,或者是可以自动映射成ASIC或RC Device电路的。
(2)虚拟的并行计算阵列
由于G级像素帧遥感图像处理的需要,MPP并行计算阵列得到了发展,因为图像帧总是二维的,相应的处理元阵列也是二维的,如图2中所示。虽然芯片集成度已经很高,但现在还不能在一块芯片上研制G级像素帧的G个处理元的阵列,现在还只有采用WSI技术完成的百万个处理元的阵列。因此,还只能采用虚拟处理元阵列技术,解决MPP程序设计的方便性与程序本身的可读性。换句话说,MPP图像处理程序是按虚拟并行计算阵列设计的,也就是MPP程序设计时,总是假定图 2中网格阵列的M与N的值是与图像帧的维数大小相等的,而实际的处理元阵列的大小m×n是远远小于M×N的,MPP程序是通过自动映射到实际的处理元阵列上执行的。针对图像处理算法的特点,图像处理的MPP计算阵列通常是按SIMD体系结构设计的。相应的设计问题有:处理元PE的位置表示与位置选择问题,采用PIM设计解决图像处理器与图像存储器之间的带宽问题,以及并行重采样问题。