2 4 2024

并行存储器的无冲突访问

列:在并行存储器中,为了对4x4的二维数组A的各元素aij在行、列、主对角线、次对角线上均能实现无冲突访问,则

1)存储器的分体数m至少应该为多少?

2)画出数组各元素在该存储器各分体中的分布情况(设分体号从0开始、体内

地址从i+0开始,且a00a_{00}已存放在分体号为2、体内地址为i+0的位置)

并行访问无冲突的规律:

  1. 下一行对应位置再间隔(m-n)存储体,m是n向上取质数,这里的n是4x4中的4

  2. 并行读取是要往上找m(分体)的质数(只能1和自己整除)

  3. 并行无冲突指的是,行、列、主对角线、次对角线访问无冲突

解1:

4*4的二维数组并行无冲突访问,要向上找4的质数,即5个分体

解2:

原始表:

体内地址/分体号 0 1 2 3
0 a00a_{00} a01a_{01} a02a_{02} a03a_{03}
1 a10a_{10} a11a_{11} a12a_{12} a13a_{13}
2 a20a_{20} a21a_{21} a22a_{22} a22a_{22}
3 a30a_{30} a31a_{31} a32a_{32} a33a_{33}

无冲突访问表:

体内地址/分体号 0 1 2 3 4
0 a03a_{03} a00a_{00} a01a_{01} a02a_{02}
1 a11a_{11} a12a_{12} a13a_{13} a10a_{10}
2 a20a_{20} a21a_{21} a22a_{22} a23a_{23}
3 a32a_{32} a33a_{33} a30a_{30} a31a_{31}

相对原始表要行、列、对角线、次对角线并行访问无冲突如下:

  1. 行:天然无冲突

  2. 列:a00,a10,a20,a30a_{00},a_{10},a_{20},a_{30}访问,在无冲突表为:2,4,1,3,无冲突

  3. 主对角线:a00,a11,a22,a33a_{00},a_{11},a_{22},a_{33}访问,在无冲突表为:2,0,3,1,无冲突

  4. 次对角线:a03,a12,a21,a30a_{03},a_{12},a_{21},a_{30}访问,在无冲突表为:3,1,2,3,无冲突

延伸阅读
    发表评论