pm2i单级网络
搞linux,折腾ubuntu;还有正常的工作,但回头一看自己普复习过的内容,忘记的差不多了;重头开始吧。备考的四门中,系统结构仍是需要重点理解的,一方面是自己的专业课并且与平时的工作也有相关,所以拿出时间来仔细推敲下,是非常有价值的事。另一方面,也是计算机课程里一个难点,需要综合掌握。
如题:2020年10月
分析
这部分内容肯定是之前看过的,只是隐约记得了…。
基本知识
这部分属于SIMD互连网络的内容。如何实现单指令多数据流呢?已经把处理单元的关系抽象成函数了,依据这些函数来实现向量的操作,进而控制底层阵列。
为什么不用总线方式呢?因为成本,每个处理单元都相连的话,成本太高。
PM2I
再复习下这个概念,PM2I(plus-minus 2^i),名称已经是给出了这个互连函数的计算方法,能够实现与j号处理单元直接相连的号为:
P
M
2
+
i
(
j
)
=
j
+
2
i
m
o
d
N
PM2_ + i(j)=j+2^i mod N
PM2+i(j)=j+2imodN
P
M
2
−
i
(
j
)
=
j
−
2
i
m
o
d
N
PM2_ -i(j)=j-2^i mod N
PM2−i(j)=j−2imodN
对于本题的第一问,N=8,j也是从0开始的,所以是0<=j<=N-1=7;
0
≤
i
≤
L
o
g
2
N
−
1
0\leq i \leq Log2N-1
0≤i≤Log2N−1,也就是0<=i<=2;要求写出所有的互连函数的一般形式,就是这个公式:
P
M
2
+
0
(
j
)
=
j
+
2
0
m
o
d
N
=
j
+
1
m
o
d
8
PM2_+0(j)=j+2^0 mod N=j+1 mod 8
PM2+0(j)=j+20modN=j+1mod8
P
M
2
−
0
(
j
)
=
j
−
2
0
m
o
d
N
=
j
−
1
m
o
d
8
PM2_-0(j)=j-2^0 mod N=j-1 mod 8
PM2−0(j)=j−20modN=j−1mod8
P
M
2
+
1
(
j
)
=
j
+
2
1
m
o
d
N
=
j
+
2
m
o
d
8
PM2_+1(j)=j+2^1 mod N=j+2 mod 8
PM2+1(j)=j+21modN=j+2mod8
P
M
2
−
1
(
j
)
=
j
−
2
1
m
o
d
N
=
j
−
2
m
o
d
8
PM2_-1(j)=j-2^1 mod N=j-2 mod 8
PM2−1(j)=j−21modN=j−2mod8
P
M
2
±
2
(
j
)
=
j
±
2
2
m
o
d
N
=
j
±
4
m
o
d
8
PM2_ \pm 2 (j)=j \pm 2^2 mod N=j \pm 4 mod 8
PM2±2(j)=j±22modN=j±4mod8
最后一个为什么 ± \pm ± 可以写到一块了呢?
先看第二问的答案,接上直接把5号处理单元代入j
P
M
2
+
0
(
5
)
=
5
+
1
m
o
d
8
=
6
PM2_ + 0(5)=5+1 mod 8=6
PM2+0(5)=5+1mod8=6
P
M
2
−
0
(
5
)
=
5
−
1
m
o
d
8
=
4
PM2_ - 0(5)=5-1 mod 8=4
PM2−0(5)=5−1mod8=4
P
M
2
+
1
(
5
)
=
5
+
2
m
o
d
8
=
7
PM2_ + 1(5)=5+2 mod 8=7
PM2+1(5)=5+2mod8=7
P
M
2
−
1
(
5
)
=
5
−
2
m
o
d
8
=
3
PM2_ - 1(5)=5-2 mod 8=3
PM2−1(5)=5−2mod8=3
P
M
2
±
2
(
5
)
=
5
±
4
m
o
d
8
=
9
或
1
m
o
d
8
=
1
PM2_ \pm 2 (5)=5 \pm 4 mod 8=9或1mod 8=1
PM2±2(5)=5±4mod8=9或1mod8=1
一共有8个处理单元,也就是0~7,9mod8=1.此题属于简单的情形。有时候会计算出负数的情形。这时如何理解呢?如果算出来是-1呢?
负数是用补码表示的,001的补码为111,也就是7表示的就是-1,也就是说最后一个数表示的就是-1.
最后一问,什么是两个处理单元的最大距离?
也就是任意一对处理单元的连接距离。书中明确给出了公式N/2(上取整),也就是4.如下图所示:
扩展
再次复习第六章的内容。
阵列处理机
也称并行处理机,将大量重复设置的处理单元按一定方式互连成阵列。在单一控制部件控制下对各部分所分配的不同数据执行同一指令规定的操作,属于操作级并行的SIMD计算机。
两种构形,集中式共享存储器和分布式存储器 阵列处理机,分布式存储器是主流。
ILLIAC IV 典型的分布式存储器构形的阵列处理机,采用的4个函数是PM2±0和PM2±3.
处理结构如下图所示:
并行算法
矩阵加
矩阵乘
也就是计算两个数组相乘,公式是:

累加和,这个考过
场景就是计算数组元素的累加。将N个数的顺序相加转成并行相加的问题。

互连网络
操作方式有同步,异步,同步与异步组合。共3种方式,同步与异步组合主要就是适用于多处理机。
基本单级互连网络
单级立方体网络
立方体,三个互连函数cube0,cube1,cube2,其他详见:系统结构考点之立方体互连函数及拓朴结构图
PM2I
看本篇就行。
混洗交换单级互联网络
包含两个互连函数,一个是全混Shuffle,一个是交换 exchange

经过n次全混后,全部N个处理单元又回到初始的状态。
最远的两个入、出端号是全0和全1,它们的连接需要n次交换和n-1次混洗,所以最大距离为:2n-1.
蝶形单级网络
互连函数为Butterfly:

基本的多级互连网络
什么是单级什么又是多级互连网络呢?
不要想复杂了,就是多个单级互连网络的组合。考也就填空及选择。
不同的多级互连网络,在所用的交换开关,拓扑结构和控制方式上各有不同。
交接开关
理解好四种状态即可:

控制方式
级控制,单元控制,部分级控制,简答,要知道怎么回事。
多级立方体网络
有staran、间接二进制n方体网络。
staran用作交换网络时,采用级控制,实现的是交换函数
多级立方体分析详见:系统结构考点之立方体互连函数及拓朴结构图
注意:多级立方体处理单元只具有,直连和交换,二功能交换单元
多级混洗交换网络
又称omega网络。特点是交换单元是四功能的,除二功能外,还有上播和下播。
拓扑结构为混洗,控制方式为单元控制。

全排列网络 pm2i多级 多级交叉开关 多级蝶式网络
可以不看,从来也没考过
共享主存的阵列处理机构形并行存储器的无冲突访问
主要解决的多维数组行列,都能并行访问的问题。采取的方案是错位存放。
多出一列,用于存放数组中不确定的长度
脉动阵列处理机
运算时数据在阵列结构的各个处理单元间沿各自方向同步向前推进,就称为脉动阵列结构。
实际上,输入数据流和结果数据流可以在不同方向上以不同的速度向前搏动。
特点:

本文详述了PM2I单级网络的基本知识和计算方法,包括互连函数PM2+i和PM2-i,以及相关并行算法如矩阵加、矩阵乘和累加和。此外,还讨论了阵列处理机、基本单级和多级互连网络的类型及其特点。
9142

被折叠的 条评论
为什么被折叠?



