第7篇 并行处理技术及SIMD阵列机.pptVIP

  • 42
  • 0
  • 约1.01万字
  • 约 50页
  • 2018-09-02 发布于湖北
  • 举报
第7章 并行处理技术与 SIMD阵列机 内容提要: 第7章 并行处理技术与 SIMD阵列机 7.1 并行处理技术 7.2 SIMD阵列机 7.3 典型SIMD阵列机举例 7.1 并行处理技术 7.1.1 并行处理的基本概念 7.1.2 并行性的开发途径 7.1.1 并行处理的基本概念 7.1.2 并行性的开发途径 7.2 SIMD阵列机 7.2.1 SIMD阵列机的基本结构 7.2.2 阵列机并行算法 7.2.3 SIMD阵列机的特点 7.2.4 并行存储器无冲突访问 7.2.1 SIMD阵列机的基本结构 7.2.2 阵列机并行算法 7.2.3 SIMD阵列机的特点 7.2.4 并行存储器无冲突访问 7.3 典型SIMD阵列机举例 7.3.1 ILLIAC-Ⅳ阵列机 7.3.2 BSP阵列机 7.3.1 ILLIAC-Ⅳ阵列机 7.3.2 BSP阵列机 SIMD阵列机中为增大存储器的带宽,常采用多体交叉存储器。在设计和应用时应保证各存储体无冲突访问。 1.一维数组无冲突访问 对于一维数组中的元素实现无冲突访问比较容易。比如对地址连续的元素,按低位地址交叉存放到多个存储体(m个)中,如图7.8所示。只要按连续地址同时访问m个单元,带宽可比单体提高m倍 若间隔(也称为跨步)为2访问,则带宽降低一半。但是,如果使存储体的个数为质数,且与访问时的跨步互质,则可实现无冲突访问。 图7.8 一维数组存储方式 2.二维数组无冲突访问 设有4×4二维数组以行存储,如图7.9所示。可以看出,同时访问某一行或对角线上的元素时无冲突。但是,如果同时访问某一列上的元素,必然冲突。若要避免冲突,只能等a00读出后再访问a10,这样就使带宽降低到并行访问时的1/4。 图7.9 二维数组直接存储 图7.10 二维数组错位存储 如果把二维数组中的元素如图7.10所示每行右移一个单元存放。这样按行或列访问时不发生冲突;但是按主对角线访问发生冲突,带宽降低一半;若按反对角线访问,全部冲突。因此,是值得研究的一个问题。 为了解决n×n维数组在多体交叉存储器中的无冲突访问,科学家P.Budnik和D.J.Kuck提出了一种方案。该方案要求并行存储体数m≥n,且m为质数,同时要求各元素在行和列的方向上错开一定的距离存放。设同一列相邻元素在并行存储器中错开d1个存储体存放;同一行相邻元素在并行存储器中错开d2个存储体存放。当m=22p+1(p是任意自然数)时,能够实现按行、列、对角线和反对角线上所有元素无冲突访问的充分必要条件是d1=2p,d2=1。 图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所示,即可避免在行、列、对角线和反对角线上所有元素的访问冲突。但是从图中可以看出,这种方式在存储空间上造成浪费。 对于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的任意自然数。 图7.12 4×5数组错位存储 在这种方案中,有1/(n+1)的存储单元空闲。例如图7.12所示是一个按照上述方案存储的一个4×5的二维数组,存储体的个数m=7。 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屏蔽字。 图7.13 ILLIAC-Ⅳ阵列机示意图 2. PE阵列 ILLIAC-Ⅳ是一种典型的分布式存储器结构的SIMD阵列机。它的互连网络是一

文档评论(0)

1亿VIP精品文档

相关文档