阵列处理机幻灯片.ppt
《阵列处理机幻灯片.ppt》由会员分享,可在线阅读,更多相关《阵列处理机幻灯片.ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、阵列处理机第1页,共68页,编辑于2022年,星期三本章重点:本章重点:总的要求是理解阵列处理机的结构和工作原总的要求是理解阵列处理机的结构和工作原理。了解与流水处理机的差别。理解在阵列处理理。了解与流水处理机的差别。理解在阵列处理机解题时对并行算法及存储单元分配规则、互连机解题时对并行算法及存储单元分配规则、互连网络等的特殊要求。熟练掌握基本的单级网络及网络等的特殊要求。熟练掌握基本的单级网络及其互连函数表示。理解循环互连网络的实现。熟其互连函数表示。理解循环互连网络的实现。熟练掌握多级网络、全排列网络的画法。理解解决练掌握多级网络、全排列网络的画法。理解解决并行存储器无冲突访问的办法。并行
2、存储器无冲突访问的办法。互连函数和多级互连网络。互连函数和多级互连网络。本章难点:本章难点:并行算法和多级互连网络。并行算法和多级互连网络。第2页,共68页,编辑于2022年,星期三6.1 6.1 阵列处理机原理阵列处理机原理6.1.1 6.1.1 阵列处理机的基本构形阵列处理机的基本构形 阵列处理机阵列处理机(Array Processor),(Array Processor),也称为并行也称为并行处理机处理机(Parallel Processor)(Parallel Processor)主要用于对大量主要用于对大量向量、数组要求高速运算的场合。向量、数组要求高速运算的场合。阵列处理机是重复
3、设置处理单元按一定方阵列处理机是重复设置处理单元按一定方式连成阵列在单一控制部件控制下对各自分配式连成阵列在单一控制部件控制下对各自分配的数据执行同一指令规定的操作,是操作级并的数据执行同一指令规定的操作,是操作级并行的行的SIMDSIMD的计算机。的计算机。由于存储器的组成方式不同,阵列处理机由于存储器的组成方式不同,阵列处理机有两种不同的基本构形。有两种不同的基本构形。第3页,共68页,编辑于2022年,星期三 1 1、分布式存储器的阵列处理机构形、分布式存储器的阵列处理机构形各各处理单元有局部存储器处理单元有局部存储器PEM(Processing PEM(Processing Eleme
4、nt Memory)Element Memory)存放被分布的数据,只能被存放被分布的数据,只能被本处理单元直接访问。在控制部件本处理单元直接访问。在控制部件CUCU上有一主上有一主存可传播给各个处理单元,运算中可通过互连存可传播给各个处理单元,运算中可通过互连网络网络ICNICN交换数据。交换数据。在执行主存中的用户程序时,所有指令都在执行主存中的用户程序时,所有指令都在控制部件中进行译码,把只适合串行处理的在控制部件中进行译码,把只适合串行处理的标量或控制类指令留给控制部件标量或控制类指令留给控制部件CUCU自己执行,自己执行,而把适合于并行处理的向量类指令而把适合于并行处理的向量类指令“
5、播送播送”给给各个各个PEPE,控制处于,控制处于“活跃活跃”的那些的那些PEPE并行执行。并行执行。下图是采用分布式存储器的阵列处理机构形。下图是采用分布式存储器的阵列处理机构形。第4页,共68页,编辑于2022年,星期三PEM0ICN互连网络互连网络PE0CUCUMPEM1PE1PEMN-1PEN-1I/O接口接口SCD控制控制数据总线数据总线控制总线控制总线控控制制具有分布式存储器的阵列处理机构形具有分布式存储器的阵列处理机构形 第5页,共68页,编辑于2022年,星期三 为了有效高速地处理向量数据,这种构形要为了有效高速地处理向量数据,这种构形要求能把数据合理地预分配到各个处理单元的局
6、求能把数据合理地预分配到各个处理单元的局部存储器中,使各处理单元部存储器中,使各处理单元PEPEi i主要用自己的局主要用自己的局存存PEMPEMi i中的数据运算。中的数据运算。采用这种构形的阵列处理机是采用这种构形的阵列处理机是SIMDSIMD的主流。的主流。典型机器有典型机器有ILLIAC ILLIAC 、MPPMPP、DAPDAP、CM-2CM-2、MP-1MP-1、DAP600DAP600系列等。系列等。2 2、集中式共享存储器的阵列处理机构形、集中式共享存储器的阵列处理机构形 系统存储器由系统存储器由K K个存储体集中组成,并经个存储体集中组成,并经ICNICN为全部为全部N N个
7、处理单元所共享。个处理单元所共享。为使各处理单元对长度为为使各处理单元对长度为N N的向量中各个元的向量中各个元素都能同时并行处理,存储体体数素都能同时并行处理,存储体体数K K应等于或多应等于或多于处理单元数于处理单元数N N。第6页,共68页,编辑于2022年,星期三PEPE0 0ICNICN互连网络互连网络CUCUPEPE1 1PEPEN-1N-1I/O-CHI/O-CHMMMM0 0MMMM1 1MMMMk-1k-1 SC SC I/O I/OSMSM具有集中式共享存储器的阵列处理机构形具有集中式共享存储器的阵列处理机构形 第7页,共68页,编辑于2022年,星期三 各处理单元在访主存
8、时,为避免发生分体冲突,各处理单元在访主存时,为避免发生分体冲突,也要求有合适的算法能将数据合理地分配到各个也要求有合适的算法能将数据合理地分配到各个存储体中。存储体中。互连网络互连网络ICNICN是用于在处理单元与存储器分体是用于在处理单元与存储器分体之间进行转接构成数据通路,使各处理单元能高之间进行转接构成数据通路,使各处理单元能高速灵活地动态与不同的存储体相连,使尽可能多速灵活地动态与不同的存储体相连,使尽可能多的的PEPE能无冲突地访问共享的主存模块。能无冲突地访问共享的主存模块。集中式共享存储器的阵列处理机主要特点是集中式共享存储器的阵列处理机主要特点是将资源重复和时间重复结合起来开
9、发并行性。将资源重复和时间重复结合起来开发并行性。采用这种构形的典型机器有采用这种构形的典型机器有BSPBSP。第8页,共68页,编辑于2022年,星期三6.1.2 6.1.2 阵列处理机的特点阵列处理机的特点1 1、利用资源重复而不是时间重叠;利用并行性中的同、利用资源重复而不是时间重叠;利用并行性中的同 时性而不是并发性。时性而不是并发性。2 2、资源利用率不如流水线高,但提高速度的潜资源利用率不如流水线高,但提高速度的潜力比流水线处理机大。力比流水线处理机大。(阵列处理机主要是(阵列处理机主要是靠增大处理单元数提高速度,向量流水处理靠增大处理单元数提高速度,向量流水处理机主要靠缩短时钟周
10、期提高速度)。机主要靠缩短时钟周期提高速度)。3 3、阵列处理机阵列处理机使用简单规整的互连网络来确定处使用简单规整的互连网络来确定处 理单元间的连接,因此,互连网络设计很重要。理单元间的连接,因此,互连网络设计很重要。4 4、它是以某类算法为背景的专用计算机,基本上、它是以某类算法为背景的专用计算机,基本上 是专用于向量处理的计算机是专用于向量处理的计算机(某类算法专用机某类算法专用机),故阵列处理机专用性强。故阵列处理机专用性强。第9页,共68页,编辑于2022年,星期三5 5、阵列机的研究必须与并行算法研究密切结合,阵列机的研究必须与并行算法研究密切结合,以使它的求解算法适应性更强一些,
11、应用面以使它的求解算法适应性更强一些,应用面更广一些更广一些(与并行算法结合研究与并行算法结合研究)。阵列处理机实质阵列处理机实质上是由专门对付数组上是由专门对付数组运算的处理单元阵列组成的运算的处理单元阵列组成的处理机处理机、专门从、专门从事处理单元阵列的控制及标量处理的事处理单元阵列的控制及标量处理的处理机处理机和专门从事系统输入输出及操作系统管理和专门从事系统输入输出及操作系统管理的的处理机处理机组成的一个异构型多处理机系统。组成的一个异构型多处理机系统。第10页,共68页,编辑于2022年,星期三6.2 6.2 阵列处理机的并行算法阵列处理机的并行算法6.2.1 ILLIAC 6.2.
12、1 ILLIAC 的处理单元阵列结构的处理单元阵列结构 ILLIAC IVILLIAC IV处理阵列由处理阵列由8 8 8 86464个个PUPU组成。组成。每个每个PUPU由处理部件由处理部件PEPE和它的局部存储器和它的局部存储器PEMPEM组组成。成。每一个每一个PUPUi i只和它的上、下、左、右四个只和它的上、下、左、右四个近邻直接连接。近邻直接连接。PUPUi+1i+1 mod 64 mod 64、PUPUi-1i-1 mod 64 mod 64、PUPUi+8i+8 mod 64 mod 64、PUPUi-8i-8 mod 64 mod 64 上下方向上同一列的上下方向上同一列的
13、PUPU连成一个环,左右连成一个环,左右方向上构成一个闭合螺线。方向上构成一个闭合螺线。第11页,共68页,编辑于2022年,星期三第12页,共68页,编辑于2022年,星期三采用闭合螺线最短距离不超过采用闭合螺线最短距离不超过7 7步。而普通网格步。而普通网格最短距离不超过最短距离不超过8 8步。步。这种阵列中,任意两个单这种阵列中,任意两个单元之间的最短距离不超过元之间的最短距离不超过 步。步。例如:例如:从从PUPU0 0到到PUPU3636的距离:采用普通网格必须的距离:采用普通网格必须8 8步:步:PUPU0 0 PUPU1 1 PU PU2 2 PU PU3 3 PU PU4 4
14、PU PU1212 PU PU2020 PU PU2828 PU PU3636或或 PUPU0 0 PU PU8 8 PU PU1616 PU PU2424 PU PU3232 PUPU3333 PU PU3434 PU PU3535 PU PU3636或或 (等于(等于8 8步的很多,大于步的很多,大于8 8步的更多)步的更多)如果采用闭合螺旋线,只需要如果采用闭合螺旋线,只需要7 7步:步:PUPU0 0 PU PU63 63 PU PU62 62 PU PU61 61 PU PU60 60 PU PU52 52 PU PU44 44 PU PU3636第13页,共68页,编辑于2022年
15、,星期三普通网格必须普通网格必须8 8步:步:PUPU0 0 PU PU1 1 PU PU2 2 PU PU3 3 PU PU4 4 PU PU12 12 PUPU20 20 PU PU28 28 PU PU3636或或 PUPU0 0 PU PU8 8 PU PU16 16 PU PU24 24 PU PU32 32 PU PU33 33 PU PU34 34 PU PU35 35 PU PU3636或或 闭合螺旋线只要闭合螺旋线只要7 7步:步:PUPU0 0 PU PU63 63 PU PU62 62 PU PU61 61 PU PU60 60 PU PU52 52 PU PU44 44
16、 PU PU3636或或 PUPU0 0 PU PU63 63 PU PU55 55 PU PU47 47 PU PU39 39 PU PU38 38 PU PU37 37 PU PU3636或或 第14页,共68页,编辑于2022年,星期三P P180180习题习题6.16.1 解解 如图:如图:第15页,共68页,编辑于2022年,星期三 与与PU0PU0相连的处理单元有:相连的处理单元有:PU1PU1、PU12PU12、PU15PU15、PU4PU4 与与PU1PU1、PU12PU12、PU15PU15、PU4PU4相连的有相连的有PU2PU2、PU3PU3、PU5PU5、PU13PU1
17、3、PU8PU8、PU11PU11、PU14PU14(删去一步单元)(删去一步单元)与与PU2PU2、PU5PU5、PU13PU13、PU8PU8、PU11PU11、PU14PU14相连的有:相连的有:PU6PU6、PU7PU7、PU9PU9、PU10PU10(删去一、二步单元)(删去一、二步单元)PE0PE0经一步可将信息传送至经一步可将信息传送至PU1PU1、PU4PU4、PU12PU12、PU15PU15。PE0PE0至少需经二步才能将信息传送至至少需经二步才能将信息传送至PU2PU2、PU3PU3、PU5PU5、PU8PU8、PU11PU11、PU13PU13、PU14PU14。PE0
18、PE0至少需经三步步才能将信息传送至至少需经三步步才能将信息传送至PU6PU6、PU7PU7、PU9PU9、PU10PU10。第16页,共68页,编辑于2022年,星期三6.2.2 6.2.2 阵列处理机的并行算法举例阵列处理机的并行算法举例1 1、矩阵加、矩阵加 把把C=A+BC=A+B中的属于同一位置向量元素放在同一局部中的属于同一位置向量元素放在同一局部存储器中。存储器中。两个两个8 8 8 8的矩阵的矩阵A A、B B相加,所得结果相加,所得结果C C也是也是8 8 8 8矩阵,矩阵相加的存储器分配如下图所示矩阵,矩阵相加的存储器分配如下图所示(“(“全并全并行行”的工作特点,速度提高
19、,但存储单元分配算法的设的工作特点,速度提高,但存储单元分配算法的设计比较麻烦计比较麻烦)。C(0,1)C(0,1)B(0,1)B(0,1)A(0,1)A(0,1)C(7,7)C(7,7)B(7,7)B(7,7)A(7,7)A(7,7)C(0,0C(0,0)B(0,0B(0,0)A(0,0A(0,0)PEMPEM0 0PEMPEM6363PEMPEM1 1矩阵相加的存储器分配举例矩阵相加的存储器分配举例第17页,共68页,编辑于2022年,星期三2 2、矩阵乘、矩阵乘 把把C=A*BC=A*B的各向量按列存放在一个局部存储器中。的各向量按列存放在一个局部存储器中。设设A A、B B和和C C为
20、为3 3个个8 8 88的二维矩阵,给定的二维矩阵,给定A A和和B B,计算,计算C=A*BC=A*B得得6464个分量可用公式:个分量可用公式:其中其中0 i 70 i 7且且 0 j 70 j 7。在在SISDSISD计算机上求解,用计算机上求解,用FORTRANFORTRAN语言编写程序为:语言编写程序为:DO 10 I=0,7DO 10 I=0,7 DO 10 J=0,7 DO 10 J=0,7 C(I,J)=0 C(I,J)=0 DO 10 K=0,7 DO 10 K=0,7 10 C(I,J)=C(I,J)+A(I,K)*B(K,J)10 C(I,J)=C(I,J)+A(I,K)
21、*B(K,J)第18页,共68页,编辑于2022年,星期三 需经需经I I、J J、K K三重循环完成。每重循环执行三重循环完成。每重循环执行8 8次,共需次,共需512512次相乘、加得时间,且每次还要包次相乘、加得时间,且每次还要包括执行循环控制判别等其它操作所需得时间。括执行循环控制判别等其它操作所需得时间。如果在如果在SIMDSIMD阵列机上运算,可用阵列机上运算,可用8 8个处理单个处理单元并行计算矩阵元并行计算矩阵C(I,J)C(I,J)得某一行或某一列,即将得某一行或某一列,即将J J循环或循环或I I循环转化成一维的向量处理,从而消去循环转化成一维的向量处理,从而消去了一重循环
22、。以消去了一重循环。以消去J J循环为例,可执行的循环为例,可执行的 FORTRANFORTRAN语言编写的程序为:语言编写的程序为:DO 10 I=0,7DO 10 I=0,7 C(I,J)=0 C(I,J)=0 DO 10 K=0,7 DO 10 K=0,7 10 C(I,J)=C(I,J)+A(I,K)*B(K,J)10 C(I,J)=C(I,J)+A(I,K)*B(K,J)第19页,共68页,编辑于2022年,星期三 让让J=07J=07各部分同时在各部分同时在PEPE0 0PEPE7 7上运算,这上运算,这样只需样只需K K、J J二重循环,速度可提高至二重循环,速度可提高至8 8倍
23、,即倍,即只需只需6464次乘、加的时间。次乘、加的时间。(164164页图页图6.56.5)每次控制部件执行的每次控制部件执行的PEPE指令表面上是标量指令表面上是标量指令,实际上已等效于向量指令,是指令,实际上已等效于向量指令,是8 8个个PEPE并并行地执行同一条指令。每次播送时,利用阵列行地执行同一条指令。每次播送时,利用阵列处理机的播送功能将处理单元处理机的播送功能将处理单元PEPEK K中累加寄存器中累加寄存器RAGRAGK K的内容经控制部件的内容经控制部件CUCU播送到全部播送到全部8 8个处理单个处理单元的元的RGARGA中去。中去。为了让各个处理单元为了让各个处理单元PEP
24、Ei i尽可能只访问所带尽可能只访问所带局部存储器局部存储器PEMPEMi i,以保证高速处理,就必须要,以保证高速处理,就必须要求对矩阵求对矩阵A A、B B、C C各分量在局部存储器中的分各分量在局部存储器中的分布采用布采用165165页如图页如图6.66.6所示的方案。所示的方案。第20页,共68页,编辑于2022年,星期三3 3、累加和、累加和 把向量存到所有处理单元的局部存储器中。把向量存到所有处理单元的局部存储器中。将将N N个数的顺序相加转为并行相加的问题。个数的顺序相加转为并行相加的问题。取取N=8N=8,即有,即有8 8个数个数A(I)A(I)顺序累加,其中顺序累加,其中 0
25、I70I7。在在SISDSISD计算机上可以写成计算机上可以写成FORTRANFORTRAN程序:程序:C=0C=0 DO 10 I=0,7 DO 10 I=0,7 10 C=C+A(I)10 C=C+A(I)这是一个串行程序,需要这是一个串行程序,需要8 8次加法时间。次加法时间。第21页,共68页,编辑于2022年,星期三在阵列处理机上用成对递归相加算法,只需在阵列处理机上用成对递归相加算法,只需 次加法时间即可。首先,原始数据次加法时间即可。首先,原始数据A(I)A(I)分别存放在分别存放在8 8个个PEMPEM的的 单元中,其中单元中,其中0I70I7,求累加和的步骤如下:,求累加和的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阵列 处理机 幻灯片
限制150内