第6章阵列处理机.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第6章阵列处理机.ppt》由会员分享,可在线阅读,更多相关《第6章阵列处理机.ppt(112页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 6 章 并行处理机和相联处理机 第第6章章 阵列处理机阵列处理机 6.1 阵列处理机的原理阵列处理机的原理 6.2 SIMD计算机的互连网络计算机的互连网络 6.3 共享主存构形阵列处理机中并行存储器的无冲突访问共享主存构形阵列处理机中并行存储器的无冲突访问 6.4 脉动阵列处理机脉动阵列处理机 第 6 章 并行处理机和相联处理机 6.1 并行处理机原理并行处理机原理 6.1.16.1.1阵列处理机的构形和特点阵列处理机的构形和特点 1.1.阵列处理机的构形阵列处理机的构形 阵列处理机有两种构形,差别主要在于存储器的组成方式和互连网络的作用不同。图6-1是采用分布式存储器的阵列处理机构形。
2、第 6 章 并行处理机和相联处理机 图6-1具有分布式存储器的阵列处理机构形第 6 章 并行处理机和相联处理机 为了高速有效地处理向量数据,这种构形要求能把数据合理地预分配到各个处理单元的局部存储器中,使各处理单元PEi主要用自己的局存PEMi中的数据运算。分布于各PEM的数据,可以经系统数据总线从外部输入,也可以用控制总线经控制部件播送。在执行向量指令时,可使用屏蔽位向量控制,让某些PE不工作(不活跃)。运算中,PE间可通过互连网络(InterconnectionNetwork,ICN)来交换数据。互连网络的连通路径选择也由控制部件统一控制。第 6 章 并行处理机和相联处理机 处理单元阵列通
3、过控制部件接到管理处理机SC上。管理处理机是一种通用机,用于管理系统资源,完成系统维护、输入/输出、用户程序的汇编及向量化编译、作业调度、存储分配、设备管理、文件管理等操作的功能。因此包括处理单元阵列、互连网络和控制部件在内的阵列处理部分,可以看成是系统的后端处理机。采用这种构形的阵列处理机是SIMD的主流。典型机器有ILLIAC、MPP、DAP、CM-2、MP-1、DAP600系列等。第 6 章 并行处理机和相联处理机 图6-2是采用集中式共享存储器的阵列处理机构形。系统存储器是由K个存储分体(MM0MMK-1)集中组成,经互连网络ICN为全部N个处理单元(PE0PEN-1)所共享。为使各处
4、理单元对长度为N的向量中各个元素都能同时并行处理,存储分体个数K应等于或多于处理单元数N。各处理单元在访主存时,为避免发生分体冲突,也要求有合适的算法能将数据合理地分配到各个存储分体中。第 6 章 并行处理机和相联处理机 图6-2具有集中式共享存储器的阵列处理机构形第 6 章 并行处理机和相联处理机 与分布式存储器构形不同的另一个地方是互连网络ICN的作用不同。其互连网络是用于在处理单元与存储器分体之间进行转接构成数据通路,希望各处理单元能高速灵活地动态与不同的存储分体相连,使尽可能多的PE能无冲突地访问共享的主存模块。因此有的阵列处理机称它为对准网络(AlignmentNetwork)。采用
5、这种构形的典型机器有BSP。第 6 章 并行处理机和相联处理机 2.并行处理机的特点并行处理机的特点并行处理机的单指令流多数据流处理方式和由它产生的特殊结构是以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景发展起来的。这些计算问题的共同特点是可以通过各种途径把它们转化成为对数组或向量的处理,而并行处理机正好利用多个处理单元对向量或数组所包含的各个分量同时计算,从而获得很高的处理速度。与同样擅长于向量处理的流水线处理机相比,并行处理机利用的是资源重复,而不是时间重叠;利用并行性中的同时性,而不是并发性。它的每个处理单元要同等地担负起各种运算功能,但其设备利用率却可能没有多个单功能流
6、水线部件那样高。因此,只有在硬件价格有了大幅度下降及系统结构有了较大改进的情况下,并行处理机才能具有较好的性能价格比。并行理机主要是靠增大处理单元个数来提高运算速度,比起向量流水线处理机主要依靠缩短时钟周期来说,速度提高的潜力要大得多。第 6 章 并行处理机和相联处理机 与流水线处理机不同的另一方面是阵列处理机使用简单规整的互连网络来确定处理单元间的连接。互连网络的结构形式限定了阵列处理机可用的解题算法,也会对系统多种性能指标产生显著影响,因此,互连网络的设计是重点。阵列处理机在机间互连上比固定结构的单功能流水线灵活,使相当一部分专门问题上的工作性能比流水线处理机高得多,专用性强得多。如果习惯
7、上把流水线处理机归属于通用计算机的话,阵列处理机则被看成是一种专用计算机,它是以一定数量的专门算法为背景的。另一方面,由于总希望阵列处理机解题算法的适应性更强一些,应用面更广一些,因此,与流水线处理机不同,阵列处理机的结构是和采用的并行算法紧密联系在一起的。第 6 章 并行处理机和相联处理机 如上所述,阵列处理机基本上是一台专用于向量处理的计算机,但并不是所有的运算都可以转化为向量运算,总有不少标量运算。作为整个系统的等效速度来讲,除向量运算速度外,在很大程度上还受标量运算速度和编译开销的大小所影响。如果一台机器的向量处理速度极高,甚至不受限制,而标量速度只是每秒一亿次浮点运算,那么对于标量运
8、算占10%的题目来讲,系统总的等效速度最多也不会超过每秒十亿次浮点运算。所以,提高标量的处理能力是很重要的,这就要求阵列处理机系统的控制部件必须是一台具有高性能、强功能的标量处理机,减少标量运算对系统性能的影响。第 6 章 并行处理机和相联处理机 至于编译时间的多少,则不仅与阵列机结构有关,也与机器语言的并行性程度有关,特别是想要提高阵列处理机的通用性,建立一个有向量化功能的高级语言编译程序就是非常必要的了。正因为如此,阵列处理机还必须用一台高性能单处理机作为管理计算机来配合工作,运行系统的全部管理程序。所以,阵列处理机实质上是由专门对付数组运算的处理单元阵列组成的处理机、专门从事处理单元阵列
9、的控制及标量处理的处理机和专门从事系统输入/输出及操作系统管理的处理机组成的一个异构型多处理机系统。第 6 章 并行处理机和相联处理机 6.1.2ILLIAC的处理单元阵列结构的处理单元阵列结构由于阵列处理机上的并行算法的研究是与结构紧密联系在一起的,因此,下面先介绍一下ILLIAC阵列机上处理单元的互连结构。ILLIAC是采用如图6-1所示的分布存储器构形,其处理单元阵列结构如图6-3所示。其中,PUi为处理部件,包含64位的算术处理单元PEi、所带的局部存储器PEMi和存储逻辑部件MLU。64个处理部件PU0PU63排列成88的方阵,任何一个PUi只与其上、下、左、右4个近邻PUi-8(m
10、od64)、PUi+8(mod64)、PUi-1(mod64)和PUi+1(mod64)直接相连。第 6 章 并行处理机和相联处理机 上下同一列两端的PU连成环,左右每一行右端的PU与下一行左端的PU相连,最下面一行右端的PU与最上面一行左端的PU相连,从而形成一个闭合的螺线形状,所以称其为闭合螺线阵列。在这个阵列中,步距不等于1或8的任意单元之间可以用软件寻找最短路径进行通信,其最短距离不超过7步。例如,信息由PU63送PU10,可经PU63PU7PU8PU9PU104步实现,信息由PU9送PU45可经 PU9PU1PU57PU56PU48PU47PU46PU457步 实现。普遍来讲,个处理
11、单元组成的阵列中,任意两个处理单元之间的最短距离不超过步。第 6 章 并行处理机和相联处理机 图6-3ILLIAC处理单元的互连结构第 6 章 并行处理机和相联处理机 ILLIAC的处理单元是累加器型运算器,把累加寄存器RGA中的数据和存储器中来的数据进行运算,结果保留在累加寄存器RGA中。每个处理单元内有一个数据传送寄存器RGR收发数据,实现数据在处理单元之间的传送,并有一个屏蔽触发器,用来控制让该PUi是否被屏蔽掉,使之不参与向量指令的操作。第 6 章 并行处理机和相联处理机 6.1.3ILLIAC的并行算法举例的并行算法举例1.矩阵加矩阵加阵列处理机解决矩阵加是最简单的一维情况。两个88
12、的矩阵A、B相加,所得的结果矩阵C也是一个88的矩阵。只需把A、B、C居于相应位置的分量存放在同一个PEM内,且在全部64个PEM中,让A、B和C的各分量地址均对应取相同的地址、+1和+2,如图6-4所示。这样,实现矩阵加只需用下列三条ILLIAC汇编指令:第 6 章 并行处理机和相联处理机 LDAALPHA;全部()由PEMi送PEi的累加器RGAiADRNALPHA+1;全部(+1)与(RGAi)浮点加,结果送RGAiSTAALPHA+2;全部(RGAi)由PEi送PEMi的+2单元其中,0i63。第 6 章 并行处理机和相联处理机 图6-4矩阵相加的存储器分配举例第 6 章 并行处理机和
13、相联处理机 2.矩阵乘矩阵乘矩阵乘是二维数组运算,比矩阵加要复杂。设A、B和C为3个88的二维矩阵,给定A和B,计算C=AB的64个分量可用公式其中,0i7且0j7。第 6 章 并行处理机和相联处理机 在SISD计算机上求解,可执行FORTRAN语言编写的下列程序:DO10I=0,7DO10J=0,7C(I,J)=0DO10K=0,710C(I,J)=C(I,J)+A(I,K)*B(K,J)第 6 章 并行处理机和相联处理机 需经I、J、K三重循环完成。每重循环执行8次,共需512次乘、加的时间,且每次还要包括执行循环控制判别等其它操作所需的时间。如果在SIMD阵列处理机上运算,可用8个处理单
14、元并行计算矩阵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 章 并行处理机和相联处理机 图6-5矩阵乘程序执行流程图第 6 章 并行处理机和相联处理机 需要说明的是其执行过程虽与SISD的类似,但实际的解决方式是不同的。每次控制部件执行的PE类指令表面上是标量指令,实际上已等效于向量指令,如向量取、向量存、向量加、向量乘等,是8个PE并行地执行同一条指令。每次播送时,利用阵列处
15、理机的播送功能将处理单元PEK中累加寄存器RGAK的内容经控制部件(CU)播送到全部8个处理单元的RGA中去。然而为了让各个处理单元PEi尽可能只访问所带局部存储器PEMi,以保证高速处理,就必须要求对矩阵A、B、C各分量在局部存储器中的分布采用如图6-6所示的方案。第 6 章 并行处理机和相联处理机 图6-6矩阵乘的存储器分配举例第 6 章 并行处理机和相联处理机 如果想把ILLIAC的64个处理单元全部利用起来并行运算,即把K循环的运算也改为并行,还可进一步提高速度,但需要在阵列存储器中重新恰当地分配数据。同时还要使8个中间积A(I,K)B(K,J)能够并行相加(其中0K7),这就要用到下
16、面的累加和并行算法。即使如此,就K的并行来说,速度的提高也不是8倍,而只是8/log28,接近于2.7倍。第 6 章 并行处理机和相联处理机 3.3.累加和累加和这是一个将N个数的顺序相加转为并行相加的问题。为得到各项累加的部分和与最后的总和,要用到处理单元中的活跃标志位。只有处于活跃状态的处理单元才能执行相应的操作。为叙述方便取N=8,即有8个数A(I)顺序累加,其中0I7。在SISD计算机上可以写成下列FORTRAN程序:C=0DO10I=0,710 C=C+A(I)这是一个串行程序,需要8次加法时间。第 6 章 并行处理机和相联处理机 在阵列处理机上用成对递归相加算法,只需log28=3
17、次加法时间即可。首先,原始数据A(I)分别存放在8个PEM的单元中,其中,0I7。然后,按下面的步骤求累加和:(1)置全部PEi为活跃状态,0i7;(2)全部A(I)从PEMi的单元读到相应PEi的累加寄存器RGAi中,0i7;(3)令K=0;(4)将全部PEi的(RGAi)转送到传送寄存器RGRi,0i7;第 6 章 并行处理机和相联处理机(5)将全部PEi的(RGRi)经过互连网络向右传送2K步距,0i7;(6)令j=2K-1;(7)置PE0PEj为不活跃状态;(8)处于活跃状态的所有PEi执行(RGAi):=(RGAi)+(RGRi),ji7;(9)K:=K+1;(10)如K3,则转回(
18、4),否则往下继续执行;(11)置全部PEi为活跃状态,0i7;(12)将全部PEi的累加寄存器内容(RGAi)存入相应PEMi的+1单元中,0i7。第 6 章 并行处理机和相联处理机 图6-7描绘了阵列处理机上累加和的计算过程。框中的数字表明各处理单元每次循环后相加的结果。图中用数字07分别代表A(0)A(7)。画有阴影线的处理单元表示此时不活跃。另外,图中对上述第(5)步中PE的(RGRi)在右移时超出PE7的内容没有表示出来,这是因为若右移步距为2K(mod8),应移入PE0PEj,而这些PE在第(7)步将要置为不活跃,所以无论它的RGR接收什么内容都不会对执行结果有影响。第 6 章 并
19、行处理机和相联处理机 图6-7阵列处理机上累加和的计算过程第 6 章 并行处理机和相联处理机 6.2SIMD计算机的互连网络计算机的互连网络 6.2.16.2.1互连网络的设计目标与互连函数互连网络的设计目标与互连函数在SIMD计算机中,无论是处理单元之间,还是处理单元与存储分体之间,都要通过互连网络进行信息交换。在大规模集成电路和微处理器飞速发展的今天,建造多达214216个处理单元的阵列处理机已成为现实,但如果要求任意两个处理单元之间都有直接的通路,则互连网络的连线将多得无法实现。因此,采取让相邻的处理单元之间只有有限的几种直连方式,经过一步或少量几步传送即可实现任何两个处理单元间为完成解
20、题算法所需的信息传送。第 6 章 并行处理机和相联处理机 SIMD系统的互连网络的设计目标是:结构不要过分复杂,以降低成本;互连要灵活,以满足算法和应用的需要;处理单元间信息交换所需传送步数要尽可能少,以提高速度性能;能用规整单一的基本构件组合而成,或者经多次通过或者经多级连接来实现复杂的互连,使模块性好,以便于用VLSI实现并满足系统的可扩充性。第 6 章 并行处理机和相联处理机 为反映互连特性,每种互连网络可用一组互连函数定义。如果把互连网络的N个入端和N个出端(N=2n)各自用0、1、N-1的整数编号代表,则互连函数就是表示互连网络的出端号和入端号的一一对应关系。定义互连网络的互连函数为
21、对于所有的入端0、1、j、N-1,同时存在入端j连至出端f(j)的函数对应关系。在实现处理单元间的互连时,互连网络的入端和出端实际上是同一组处理单元的出端和入端,对互连网络来说,就是同一个结点。互连函数可以直接用结点间的连线图表示,但有时显得繁琐,也难以体现出连接上的内在规律。因此,常用另一种简单的函数式表示,即把所有入端x和出端f(x)都用二进制编码,从两者的二进制编码上找出其函数规律。下面将看到这种表示的例子。第 6 章 并行处理机和相联处理机 6.2.26.2.2互连网络应抉择的几个问题互连网络应抉择的几个问题在确定PE之间通信的互连网络时,需要对操作方式、控制策略、交换方法和网络的拓扑
22、结构作出抉择。操作方式有同步、异步及同步与异步组合三种。现有的阵列处理机根据其SIMD性质均采用同步操作方式,让所有PE按时钟同步操作。异步或组合操作方式一般多用于多处理机。典型的互连网络是由许多开关单元和互连线路组成的,互连通路的路径选择是通过置定开关单元的工作状态来控制的,这种置定可以有集中或分布两种控制策略。多数现有的SIMD互连网络采用由集中控制部件对全部开关单元执行集中控制的策略。第 6 章 并行处理机和相联处理机 交换方法主要有线路交换、包交换及线路与包交换组合三种。线路交换是在源和目的间建立实际的连接通路,一般适合于大批数据传输。包交换是将数据置于包内传送,不用建立实际的连接通路
23、,对短数据信息传送特别有效。SIMD互连网络多采用硬连的线路交换,包交换则多用于多处理机和计算机网络中。第 6 章 并行处理机和相联处理机 网络的拓扑结构指的是互连网络入、出端可以连接的模式,有静态和动态两种。在静态拓扑结构中,两个PE之间的链是固定的,总线不能重新配置成与其他PE相连。而动态拓扑结构中,两个PE之间的链通过置定网络的开关单元状态可以重新配置。静态拓扑有一维的线型,二维的环型、星型、树型、胖树型、网络型、脉动阵列型,三维的弦环型、立方体型、环立方体型,以及其他复杂的连接形式。由于静态网络灵活性、适应性差,很少使用,因此只讨论动态网络。第 6 章 并行处理机和相联处理机 动态网络
24、有单级和多级两类。动态单级网络只有有限的几种连接,必须经循环多次通过,才能实现任意两个处理单元之间的信息传送,故称此动态单级网络为循环网络。动态多级网络是由多个单级网络串联组成的,以实现任意两个处理单元之间的连接。将多级互连网络循环使用可实现复杂的互连,称循环多级网络或多级循环网络。循环互连网络的模型如图6-8所示。入端传送寄存器DTRi和出端传送寄存器DTRo除了各自与处理单元PE0PEN-1相连分别接收和送出数据外,在不同的循环中还可以通过多路开关MUX向单级互连网络送入DTRi数据,或送入在上一循环中DTRo从单级互连网络接收的数据,经单级互连网络转送再送回各自有关的DTRo,作为下一次
25、循环的输入。循环互连网络比多级互连网络节省设备,但通过时间长,并对网络控制要求较高。第 6 章 并行处理机和相联处理机 图6-8循环互连网络的模型第 6 章 并行处理机和相联处理机 6.2.3基本的单级互连网络基本的单级互连网络1.立方体单级网络立方体单级网络立方体单级网络(Cube)的名称来源于图6-9所示的三维立方体结构。立方体的每个顶点(网络的结点)代表一个处理单元,共有8个处理单元,用zyx三位二进制码编号。它所能实现的入、出端连接如同立方体各顶点间能实现的互连一样,即每个处理单元只能直接连到其二进制编号的某一位取反的其他3个处理单元上。如010只能连到000、011、110,不能直接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阵列 处理机
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内