资源描述:
《并行处理机和相联处理机.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章并行处理机和相联处理机6.1并行处理机原理6.2并行处理机举例6.3相联处理机6.1并行处理机原理6.1.1并行处理机的构形与特点1.并行处理机的基本构形图6.1具有分布式存贮器的并行处理机构形图6.2具有集中式共享存贮器的并行处理机构形2.并行处理机的特点并行处理机的单指令流多数据流处理方式和由它产生的特殊结构是以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景发展起来的。这些计算问题的共同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而并行处理机正好利用多个处理单元对向量或数组所包含的各个分量同时计算,从而获得很高
2、的处理速度。与同样擅长于向量处理的流水线处理机相比,并行处理机利用的是资源重复,而不是时间重叠;利用并行性中的同时性,而不是并发性。它的每个处理单元要同等地担负起各种运算功能,但其设备利用率却可能没有多个单功能流水线部件那样高。因此,只有在硬件价格有了大幅度下降及系统结构有了较大改进的情况下,并行处理机才能具有较好的性能价格比。并行理机主要是靠增大处理单元个数来提高运算速度,比起向量流水线处理机主要依靠缩短时钟周期来说,速度提高的潜力要大得多。6.1.2并行处理机的算法1.ILLIACⅣ的处理单元阵列结构图6.3ILLIACⅣ处理单元的互连结构PU
3、i为处理部件,包含64位的算术处理单元PEi、所带的局部存贮器PEMi和存贮器逻辑部件MLU。64个处理部件PU0~PU63排列成8×8的方阵。任何一个PUi只与其上、下、左、右4个近邻PUi-8(mod64)、PUi+8(mod64)、PUi-1(mod64)和PUi+1(mod64)直接相连。循此规则,上、下方向上同一列两端的PU相连构成一个环,左、右方向上每一行的右端PU与下一行的左端PU相连,最下面一行右端的PU与最上面一行左端PU相连,从而形成一种闭合的螺线形状,所以又称闭合螺线阵列。在这个阵列中,步距不等于±1或±8的任意处理单元之间的
4、通信,可以用软件方法寻找最短路径进行,其最短距离都不会超过7步。例如,要将PU63的信息传送到PU10,最快可经PU63→PU7→PU8→PU9→PU104步即可实现,而要将PU9的信息传送到PU45,最快可经PU9→PU1→PU57→PU56→PU48→PU47→PU46→PU457步实现。普遍来讲,个处理单元组成的阵列中,任意两个处理单元之间的最短距离不会超过步。2.阵列处理机的算法举例1)有限差分问题求解场方程时,常使用有限差分法。它是把一个有规则的网格覆盖在整个场域上,用网格点上的变量值写出差分方程组来代替场方程进行计算。在解决物理问
5、题时,如果将描述平面场的拉普拉斯方程中的二阶偏导数表示为差分形式:并代入原方程,即可得有限差分计算公式式中,(x,y)为网格点坐标,h为网格点的间距。2)矩阵加在阵列处理机上,解决矩阵加法是最简单的一维情形。若有两个8×8的矩阵A、B相加,所得结果矩阵C也是一个8×8的矩阵。只需把A、B居于相应位置的分量存放在同一个PEM内,且在全部64个PEM中,令A的分量均为同一地址α,B的分量单元均为同一地址α+1,而结果矩阵C的各个结果分量也相应存放于各PEM同一地址α+2的单元内,如图6.4所示。这样,只需用下列3条ILLIACⅣ的汇编指令就可以一次实
6、现矩阵相加:LDAALPHA;全部(α)由PEMi送PEi的累加器RGAiADRNALPHA+1;全部(α+1)与(RGAi)进行浮点规舍加,结果送RGAiSTAALPHA+2;全部(RGAi)由PEi送PEMi的α+2单元这里,0≤i≤63。图6.4矩阵相加的存贮器分配举例3)矩阵乘由于矩阵乘是二维数组运算,故它比循环加要复杂一些。设A、B和C为3个8×8的二维矩阵。若给定A和B,则为计算C=A*B的64个分量,可用下列公式其中,0≤i≤7且0≤j≤7。在SISD计算机上求解这个问题,可执行用FORTRAN语言编写的下列程序DO10I=0,7
7、DO10J=0,7C(I,J)=0DO10K=0,710C(I,J)=C(I,J)+A(I,K)*B(K,J)需要经过I、J、K三重循环完成。每重循环执行8次,总共需要512次乘、加的时间,此外每次还应包括执行循环控制、判别等其他操作需花费的时间。而如果在SIMD阵列处理机上运算,则可用8个处理单元并行计算矩阵C(I,J)的某一行或某一列,即将J循环或I循环转化成一维的向量处理,从而消去了一重循环。以消去J循环为例,可执行用FORTRAN语言编写的下列程序DO10I=0,7C(I,J)=0DO10K=0,710C(I,J)=C(I
8、,J)+A(I,K)*B(K,J)图6.5矩阵乘程序执行流程图图6.6矩阵乘的存贮器分配举例4)累加和这是一个将N个数的