第六章 阵列计算机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 向量处理机
主讲人:梅艺凡
目录
• 6.1 向量的流水处理和向量流水机
• 6.2 阵列处理机的原理
• 6.3 SIMD计算机的互连网络
• 6.4 并行储存器的无冲突访问
• 6.5 脉动阵列流水处理机
6.1 向量的流水处理与向量流水处理机(领会)
• 向量处理机是有向量数据表示的处理机(标量指单个量,向量 指一组标量),分为向量流水处理机和阵列处理机两类。
具有分布式存储器的阵列处理机构形
• 集中式共享存储器的阵列机
在此类处理器中,K个存储分体的数据经互连网络ICN为全部N个处理器 单元所共享,这要求K≥N,即存储模块的数目等于或略大于处理单元的数目; 为了减少存储器访问冲突,存储器模块之间必须合理分配数据; ICN的作用是在处理单元与存储器分体之间进行转接构成数据通路。
N 1步 。
6.2.3 ILLIAC IV的并行算法举例
• 矩阵加
原理:把矩阵中不同位置的分量放在不同的PU中运算,提高并行性。 实现:对C=A+B,A、B、C同一地址分量放在同一PU不同地址,用三条指令完成: LDA Α ADD Α+1 STA Α+2 /* (Α)送累加器A */ /* (Α+1)与累加器A相加 */ /* 累加器A送(Α+2)位置 */
例如:源向量相同
V3←V1+V2 V5←V4∧V1
功能部件冲突:并行工作的各向量指令要使用同一个功能部件。 例如:都需使用乘法功能部件
V3←V1×V2 V5←V4×V6
• CRAY-1向量处理的一个显著特点是:在不出现功能部件冲突和源向量寄存 器使用冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加 快执行的目的。
6.3.3 基本的单极互连网络(识记)
(1)立方体单极网络 • n唯立方单极网络有2n=N • 互连函数个数:n个 • 互连函数表示:
Cube i ( Pn1 P i P 1P 0) P n1 P i P 1P 0
式中, Pi 为入端wk.baidu.com号二进制码的第 i 位,且 0≤i≤n-1 。当维数 n > 3 时称超立方体 (HyperCube)网络。 • 最大距离:n
具有集中式共享存储器的阵列处理机构形
处理机的特点
• 利用资源重复(空间因素)而非时间重叠;
• 利用同时性而非并发性,它的每一个处理单元在同一时刻要同等地负担各种运算功能; • 提高运算速度主要是靠增大处理单元个数,比起向量机的缩短时钟周期来说,速度提高的 潜力更大; • 使用简单规整的互连网络来确定多个处理单元之间的连接模式; • 结构和并行算法紧密联系在一起,专用性强,灵活性差;流水线机正好相反。
(1)直连—i入连i出,j入连j出
(2)交换—i入连j出,j入连i出 (3)上播—i入连i出和j出,j入 (4)下播—j入连i出和j出,i入悬空。 只有前两种功能的称二功能交换单元,有全部四种功能的称四功能交换单元。
• 拓扑结构
是各级间出端与入端互连的模式。上述前3种单级互连网络的连接模式均可用来组合构成不 同的多级互连网络。
阵列处理机与流水处理机的比较
阵列处理机
并行性的方式 并行性的粒度 解题的灵活性 系统评价 资源重复、并行性中的同时性 细粒度——操作级 专用性强、灵活性差 成本高、速度提升潜力大 流水处理机 时间重叠、并行性中的并发性 细粒度——指令级 通用性强、灵活性好 成本低、提升速度受到限制
6.2.2 ILLIAC IV的处理单元阵列结构(领会)
6.3 SIMD计算机的互连网络
• 6.3.1 互连网络的设计目标与互连函数(标识)
互连网络设计目标:结构不要过分复杂,以降低成本;互连要灵活,以满足算法和应用的需 要;处理单元间信息交换所需传送步数要尽可能少,以提高速度性能;能用规整单一的基本 构件组合而成,或者经多次通过或者经多级连接来实现复杂的互连,使模块性好,以便于用 VLSI实现并满足系统的可扩充性。 互连函数:每一种互连网络可用一组互连函数来定义。互连函数反映了所有N个入端(0, 1,…,N-1),同时存在的入端j连之出端f(j)的函数对应关系。
• 阵列处理机由于存储器的组成方式不同,分为两种基本结构:分布式存储器的阵列机和集 中式共享存储器的阵列机。
前端机 CU
PE PE LM PE LM PE … LM SM
前端机 CU PE … 互连网络 SM PE
互连网络
分布式存储器的阵列机

SM
共享存储器的阵列机
• 分布式存储器的阵列机
在此类处理机中,每个PE都有自己的局部存储器LM,LM中存放着为本PE 直接访问的数据。运算中,处理单元间可通过互连网络ICN来进行数据交换。 现在出现的SIMD计算机几乎都是基于分布式存储器模型的系统。各种系 统之间的主要差别在于采用了不同的互连网络。
ILLIAC-Ⅳ的处理单元互连图
PU56 PU63 PU07 PU00 PU08 PU57 PU01 PU09 PU58 PU07 PU15
PU08 PU16
PU55
PU56 PU00
PU57 PU01
PU63 PU07
PU00
在这个阵列中,步距不等于±1或±8的任意单元之间可以用软件寻找最 短路径进行通信,其最短距离不超过7步。例如,信息由PU63送PU10 ,可经 PU63→PU7→PU8→PU9→PU104步实现,信息由PU9送PU45可经 PU9→PU1→PU57→PU56→PU48→PU47→PU46→PU457步实现。普遍来讲, N N N 个处理单元组成的阵列中,任意两个处理单元之间的最短距离不超过
(2)PM21单极网络
设PM21单极网络有N个节点 • 互连函数个数:2n-1个,n=log2N
i • 互连函数表示: PM2i ( j ) j 2 mod N i PM2 ( j ) j 2 mod N i
式中,0≤j≤N-1,0≤i≤n-1,n=log2N。
(2)纵向(垂直)处理方式
Q =B -C D =Q ×A
先将两个向量全部运算完,得到一个中间向量Q在用次向量去与其他向量运算。
数据相关:1次 功能切换:1次 由于向量长度一般较长,难以用大量的高速寄存器来存放中间向量,所以不得不用存 储器-存储器的流水线处理
(3)分组纵横方式
将上述两种方式结合,把向量分成若干组,组内按纵向方式处理,依次处理各组。这样就可 以减轻对向量长度N的限制,以便使用面向寄存器-寄存器型的结构流水。
6.3.2 互连网络应抉择的几个问题
(1)操作方式
有同步、异步及同步与异步组合三种。现有的阵列处理机根据其SIMD性质均采用同步操作方 式,让所有PE按时钟同步操作。异步或组合操作方式一般多用于多处理机。 (2)控制策略 有集中和分布两种。多数SIMD互连网络采用集中控制。 (3)交换方式
主要有线路交换、包交换及线路与包交换组合三种。 SIMD互连网络多采用硬连的线路交换, 包交换则多用于多处理机和计算机网络中。
矩阵相加的存储器分配举例
• 矩阵乘
设A,B和C为3个8*8的二维矩阵
C A B, ci j ai k bk j
k 0
7
其中,0≤I≤7且0≤J≤7。
矩阵乘的存储器分配举例
• 累加和
这是一个将N个数的顺序相加转为并行相加的问题。为得到各项累加的部分和与最后的 总和,要用到处理单元中的活跃标志位。只有处于活跃状态的处理单元才能执行相应的操作。 为叙述方便取N=8,即有8个数A(I)顺序累加,其中0≤I≤7。
• 每级画出N/2个二功能交换单元,级编号从输入到输出依次为0,1,…,n-1;
• 让所有第i级各交换单位的两个入/出端按Cubei的关系配对编码; • 将各级交换单元同一编码的各端用线连接起来。
• 书P207
6.2 阵列处理机的原理
基本概念
阵列处理机也称并行处理机。 它将大量重复设置的处理单元PE按一定方式互连成阵列,在单一控制部 件CU控制下对各自所分配的不同数据并行执行同一指令规定的操作; 属于操作级并行的SIMD计算机;
采用资源重复的措施开发并行性。
6.2.1 阵列处理机的构形和特点(识别)
结论:向量横向处理是向量的处理方式,但不是向量的流水处理方式;而向量纵向处理和分 组纵横处理既是向量的处理方式,又是向量的流水处理方式。
6.1.2 向量处理机的结构举例
• 以CRAY-1机为例
向量寄存组V
由512个64位的寄存器组成,分成8块。 编号:V0~V7
每一个块称为一个向量寄存器,可存放一个长度(即元素个数)不超过64的向量。
• 控制方式
是对各个交换开关进行控制的方式。 级控制——同一级的所有开关只用一个控制信号控制,
单元控制——每一个开关都有自己独立的控制信号控制,可各自处于不同的状态;
部分级控制——第I级的所有开关分别用I+1个信号控制,0≤I≤N-1,N为级数。
(1)多级立方体网络 特点:采用二功能交换单元,立方体拓扑结构,控制方式可以有级控制、单元控制和部分级控制。 具有N个入端和N个出端的多级立方体网络构图的画法: • 由n=log2N,求得该多级立方体网络的级数n;
每个向量寄存器可以每拍向功能部件提供一个数据元素,或者每拍接收一个从功能 部件来的结果元素。
标量寄存器S和快速暂存器T
标量寄存器有8个:S0~S7 64位 快速暂存器T用于在标量寄存器和存储器之间提供缓冲。
6.1.3 通过并行、链接提高性能(简单应用)
VI冲突:并行工作的各向量指令的源向量或结果向量使用了相同的VI。
(4)蝶形单极网络
• 互连函数ButterFly (Pn 1Pn 2 P1P0 )=
P0Pn 2 P1Pn -1
6.3.4 基本多级互连网络
将前面几种单极互连网络重复连接,就形成了最基本的多级互连网络。
三个主要因素:交换开关、拓扑结构和控制方式 • 交换开关
交换开关是具有两个入端和两个出端的交换单元,用作各种多级互连网络的基本构件。不论 入端或出端,如果令居于上方的都用I表示,居于下方的都用J表示,则可以定义下列4种开 关状态或连接方式:
ILLIAC IV 阵列由64个处理单元、64个处理单元存储器和存储器逻辑部件 所组成; 64个处理部件PU0~PU63排列成8×8的方阵,任何一个PUI只与其上、下、 左、右4个近邻PUI-8 (MOD64)、PUI+8(MOD64)、PUI-1(MOD64)和 PUI+1(MOD64)直接相连; 循此规则,南北方向上同一列的PU两端相连成一个环,东西方向上每一 行的东端PU与下一行的西端PU相连,最下面一行的东端PU则与最上面一行的 西端PU相连,从而构成一个闭合的螺线形状,所以称其为闭合螺线阵列。
• 向量流水处理机是向量数据表示和流水技术的结合。
6.1.1向量的流水处理和向量流水机
• 向量的处理方式
以D=A×(B-C)为例,其中A、B、C、D都是有N个元素的向量 (1)横向(水平)处理方式
处理向量计算是按行的方式从左到右横向地进行。
qi←bi-ci di←qi×ai 对于每个DI的元素计算至少要用到加、乘两条指令,这种方法会出现N次先写后读 相关,并引起流水线2N次的功能切换。 数据相关:N次 功能切换:2N次 不适合于向量处理机的并行处理。
• 最大距离:n/2
(3)混洗交换单极网络
设混洗交换单极网络有N个节点 • 包含两个互连函数,一个是全混,另一个是交换。
• 混洗互连函数为: Shuffle(P0Pn 2
• 交换互连函数为: Cube0 • 最大距离:2n-1
P1Pn -1 ) Pn 2 P1P0Pn 1
式中,n=log2N, Pn-1Pn-2…P1P0为入端编号的二进制码。
(4)网络的拓扑结构
网络的拓扑结构指的是互连网络入、出端可以连接的模式,有静态和动态两种。 动态网络有单级和多级两类。动态单级网络只有有限的几种连接,必须经循环多次通过,才 能实现任意两个处理单元之间的信息传送,故称此动态单级网络为循环网络。动态多级网络 是由多个单级网络串联组成的,以实现任意两个处理单元之间的连接。将多级互连网络循环 使用可实现复杂的互连,称循环多级网络或多级循环网络。
相关文档
最新文档