并行处理技术与SIMD阵列机.pptVIP

  • 2
  • 0
  • 约1.2万字
  • 约 49页
  • 2021-03-16 发布于广东
  • 举报
2021/3/14 * 7.2.4 并行存储器无冲突访问 SIMD阵列机中为增大存储器的带宽,常采用多体交叉存储器。在设计和应用时应保证各存储体无冲突访问。 1.一维数组无冲突访问 对于一维数组中的元素实现无冲突访问比较容易。比如对地址连续的元素,按低位地址交叉存放到多个存储体(m个)中,如图7.8所示。只要按连续地址同时访问m个单元,带宽可比单体提高m倍 若间隔(也称为跨步)为2访问,则带宽降低一半。但是,如果使存储体的个数为质数,且与访问时的跨步互质,则可实现无冲突访问。 图7.8 一维数组存储方式 2021/3/14 * 2.二维数组无冲突访问 设有4×4二维数组以行存储,如图7.9所示。可以看出,同时访问某一行或对角线上的元素时无冲突。但是,如果同时访问某一列上的元素,必然冲突。若要避免冲突,只能等a00读出后再访问a10,这样就使带宽降低到并行访问时的1/4。 图7.9 二维数组直接存储 2021/3/14 * 图7.10 二维数组错位存储 如果把二维数组中的元素如图7.10所示每行右移一个单元存放。这样按行或列访问时不发生冲突;但是按主对角线访问发生冲突,带宽降低一半;若按反对角线访问,全部冲突。因此,是值得研究的一个问题。 2021/3/14 * 为了解决n×n维数组在多体交叉存储器中的无冲突访问,科学家P.Budnik和D.J.Kuck提出了一种方案。该方案要求并行存储体数m≥n,且m为质数,同时要求各元素在行和列的方向上错开一定的距离存放。设同一列相邻元素在并行存储器中错开d1个存储体存放;同一行相邻元素在并行存储器中错开d2个存储体存放。当m=22p+1(p是任意自然数)时,能够实现按行、列、对角线和反对角线上所有元素无冲突访问的充分必要条件是d1=2p,d2=1。 2021/3/14 * 图7.11 按照d1和d2存储 仍以4×4的二维数组为例,取大于4的质数m=5作为并行存储体的个数。把m=5 代入公式m=22p+1,可 求出p=1。于是可以确定d1=2p=2, d2=1。再按照d1和d2的值错位存放,如图7.11所示,即可避免在行、列、对角线和反对角线上所有元素的访问冲突。但是从图中可以看出,这种方式在存储空间上造成浪费。 2021/3/14 * 对于n×n维数组中的任意元素aij在无冲突并行存储器中的体号和体内地址可通过如下公式来计算: 存储体号e=(id1+jd2+k) mod m =(2p×i+j+k) mod m 体内地址f=i 其中0≤e≤m-1,0≤f≤n-1,k是数组第一元素a00所在体号地址,m是大于等于n的质数,p是满足m=22p+1的任意自然数。 2021/3/14 * 图7.12 4×5数组错位存储 在这种方案中,有1/(n+1)的存储单元空闲。例如图7.12所示是一个按照上述方案存储的一个4×5的二维数组,存储体的个数m=7。 2021/3/14 * 7.3 典型SIMD阵列机举例 7.3.1 ILLIAC-Ⅳ阵列机 7.3.2 BSP阵列机 2021/3/14 * 7.3.1 ILLIAC-Ⅳ阵列机 1.ILLIAC-Ⅳ阵列机概述 ILLIAC-Ⅳ阵列机是由美国宝来(Burroughs)公司和伊利诺斯大学于20世纪70年代推出的典型SIMD计算机,其组成如图7.13(a) 所示,由64个处理单元PE和一个控制器CU构成。控制器CU控制程序的执行和执行过程中的任务分配。整个系统由一台B6700作为宿主机,与外部网络和外部设备连接。每个PE单元设有局部存储器PEM、4个64位的寄存器、加/乘算术运算器、逻辑处理单元以及地址加法器等。PEM的容量为2K字,字长64位;4个64位的寄存器分别作为累加器、操作数寄存器、数据路由寄存器和通用寄存器。另外,还有一个变址寄存器和一个方式寄存器。其中前者用于变址寻址,后者用来设置PE屏蔽字。 2021/3/14 * 图7.13 ILLIAC-Ⅳ阵列机示意图 2021/3/14 * 2. PE阵列 ILLIAC-Ⅳ是一种典型的分布式存储器结构的SIMD阵列机。它的互连网络是一种闭合螺旋线形状,因此也称为闭合螺旋线阵列。其中的每一个处理单元PE如图7.13(b)所示,仅与相邻的4个PE连接,即PEi-8、PEi-1、PEi+1和PEi+8。这样,如果需要把数据从一个处理单元PE传送到较远的一个PE时,中间需要经过多个PE传送。若设处理单元数为N,则传送步数S≤√Nˉ-1。这里,N=64,所以S≤7。 【例7.3】如图7.

文档评论(0)

1亿VIP精品文档

相关文档