《并行处理机》PPT课件
设A、B和C为3个 8×8 的二维矩阵。若给定A和B,则为计算
C=A*B的 64 个分量,可用下列公式
7
cij aik bkj
k 0
其中, 0≤i≤7 且 0≤j≤7。
SIMD处理机的算法举例-
在SISD计算机上求解这个问题, 可执行用FORTRAN语言编写的下列
程序
DO 10 I=0,7
并行处理机的控制部件中进行的是单指令流,因此与高 性能单处理机一样,指令基本上是串行执行,最多加上使用 指令重叠或流水线的方式工作。
指令重叠是将指令分成两类,把只适合串行处理的控制 和标量类指令留给控制部件自己执行,而把适合于并行处理 的向量类指令播送到所有处理单元,控制让处于活跃的那些 处理单元去并行执行。因此这是一种标量控制类指令和向量 类指令的重叠执行。
ILLIAC Ⅳ的处理单元阵列结构
PU5
PU5
6
7
PU6
PU0
PU1
3
PБайду номын сангаас7
PU8
PU9
PU5 8
PU7
PU8
PU15
PU1
6
PU5
PU56
5
PU57
PU63
PU0
PU0
PU1
PU7
图 8.2 ILLIAC Ⅳ处理单元的互连结构
SIMD处理机的算法举例-矩阵加法
在阵列处理机上,解决矩阵加法是最简单的一维情形。若有 两个 8×8 的矩阵A、B相加,所得结果矩阵C也是一个 8×8
(2)共享存贮的并行处理机。
每个PE没有局部存触器,存储模块以集中形式为所有 PE共享。互连网IN受CU控制,具有双向性采用分布式存 贮器组成基本结构。
共享-分布存储器
CU
SC
PE
PE
… PEN-
0
1
1
ICN
MM0 MM1 … MMN-1
CU
I/O-CH
CUM
I/ … S
O
M
PEM0 PEM1
PE0 PE1
8.2.1 并行处理机的算法
•处理单元阵列 由64个PUi构成,每个Pui包括(PEi和PEMi)
由64个结构完全相同的处理单元PEi 构成,每个处理单元 PEi字长64位,PEMi为隶属于PEi的局部存储器,每个存储器有 2K字,全部PEi由CU统一管理,PEi都有一根方式位线,用来向 CU传送每个PEi的方式寄存器D中的方式位,使CU能了解各PEi 的状态是否活动,作为控制它们工作的依据。 •阵列控制器 CU 相当一台小型控制计算机
第 8 章 并行处理机
8.1 并行处理(SIMD)机原理 8.2 并行处理机算法 8.3 并行处理机举例
8.1.1 并行处理机的原理和基本构成
并行处理机是通过重复设置大量相同的处理单元PE( Processing Element),将它们按一定的方式互连,在统一的 控制部件CU(Control Unit)控制下,对各自分配来的不同数 据并行地完成同一条指令所规定的操作。它依靠操作一级的并 行处理来提高系统的速度。
对处理单元阵列实现控制,(发控制信号,广播公共地址, 广播公共数据)对指令流进行译码控制,利用CU内部资源可以进 行标量操作,接受和处理各类中断,其他输入输出操作。
•I/O系统
由磁盘文件系统DFS,输入输出子系统和宿主计算机S/C 构成(驻留操作系统,编译程序,I/O服务程序等)
8.2.1 并行处理机的算法
矩 阵 乘 程 序 执 行 流 程 图
DO 10 J=0, 7 C(I,J)=0 DO 10 K=0, 7
10 C(I,J)=C(I,J)+A(I,K)*B(K,J)
需要经过I、J、K三重循环完成。每重循环执行 8 次,总共需要 512次乘、加的时间, 此外每次还应包括执行循环控制、 判别等其他操作需花费的时间。
SIMD处理机的算法举例-
如果在SIMD阵列处理机上运算,则可用 8 个处理单元并行计算矩阵C(I,J)的 某一行或某一列,即将J循环或I
以消去J循环为例,可执行用 FORTRAN语言编写的程序
DO 10 I=0, 7 C(I,J)=0 DO 10 K=0, 7 10 C(I,J)=C(I,J)+A(I,K)*B(K,J)
图
(A)具有共享存贮器并行处理机结构
ICN
SC
I/O D 接 口
PEMN1
PEMN1
(B)分布存贮器并行处理机结构
并行处理机的单指令流多数据流处理方式和由它产生的特殊结构是 以诸如有限差分、矩阵、信号处理、线性规划等一系列计算问题为背景发 展起来的。这些计算问题的共同特点是可以通过各种途径把它们转化成为 对数组或向量的处理,而并行处理机正好利用多个处理单元对向量或数组 所包含的各个分量同时计算, 从而获得很高的处理速度。
LDA ALPHA
; 全部(α)由PEMi送PEi的累加器RGAi
ADRN ALPHA+1 ; 全部(α+1)与(RGAi)进行浮点 加, 结果送RGAi
STA ALPHA+2 ; 全部(RGAi)由PEi送PEMi的α+2单元
这里, 0≤i≤63。
SIMD处理机的算法举例-
由于矩阵乘是二维数组运算,故它比循环加要复杂一些。
的矩阵。只需把A、B居于相应位置的分量存放在同一个
PEM内,且在全部 64个PEM中,令A的分量均为同一地址α, B的分量单元均为同一地址α+1,而结果矩阵C的各个结果分 量也相应存放于各PEM同一地址α+2的单元内,如图 6.4 所 示。这样,只需用下列3条ILLIAC Ⅳ的汇编指令就可以一次 实现矩阵相加:
并行VS流水, 资源重复,Vs 时间重叠; 同时性,VS 并发性; 其设备利用率却可能没有多个单功能流水线部件那样高。 只有在硬件价格有了大幅度下降及系统结构有了较大改进的情况下,并行处理机 才能具有较好的性能价格比。
第 6 章 并行处理机和相联处理机
第 8 章 并行处理机
8.1 并行处理(SIMD)机原理 8.2 并行处理机算法 8.3 并行处理机举例
并行处理机分类
并行处理机根据存贮器采用的组成方式不同分成两种基本 构成。
(1)分布存贮的并行处理机
各个处理单元设有局部存贮器存放分布式数据,只能被 本处理单元直接访问。此种局部存贮器称为处理单元存贮器 (Processing Element Memory)PEM。在控制部件CU内设 有一个用来存放程序的主存贮器CUM。整个系统在CU统一 控制下运行系统程序的用户程序。执行主存中的用户程序指 令播送给各个PE,控制PE并行地执行。