在16台PE的并行(阵列)处理机上,要对存放在M个分体并行存储器中的16×16二维数组实现行、列、主对角线、次对角线上各元素均无冲突访问,要求M至少为多少?此时数组在存储器中应如何存放?
设同一列两个相邻元素地址错开的距离为δ,同一行两个相邻元素地址错开的距离为δˇ2;
当M=(2^2p) +1(p为正整数)时,实现无冲突访问的充分条件是δˇ1=2^p,δˇ2=1只要M取大于等于16的一个质数,就可以实现16 ×16的二维数组无冲突访问。
当p=1时,δˇ1=2^p =2,2^2p +1 =5,不满足要求;
当p=2时,δˇ1=2^p =4,(2^2 ×2)+1=17,满足要求,
因此M=2^2p +1=17