在多计算机系统中,无论是处理机之间,还是处理器与存储器之间,都要通过互连网络实现信息交换。决定互连网络性能价格比的诸因素中,主要的是结构复杂性(反应成本)和通信频带及结构灵活性(反应性能)。
  如果我们把处理单元或存储体看成结点(Node),互连网络则为输入和输出二组结点之间提供一组互连或映象(Mappings)。对于有N个输入结点和M个输出结点的情况,则从输入到输出的映象可定义出NM种映象的互连网络,我们称之为广义互连网络(Generailsed Connection Network)。图10.23画出了3个输入结点和2个输出结点的广义互连网络。它的映象关系可以分为两类:一对多的映象(图10.23(a)),一对一映象(图10.23(b))。如果我们限制只有一对一的情况,则共有N!种映象。对于有N!种映象的互连网络,我们称之为连接网络(Connection Network)或全排列网络。
图10.23 3个输入和2个输出结点的所有可能映象

  实现广义互连网络的直观方法是全交叉开关网络(Full Crosser Network)。它是互连网络中最通用的一种形式,图10.24显示了具有4个输入和4个输出的全交叉开关网络。对于任一输入和输出之间,都有一个交叉点,每个交叉点实际代表一套开关,而且包含必要的用来分解多重访问冲突的硬件设备。这种网络由于任意一对输入和输出之间都有直接连接,因此通信频带宽、灵活性好。但由于交叉点的数量为NM个,再考虑到总线的线数,整个交叉开关非常复杂。当N很大时,交叉开关的成本会超过N+M个处理单元和存储器的成本。因此,它只用于输入输出端数目较少的情况。如BSP用了两个这种网络,一个是N=16,M=17;另一个是N=17,M=16。
图10.24 全交叉开关网络

  在大规模集成电路和微处理器飞速发展的今天,建造多达214~216个处理部件的并行处理机已是现实可能的了,但是要把这么多处理部件连接起来,而又具有足够的灵活性,却是一个困难的问题。当然,要求任意两个处理部件之间都有直接连接,对于这么庞大的系统来说,显然是不现实的,所以不得不暂时满足于象ILLIACIV中的闭和螺线阵列那样,让相邻的处理部件之间只有有限的几种连接方式,经过一步或少数几步传送就可以完成任何两个处理单元之间的信息传送。采用这种方法能够满足许多常用的解题算法。但是,能不能找到更灵活的互连网络结构,扩大它对算法的适应范围,使之能以较少的步数实现任意处理单元之间交换信息呢?这是多机系统结构研究中的一个关键问题。