求向量累加和 ,在SISD计算机上实现需16次加法。现在阵列处理机上用成对递归算法,只需l0g216 =4次加法,即可求得前1个

求向量累加和 ,在SISD计算机上实现需16次加法。现在阵列处理机上用成对递归算法,只需l0g216 =4次加法,即可求得前1个,前2个,…,前16个元素之和。设原始数据A(i)分别存放在PEMi的a单元,其中,0≤i≤15。请写出阵列处理机上用成对递归相加求累加和的并行算法步骤。


【正确答案】:解:累加和的算法步骤如下:(根据正确的比率得分)(1)置全部PEi为活跃状态,0 ≤i ≤15 ;(2)置全部A(i)从PEi的a单元读到相应PEi的累加寄存器RGAi中,0 ≤i≤15 ;(3)令K = 0 ;(4)将全部PEi的(RGA<>i)转送到传送寄存器RGR<>i,0 ≤ i ≤ 15 ;(5)将全部PEi的(RGR<>i)经过互连网络各右传送2<>K步距,0 ≤i≤15 ;(6)令 j=2<>K-l;(7)置PE0~PEj为不活跃状态;(8)处理活跃状态的所有PEi执行(RGA<>i): =(RGA<>i) + (RGR<>i),j <i≤15 ;(9)K:=K + 1;(10)若K<4,则转回(4);(11)置全部PEi为活跃状态,0 ≤ i ≤ 15 ;(12)将全部PEi的累加寄存器内容(RGA<>i)存入相应PEi的a + 1单元中,0 ≤i≤15。