第六章 阵列处理机
阵列处理机(Array Processor)也叫并行处理机(Parallel Processor),指的是由单一控制单元(Control Unit)控制按一定方式互连的大量重复设置的处理单元(Processing Unit),实现同一指令对各处理机所分配的不同数据的并行操作。
ILLIAC 4中,N=sqrt(N)*sqrt(N)个处理单元组成的阵列中,任意两个处理单元之间的最短距离不大于sqrt(N)-1,即d_min≤sqrt(N)-1。
单级立方体网络中各处理机间信息传送的最大距离为n,即反复使用单级立方体网络,数据传送最多经过n个处理机,就可以实现任意入、出端之间的连接。
单级PM2I网络中各处理机间信息传送的最大距离为n/2,即反复使用单级PM2I网络,数据传送最多经过n/2个处理机,就可以实现任意入、出端之间的连接。
单级全混洗交换网络中各处理机间信息传送的最大距离为2n-1,即反复使用单级全混洗交换网络,数据传送最多经过2n-1个处理机,就可以实现任意入、出端之间的连接。
SIMD系统组成的互联网络的设计目标:结构简单,降低成本;互联灵活,算法应用;传送步数,提高速度;规整、模块,VLSI,扩展性。
设计互联网络时应考虑的问题:拓扑结构,交换方式,控制方式,操作方式。
多级立方体网络、多级PM2I网络、多级混洗交换网络可以分时实现任意一个入端与任意一个出端之间的连接,但在同时实现多对入、出端之间的连接时,可能会争用数据传送线,具有这关性质的互连网络叫做阻塞式网络(Blocking Network),不具有这类性质的互连网络叫做非阻塞式网络或全排列网络。
1.若干个处理单元的全混连接与Shuffle函数
Shuffle互联函数的意义:Shuffle(Pn-1Pn-2...P1P0) = Pn-2...P1P0Pn-1,即将二进制位最左位移到最右的位置。
8个处理单元的全混连接,如下图:
2.多级立方体网络的画法
以N=8为例
第i级交换单元处于交换状态时,实现的是cube i互连函数。
1)把3*4=12个交换单元放好
2)在i=0级,实现cube(0)函数,具体就是实现(01)(23)(45)(67)交换,所以A单元要把(01)输入放在一起,通过A单元的交换状态就可以实现(01)交换,同样B C D 分别实现(23)(45)(67)的交换。
3)在i=1级,我们来实现cube(1)函数,具体就是实现(02)(13)(46)(57)交换,很简单,假设前面所有交换网络处于直连状态,找出前级的输出端口编号,把(02)作为输入放在一起,(13)放在一起... ...完成第2级;
4)同理可以完成第3级。
3.部分级控制中移数函数的功能
设3级立方体网络0~7共8个端子(0 1 2 3 4 5 6 7)排列,采用部分极控制,进行模4移2变换,得到的8个端子新的排列是(2 3 0 1 6 7 4 5)。
处理过程如下:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
移2 | 0+2=2 | 1+2=3 | 2+2=4 | 3+2=5 | 4+2=6 | 5+2=7 | 6+2=8 | 7+2=9 |
模4 | 2mod4=2 | 3mod4=3 | 4mod4=0 | 5mod4=1 | 6mod4=2 | 7mod4=3 | 8mod4=0 | 9mod4=1 |
notes | 与第一组冲突, | 与第二组冲突, | 与第三组冲突, | 与第四组冲突, |
移2就是加2。