版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章并行处理机和相联处理机6.1并行处理机原理6.2并行处理机举例6.3相联处理机6.1并行处理机原理6.1.1并行处理机的构形与特点1.并行处理机的基本构形图6.1具有分布式存贮器的并行处理机构形图6.2具有集中式共享存贮器的并行处理机构形
2.并行处理机的特点
并行处理机的单指令流多数据流处理方式和由它产生的特殊结构是以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景发展起来的。这些计算问题的共同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而并行处理机正好利用多个处理单元对向量或数组所包含的各个分量同时计算,从而获得很高的处理速度。与同样擅长于向量处理的流水线处理机相比,并行处理机利用的是资源重复,而不是时间重叠;利用并行性中的同时性,而不是并发性。它的每个处理单元要同等地担负起各种运算功能,但其设备利用率却可能没有多个单功能流水线部件那样高。因此,只有在硬件价格有了大幅度下降及系统结构有了较大改进的情况下,并行处理机才能具有较好的性能价格比。并行理机主要是靠增大处理单元个数来提高运算速度,比起向量流水线处理机主要依靠缩短时钟周期来说,速度提高的潜力要大得多。6.1.2并行处理机的算法1.ILLIACⅣ的处理单元阵列结构图6.3ILLIACⅣ处理单元的互连结构
PUi为处理部件,包含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的任意处理单元之间的通信,可以用软件方法寻找最短路径进行,其最短距离都不会超过7步。例如,要将PU63的信息传送到PU10,最快可经PU63→PU7→PU8→PU9→PU104步即可实现,而要将PU9的信息传送到PU45,最快可经PU9→PU1→PU57→PU56→PU48→PU47→PU46→PU457步实现。普遍来讲,个处理单元组成的阵列中,任意两个处理单元之间的最短距离不会超过步。
1)矩阵加在阵列处理机上,解决矩阵加法是最简单的一维情形。若有两个8×8的矩阵A、B相加,所得结果矩阵C也是一个8×8的矩阵。只需把A、B居于相应位置的分量存放在同一个PEM内,且在全部64个PEM中,令A的分量均为同一地址α,B的分量单元均为同一地址α+1,而结果矩阵C的各个结果分量也相应存放于各PEM同一地址α+2的单元内,如图6.4所示。这样,只需用下列3条ILLIACⅣ的汇编指令就可以一次实现矩阵相加:
6.1.3阵列处理机的算法举例
LDAALPHA;全部(α)由PEMi送PEi的累加器RGAiADRNALPHA+1;全部(α+1)与(RGAi)进行浮点加,结果送RGAi
STAALPHA+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,7DO10J=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,J)+A(I,K)*B(K,J)图6.5矩阵乘程序执行流程图图6.6矩阵乘的存贮器分配举例
4)累加和这是一个将N个数的顺序相加过程转变为并行相加过程的问题。为了得到各项累加的部分和和最后的总和,要用到处理单元中的活跃标志位。只有处于活跃状态的处理单元,才能执行相应的操作。为叙述方便,取N为8,即有8个数A(I)顺序累加,其中0≤I≤7。
在SISD计算机上可写成下列FORTRAN程序:
C=0DO10I=0,710C=C+A(I)这是一个串行程序,需要8次加法时间。如果在并行处理机上,采用成对递归相加的算法,则只需log28=3次加法时间就够了。首先,原始数据A(I)分别存放在8个PEM的α单元中,其中0≤I≤7。然后,按照下面的步骤求累加和:第一步置全部PEi为活跃状态,0≤i≤7;第二步全部A(I)从PEMi的α单元读到相应PEi的累加寄存器RGAi中,0≤i≤7;
第三步令k=0;
第四步将全部PEi的(RGAi)转送到传送寄存器RGRi,0≤i≤7;第五步将全部PEi的(RGRi)经过互连网络向右传送2k步距,0≤i≤7;第六步令j=2k-1;
第七步置PE0至PEj为不活跃状态;第八步处于活跃状态的所有PEi执行(RGAi):=(RGAi)+(RGRi),j<i≤7;第九步k:=k+1;
第十步如k<3,则转回第四步,否则往下继续执行;第十一步置全部PEi为活跃状态,0≤i≤7;
第十二步将全部PEi的累加寄存器内容(RGAi)存入相应PEMi的α+1单元中,0≤i≤7。图6.7并行处理机上累加和计算过程的示意图图6.8循环互连网络组成框图6.1.3SIMD计算机的互连网络1.互连网络的设计目标及互连函数2.基本的单级互连网络1)立方体单级网络图6.9三维立方体结构这是一个三维的情形。立方体的每一个顶点(网络的节点)代表一个处理单元,共有8个处理单元,用zyx三位二进制码编号。它所能实现的入、出端连接如同立方体各顶点间能实现的互连一样,即每个处理单元只能直接连到其二进制编号的某一位取反的其他3个处理单元上。如010只能连到000、011、110,不能直接连到对角线上的001、100、101、111。所以,三维的立方体单级网络有3种互连函数:Cube0、Cube1和Cube2。其连接方式如图6.10中的实线所示。Cubei函数表示相连的入端和出端的二进制编号只在右起第i位(i=0,1,2)上有差别,即仅在该位上的代码“0”、“1”互反,其余各位代码都相同。图6.10立方体单级网络连接图推广到n维的情形,N个节点的立方体单级网络共有n=log2N种互连函数,即式中,0≤i≤n-1,Pi为入端号二进制码的第i位。当维数n>3时,称为超立方体(HyperCube)网络。
2)PM2I单级网络
PM2I单级网络是“加减2i”(Plus-Minus2i)单级网络的简称。能实现与j号处理单元直接相连的是号为j±2i的处理单元,即式中,0≤j≤N-1,0≤i≤n-1,n=log2N。因此,它共有2n个互连函数。由于总存在PM2+(n-1)=PM2-(n-1),所以实际上,PM2I互连网络只有2n-1种不同的互连函数。对于N=8的三维PM2I互连网络的互连函数有PM2+0、PM2-0、PM2+1、PM2-1、PM2±2等5个不同的互连函数,它们分别为:PM2+0:(01234567)PM2-0:(76543210)PM2+1:(0246)(1357)PM2-1:(6420)(7531)PM2±2:(04)(15)(26)(37)图6.11PM2I互连网络的部分连接图有的阵列处理机采用单向环网或双向环网实现处理器的互连,可以看成是PM2I网络的特例,它仅使用了其中的PM2+0、PM2-0或PM2±0互连函数。不难看出,ILLIACⅣ处理单元的互连也是PM2I互连网络的特例,只采用了其中的PM2±0和 (即PM2±3)4个互连函数。
PM2I单级网络的最大距离为[n/2]。以上面的三维PM2I互连网络的例子就可以看出,最多只要二次使用,即可实现任意一对入、出端号之间的连接。3)混洗交换单级网络图6.128个处理单元的全混连接用互连函数表示为式中,n=log2N,Pn-1Pn-2…P1P0为入端编号的二进制码。
Shuffle函数还有一个重要特性。如果把它再作一次Shuffle函数变换,得到的是一组新的代码,即Pn-3…P0Pn-1Pn-2。这样,每全混一次,新的最高位就被移至最低位。当经过n次全混后,全部N个处理单元便又恢复到最初的排列次序。在多次全混的过程中,除了编号为全“0”和全“1”的处理单元外,各个处理单元都遇到了与其他多个处理单元连接的机会。图6.13N=8时全混交换互连网络连接图3.多级互连网络交换开关是具有两个入端和两个出端的交换单元,用作各种多级互连网络的基本构件。不论入端或出端,如果令居于上方的都用i表示,居于下方的都用j表示,则可以定义下列4种开关状态或连接方式:(1)直连——i入连i出,j入连j出;(2)交换——i入连j出,j入连i出;(3)上播——i入连i出和j出,j入悬空;(4)下播——j入连i出和j出,i入悬空。只具有前两种功能的称二功能交换单元,具有全部4种功能的称四功能交换单元。两个入端同时连到一个出端的情形是不允许的,因为会发生信息传送的冲突现象。此外,还可以有第5种开关状态,即i入连j入,i出连j出,称此为返回。它可用来实现入端与入端相连,出端与出端相连,从而将N个入端和N个出端的网络变为2N个处理单元的互连网络。拓扑结构是指各级之间出端和入端相互连接的模式。控制方式是对各个交换开关进行控制的方式,以多级立方体网络为例,它可以有3种:
(1)级控制——同一级的所有开关只用一个控制信号控制,同时只能处于同一种状态;
(2)单元控制——每一个开关都有自己独立的控制信号控制,可各自处于不同的状态;
(3)部分级控制——第i级的所有开关分别用i+1个信号控制,0≤i≤n-1,n为级数。1)多级立方体网络多级立方体网络有STARAN网络、间接二进制n方体网络等。图6.14N=8多级立方体互连网络
STARAN网络用作交换网络时,采用级控制,实现的是交换函数。所谓交换(Flip)函数,是将一组元素首尾对称地进行交换。如果一组元素包含有2s个,则它是将所有第k个元素都与第(2s-(k+1))个元素相交换。表6.1三级STARAN交换网络实现的入出端连接及所执行 的交换函数功能(Ki为第i级控制信号)从表6.1可以看出,控制信号为111时,实现的是全交换,又称镜像交换,完成对这8个处理单元(元素)的一组8元交换,其变换图像如下:入端排列|01234567|
出端排列|76543210|控制信号为001时,完成对这8个处理单元(元素)的4组2元交换,其变换图像为:入端排列|01|23|45|67|
出端排列|10|32|54|76|控制信号为010时,完成的功能相当于在4组2元交换后,再2组4元交换,其变换图像是:|1032|5476||2301|6745|
而控制信号为101时,相当于在实现上述两种交换后,再1组8元交换,其变换图像是:
|23016745| |54761032|出端排列出端排列表6.2三级移数网络能实现的入出端连接及移数函数功能2)多级混洗交换网络多级混洗交换网络又称omega网络,如图6.15所示。图6.15N=8多级混洗交换网络3)多级PM2I网络图6.16N=8多级PM2I网络
4.全排列网络如果互连网络是从N个入端到N个出端的一到一的映射,就可以把它看成是对此N个端的重新排列。因此,互连网络的功能实际上就是用新排列来置换N个入端原有的排列。前面所介绍的各种基本多级网络都能实现任意一个入端与任意一个出端间的连接,但是要同时实现两对或多对入端与出端之间的连接时,都有可能因争用数据传送路径而发生冲突。我们称具有这类性质的互连网络为阻塞式网络(BlockingNetwork)。反之,不具有这类性质的互连网络为非阻塞式网络,或称为全排列网络。非阻塞式网络连接的灵活性好,但连线多,控制复杂,成本高。阻塞式网络在一次传送中不可能实现N个端的任意排列。大家知道,N个端的全部排列共有N!种。可是,对使用单元控制的n=log2N级组成的间接二进制n方体网络来说,每级有N/2个开关,n级互连网络所用交换开关的总数为(N·log2N)/2。为实现入出端的一对一映射,每个开关只能使用直连和交换两种功能。这样,所有开关处于不同状态的总数最多只有2(N·log2N)/2,即NN/2种。当N为大于2的任何整数时,总有NN/2<N!,这就是说,它无法实现相应的所有N!种排列。以N=8的三级网络为例,共12个两功能交换开关,只有212=4096种不同状态,最多只能控制对端子的4096种排列,不可能实现全部8!=40320种排列。所以,多对入出端要求同时连接时,就有可能发生冲突。然而,只要对这个多级互连网络通行两次,每次通行时,让各开关处于不同状态,就可以满足对N个端子的全部N!种排列。因为此时,全部开关的总状态数可有NN/2·NN/2=NN种,足以满足N!种不同排列的开关状态要求。这种只要经过重新排列已有入出端对的连接,就可以完成所有可能的入出端间的连接而不发生冲突的互连网络,称为可重排列网络(RearrangeableNetwork)。实现时,可以在上述任何一种基本多级互连网络的出端设置锁存器,使数据在时间上顺序通过两次,这实际上就是循环互连网络的实现思路。图6.23多级全排列网络举例(Benes网络)6.3并行存贮器的无冲突访问图6.24一维数组的存贮(m=4)如果设m=n=4,一个4×4的二维数组直接按行存贮,方案如图6.19所示。虽然,同时访问某一行、主对角线或次对角线上的所有元素时,都可以做到无冲突地访问,但要同时访问某一列的各元素时,由于它们集中存放在同一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通设施墙纸更换服务
- 数据中心楼面节能施工协议
- 医院专业助产士招聘合同范本
- 薪酬激励与员工晋升机会
- 水泥制品生产企业地磅管理办法
- 非遗项目拍卖师签约函
- 农业科技项目招投标监管体系
- 企业安全生产安全件管理办法
- 交通运输设备贷款管理办法
- 船舶设计师录用合同模板
- 院前急救护士理论考核参考题及答案
- 2024新人教七年级英语上册 Unit 4 My Favourite Subject(大单元教学设计)
- 四年级数学上册期末复习试卷计算题训练50题和答案解析
- 国家开放大学电大《供应链管理》期末题库及答案
- 10万吨绿色航空煤油项目可行性研究报告写作模板-备案审批
- 《2024年 《法学引注手册》示例》范文
- 光伏车棚施工方案
- 2024年检察院招录书记员考试法律基础知识及答案
- 2024至2030年中国生活用纸机械行业市场深度分析及发展趋势预测报告
- 2021-2022学年内蒙古呼和浩特市高一上学期期末考试英语试题(解析版)
- 12SG121-1 施工图结构设计总说明
评论
0/150
提交评论