阵列处理机和相联处理机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上述求累加和算法虽然使计算次数减少,但是速度的提高的倍 数只是N/ Log2 N,速度并没有提高多少。 二、递归折叠求和
用递归折叠方法来求累加和过程如下图所示。 PE 值
0 A0 1 A1 2 A2 A2+A3
步1
A0+A1
步2
A0+A1+A2+A3
步4
A0+A1+A2+A3+ A4+A5+A6+A7
多级立方体网络拓扑结构图的画法 多级混洗交换网络拓扑结构图的画法 并行存储器的无冲突访问
第 6 章 阵列处理机
6.1 阵列处理机的原理
6.1.1 阵列处理机的构形与特点
1.阵列处理机的构形
阵列机通常由一个控制部件CU、N个处理器单元PE、M个 存储模块以及一个互连网络部件(IN)组成。
第 6 章 阵列处理机
第 6 章 阵列处理机和相联处理机
6.1 阵列处理机的原理 6.2 SIMD计算机的互连网络 6.3 并行存储器的无冲突访问
6.4 脉动阵列处理机
第 6 章 阵列处理机
本章要点
阵列处理机的构型及特点 基本的单级互联网络结构图及互联函数
两功能交换开关及四功能交换开关
3 A3
4 A4 5 A5 A4+A5 A4+A5+A6+A7
6 A6
7 A7
A6+A7
长度为N的递归计算 时间正比于Log2 N 8个PE的递归折叠求和
第 6 章 阵列处理机
例:A和B都是元素为浮点表示的64×64的二维数组,一次浮点 加法的计算过程由取数、求阶差、对阶、尾数加、规格化和存 数共6个段组成。若每个段的执行时间均为Δt,请分别求出在下 列结构不同的处理机上完成C=A+B所需时间及相对于顺序处理 的加速比。 (1)顺序处理方式的处理机 (2)具有浮点加法流水线的流水处理机,且浮点加法流水线分为6 个段,各段执行时间均为Δt。 (3)8×8的阵列处理机,且处理阵列上的每个处理器只能顺序处 理浮点加运算。 (4)8×8的阵列处理机,且处理阵列上的每个处理器均能流水处 理浮点加运算。 (4)64×64的阵列处理机。
根据存储器模块是以分布式方式存取还是集中方式存取,
阵列机可分为两种基本结构:分布式存储器的阵列机和共享存 储器的阵列机。
第 6 章 阵列处理机
(1)分布式存储器的阵列机 各个处理单元设有局部存储器存放分布式数据,只能被本 处理单元直接访问。在控制部件CU内设有一个用来存放程序和 数据的主存储器CUM。各个PE同步执行来自CU的操作命令, 各处理单元通过IN来交换数据。
这里0≤ i ≤63
第 6 章 阵列处理机
矩阵加存储器分举例
a a+1 a+2
A(0,0) B(0,0) C(0,0)
A(0,1) B(0,1) C(0,1)
A(7,7) B(7,7) C(7,7)
PEM0
PEM1
PEM63
处理速度为顺序处理的64倍
第 6 章 阵列处理机
二. 矩阵乘
a0,0 a1,0 …… a7,0 a0,1 a1,1 … … a0,7 a1,7 b0,0 b1,0 b7,0 b0,1 … b1,1 … …… b7,1 … b0,7 b1,7 b7,7
如果顺序执行C=A×B,那么,计算每个元素cij需要做8次 乘法,7次加法,共需做15次乘/加运算。 在ILLIAC IV的处理机上,操作数B的64个元素存储在64个 PEM中。当每次计算元素cij时,就把操作数A的8个元素 aik(0<=k<=7)播送到相应的8个PE中,然后并行地一次完成8个 中间积的运算。最后对8个中间积做7次加法,累加得到cij 。
A0+A1+A2 A0+A1+A2+A3 A1+A2+A3+A4 A2+A3+A4+A5
PE6
PE7
A6
A7
A5+A6
A6+A7
A3+A4+A5+A6
A4+A5+A6+A7
A0+A1+A2+A3+A4+A5+A6
A0+A1+A2+A3+A4+A5+A6+A7
步距1
步距2
步距4
第 6 章 阵列处理机
A(0,7) ... A(1,7) A(7,7) B(0,7) B(1,7) ... B(7,7) C(0,7) C(1,7) ...
...
C(7,0)
C(7,1)
C(7,7)
PE0
PEM2
PEM7
八个局部存储器PEM i,每个连续存放A,B和结果向量C的一列元素
第 6 章 阵列处理机
三、累加和 (成对递归) 这是一个将N个数的顺序相加过程转变为并行相加过程的问题。 设N为8,即有8个数A(I)顺序累加,其中0≦I ≦ 7。 在SISD计算机上可写成下列程序: C=0 DO 10 I=0,7 10 C=C+A(I)
(3)提高运算速度主要是靠增大处理单元个数,比起向量流水
线处理机主要依靠缩短时钟周期来说,速度提高的潜力要大得多 (4)使用简单而又规整的互连网络来确定多个处理单元之间的 连接模式。 (5) 并行处理机(阵列机)研究必须与并行算法研究密切结合
,使之适应性更强,应用面更广。
第 6 章 阵列处理机
6.1.2 ILLIAC-IV处理单元阵列结构 •处理单元阵列由64个PUi构成,每个PUi包括(PEi、PEMi和MLU) 由64个结构完全相同的处理单元PEi 构成,每个处理单元 PEi字长64位,PEMi为隶属于PEi的局部存储器,全部PEi由CU 统一管理,PEi都有一根方式位线,用来向CU传送每个PEi的方 式寄存器D中的方式位,使CU能了解各PEi的状态是否活动,作 为控制它们工作的依据。
意两个处理单元之间的最短距离不会超过
N 1 步
(4)处理单元为通常的累加型运算器,把累加寄存器RGA 中的数据和存储器来的数据进行运算操作,数据传送寄存器 RGR收发数据,实现数据在处理单元之间的传送。
第 6 章 阵列处理机
6.Байду номын сангаас.3 ILLIAC Ⅳ的并行算法举例
一. 矩阵加 矩阵加(配比加)是最简单的情况。假定两个8*8的矩阵 A、B相加,所得结果矩阵C也是一个8*8的矩阵 。设A、B 的分量元素分别存在PEM i的Z,Z+1单元中,所得结果矩阵C 各分量存在PEM i 的Z+2单元中 用下面三条指令可一次完成(64个处理单元并行) LDA Z;全部(Z)由PEMi送到PE的累加器RGAi ADRN Z+1;全部(Z+1)与(RGAi)进行浮点加,结果 送RGAi STA Z+2;全部(RGAi)由PE送到PEMi的(Z+2)单元
ILLIAC Ⅳ的组成
第 6 章 阵列处理机 PU56 PU63 PU0 PU57 PU1 PU58 PU7 PU8
PU7
PU8
PU9
PU15
PU16
PU55
PU56
PU0
PU57
PU1
PU63
PU7
PU0
ILLIAC-IV的处理单元互连结构
第 6 章 阵列处理机
特点:
(1)闭合螺线阵列
(2)任意单元的最短距离不超过7步 将PU63传送到PU10,最快可经 PU63→PU7→PU8→PU9→PU10。 (3)一般来讲:N N N 个处理单元组成的阵列中,任
用成对递归算法求累加和的步骤: 1.置全部PEi为活跃状态, 0≦i ≦ 7。 2.全部A(i)从PEMi的a单元读到相应PEi的累加寄存器RGAi中, 0≦i ≦ 7; 3.令k=0; 4.将全部PEi的(RGAi)传送到寄存器RGRi,0≦i ≦ 7; 5.将全部PEi的(RGRi)经过互连网络向右传送2k步距, 0≦i ≦ 7; 6.令j= 2k-1; 7.置PE0至 PEj为不活跃状态; 8.处于活跃状态的所有PEj执行(RGAi):= (RGAi)+(RGRi) , j≦i ≦ 7; 9.k:=k+1; 10.如k<3,则转回4,否则往下继续执行; 11.置全部PEi为活跃状态, 0≦i ≦ 7,存结果至a + 1单元。
•阵列控制器CU 相当一台小型控制计算机 对处理单元阵列实现控制,(发控制信号,广播公共地址,(广播公 共数据))对指令流进行译码控制,利用CU内部资源可以进行标 量操作,接受和处理各类中断,其他输入输出操作。 •I/O系统 由磁盘文件系统DFS,输入输出子系统和宿主计算机S/C构成
第 6 章 阵列处理机
第 6 章 阵列处理机 矩阵乘存储器分配举例 (设用八个处理单元即PU并行)
A(0,0) ... A(1,0) A(7,0) B(0,0) B(1,0) ... B(7,0) C(0,0) C(1,0) ...
A(0,1) ... A(1,1) A(7,1) B(0,1) B(1,1) ... B(7,1) C(0,1) C(1,1) ... ………………………...
第 6 章 阵列处理机 a0,1 … a0,63 b0,0 b0,1 … b0,63 a1,1 … a1,63 b1,0 b1,1 … b1,63 + …… …… a63,0 a63,1 … a63,63 b63,0 b63,1 … b63,63 a0,1 + b0,1 … a0,63 + b0,63 a1,1 + b1,1 … a1,63 + b1,63 = …… a63,0+b63,0 a63,1+b63,1 … a63,63+b63,63 解: (1)顺序处理方式下,需要顺序执行的浮点加法次数为64×64=4096,每次浮 点加运算所需时间为6Δt ,则全部运算所需时间为: T1=4096×6Δt=24576Δt (2)需要流水执行的浮点加法次数为64×64=4096,则一个K=6段浮点加法流 水线处理全部运算所需时间为: T2=(k+n-1)Δt=(6+4096-1)Δt=4101Δt 加速比: S2=T1/T2=5.9 a0,0 + b0,0 a1,0 + b1,0 a0,0 a1,0
第 6 章 阵列处理机
设原始数据A(I)分别存在PEM的某个单元中
K=0
PE0 PE1 PE2 PE3 PE4 PE5 A0 A1 A2 A3 A4 A5 A0 A0+A1 A1+A2 A2+A3 A3+A4 A4+A5
K=1
A0 A0+A1
K=2
A0 A0+A1 A0+A1+A2 A0+A1+A2+A3 A0+A1+A2+A3+A4 A0+A1+A2+A3+A4+A5
第 6 章 阵列处理机 (3)对于8×8的处理阵列,每个处理器需要处理64×64二维数组中的一个 8×8子数组,因此,每个处理器需要执行的浮点加法次数为8×8。每次浮点 加法运算需要时间6Δt 。每个处理器顺序执行64次浮点加法所需时间为 64×6Δt=384Δt。64个处理器并行处理,同时完成各自的64次浮点加运算, 所以,全部运算所需时间为: T3=384Δt 加速比: S2=T1/T3=64 (4)对于8×8的处理阵列,每个处理器需要处理64×64二维数组中的一个 8×8子数组,因此,每个处理器需要执行的浮点加法次数为8×8。K=6段的 浮点加法流水线处理64次浮点加运算需要时间(k+n-1)Δt=(6+64-1)Δt=67Δt 。 64个处理器并行处理,同时完成各自的64次浮点加运算,所以,全部运算所 需时间为: T4=67Δt 加速比: S2=T1/T4=366.8
用成对递归算法,只需 Log2 8=3
在SIMD计算机上可写成下列程序 C=A 其中SHFTR(C,2**K) 是向量传送语句,C向 量各分量向右传送步 距为2的K次幂
DO 10 K=0, Log2 8 - 1
10 C=C+SHFTR(C,2**K)
第 6 章 阵列处理机 设原始数据A(I)分别存在8个PEM的某a单元中
CU SC
PE0
PE1 IN

PEN-1
MM0
MM1 I/O-CH I/O …

MMK-1
SM
具有共享存储器的阵列机结构
第 6 章 阵列处理机
2 阵列机的特点 并行处理机有如下特点: (1) 利用资源重复(空间因素)而非时间重叠。 (2) 利用同时性而非并发性。它的每个处理单元在同一时刻要 同等地担负起各种运算功能。
×
a7,1

a7,7
=
a0,0×b0,0+a0,1×b1,0+…+a0,7×b7,0 … a0,0×b0,7+a0,1×b1,7+…+a0,7×b7,7 a1,0×b0,0+a1,1×b1,0+…+a1,7×b7,0 … a1,0×b0,7+a1,1×b1,7+…+a1,7×b7,7 …… a7,0×b0,0+a7,1×b1,0+…+a7,7×b7,0 … a7,0×b0,7+a7,1×b1,7+…+a7,7×b7,7
SC CU CUM PEM0 PE0 PEM1 PE1 IN PEMN-1 PEN-1 I/O 接口 D
分布存储器的阵列机结构
第 6 章 阵列处理机
(2)集中式共享存储器的阵列机 每个PE没有局部存储器,存储模块以集中形式为所有PE共 享。互连网IN受CU控制,用来构成PE和MM的数据交换通路 , 具有双向性。
相关文档
最新文档