本文题目出自清华大学出版社计算机系统结构教程第 3 版第九章习题。
概念补充
混洗交换单级网络
混洗交换单级网络 = 全混(Perfect Shuffle)+交换(Exchange)。
全混(Perfect Shuffle)
Shuffle(Pn−1Pn−2⋯P1P0)=Pn−2⋯P1P0Pn−1
相当于对序列进行循环左移, 式中, n=log2N , Pn−1Pn−2…P1P0 为入端编号的二进制码。

重要特性:
- 与Cube函数不同,Shuffle函数是 不可逆的 。即 单向性 。
- 当经过 n 次全混后,全部 N 个处理单元便又恢复到最初的排列次序。
- 在多次全混的过程中,除了编号为全“ 0 ”和全“ 1 ”的处理单元外,各个处理单元都遇到了与其他多个处理单元连接的机会(不是所有单元)
交换(Exchange)
由于单纯的全混互连网络不能实现二进制编号为全“ 0 ”和全“ 1 ”的处理单元与其他处理单元的连接,因此 还需增加 Cube0 交换函数 。

实线表示交换,虚线表示全混。
- 特点:在混洗交换网络中,最远的两个入、出端号是全“ 0 ”和全“ 1 ”,它们的连接,需要经过 n 次交换和 n-1 次混洗,所以混洗交换网络的最大距离为 2n−1 。
习题整理

第一问
32 个处理器采用 5 位二进制表示。
Cube2(12)σ(8)β(9)PM2I+3(28)Cube0(σ(4))σ(Cube0(18))=Cube2(01100B)=01000B=8=σ(01000B)=10000B=16=β(01001B)=11000B=24=PM2I+3(11100B)=(11100B+01000B)mod25=4=Cube0(σ(00100B))=Cube0(01000B)=01001B=9=σ(Cube0(10010B))=σ(10011B)=00111B=7
第二问
网络直径为
2n−1=2×5−1=9
从 5 号处理机(00101B)发送到 7 号处理机(00111B)最短路径需要 6 步,包括 5 步左移和 1 步求反:
00101B→01010B→10100B→01001B→10010B→10011B→00111B
第三问
循环移数网络的网络直径为 ⌈n/2⌉ 。
为 3 。

第一问
N 个输入的不同排列数为 N! 。
第二问
N 个输入端、输出端的 Omega 网络有 n=log2N 级开关级,每级开关级有 N/2 个 2 × 2 的 4 功能开关,总共有 (N/2)×log2N 个开关。
置换连接是指网络的输入端与输出端的一对一连接,故只考虑 2 × 2 开关的2个功能状态,即直送与交叉。网络采用单元控制,因此,每个开关都根据连接要求处于 2 个功能状态中的一种状态,所以,由 (N/2)×log2N 开关组成的 Omega 网络的开关状态的种数为:
2(N/2)log2N=NN/2
第三问
若 N = 8 ,则一次通过能实现的置换数占全部排列的百分比为:
N!NN/2=8!84=403204096=10.16%

Omega 网络使用的 2 × 2 开关有 4 种状态:直送、交叉、上播、下播。
置换连接只使用直送和交叉状态,播送连接还需要使用上播和下播状态。
分别画出实现处理机 P6 和 P3 的播送连接要求使用的开关状态,如果没有开关状态和开关输出端争用冲突,就可以使用播送连接。实际上,它们的播送要求没有冲突,因此,可以同时实现,同时实现的 Omega 网络开关状态图如下所示:
