计算机体系结构 习题总结 第九章 互连网络

309 阅读2分钟

本文题目出自清华大学出版社计算机系统结构教程第 3 版第九章习题。

概念补充

混洗交换单级网络

混洗交换单级网络 = 全混(Perfect Shuffle)+交换(Exchange)。

全混(Perfect Shuffle)
Shuffle(Pn1Pn2P1P0)=Pn2P1P0Pn1\text{Shuffle}(P_{n-1}P_{n-2}\cdots P_1P_0)=P_{n-2}\cdots P_1P_0P_{n-1}

相当于对序列进行循环左移, 式中, n=log2Nn=\log_2 NPn1Pn2P1P0P_{n-1}P_{n-2}\dots P_1P_0 为入端编号的二进制码。

img

重要特性:
  • 与Cube函数不同,Shuffle函数是 不可逆的 。即 单向性
  • 当经过 n 次全混后,全部 N 个处理单元便又恢复到最初的排列次序。
  • 在多次全混的过程中,除了编号为全“ 0 ”和全“ 1 ”的处理单元外,各个处理单元都遇到了与其他多个处理单元连接的机会(不是所有单元)
交换(Exchange)

由于单纯的全混互连网络不能实现二进制编号为全“ 0 ”和全“ 1 ”的处理单元与其他处理单元的连接,因此 还需增加 Cube0 交换函数

在这里插入图片描述

实线表示交换,虚线表示全混。

  • 特点:在混洗交换网络中,最远的两个入、出端号是全“ 0 ”和全“ 1 ”,它们的连接,需要经过 n 次交换和 n-1 次混洗,所以混洗交换网络的最大距离为 2n12n-1

习题整理

image-20240128180705000

第一问

32 个处理器采用 5 位二进制表示。

Cube2(12)=Cube2(01100B)=01000B=8σ(8)=σ(01000B)=10000B=16β(9)=β(01001B)=11000B=24PM2I+3(28)=PM2I+3(11100B)=(11100B+01000B)mod25=4Cube0(σ(4))=Cube0(σ(00100B))=Cube0(01000B)=01001B=9σ(Cube0(18))=σ(Cube0(10010B))=σ(10011B)=00111B=7\begin{aligned} \text{Cube}_2(12)&=\text{Cube}_2(01100\text{B})=01000\text{B}=8\\ \sigma(8)&=\sigma(01000\text{B})=10000\text{B}=16\\ \beta(9)&=\beta(01001\text{B})=11000\text{B}=24\\ \text{PM2I}_{+3}(28)&=\text{PM2I}_{+3}(11100\text{B})=(11100\text{B}+01000\text{B})\mod 2^5=4\\ \text{Cube}_0(\sigma(4))&=\text{Cube}_0(\sigma(00100\text{B}))=\text{Cube}_0(01000\text{B})=01001\text{B}=9\\ \sigma(\text{Cube}_0(18))&=\sigma(\text{Cube}_0(10010\text{B}))=\sigma(10011\text{B})=00111\text{B}=7 \end{aligned}

第二问

网络直径为

2n1=2×51=92n-1=2\times5-1=9

从 5 号处理机(00101B)发送到 7 号处理机(00111B)最短路径需要 6 步,包括 5 步左移和 1 步求反:

00101B01010B10100B01001B10010B10011B00111B00101\text{B}\rightarrow01010\text{B}\rightarrow10100\text{B}\rightarrow01001\text{B}\rightarrow10010\text{B}\rightarrow10011\text{B}\rightarrow00111\text{B}

第三问

循环移数网络的网络直径为 n/2\lceil n/2 \rceil

为 3 。

image-20240129091342223

第一问

N 个输入的不同排列数为 N!N!

第二问

N 个输入端、输出端的 Omega 网络有 n=log2Nn=\log_2N 级开关级,每级开关级有 N/2N/2 个 2 ×\times 2 的 4 功能开关,总共有 (N/2)×log2N(N/2)\times\log_2N 个开关。

置换连接是指网络的输入端与输出端的一对一连接,故只考虑 2 ×\times 2 开关的2个功能状态,即直送与交叉。网络采用单元控制,因此,每个开关都根据连接要求处于 2 个功能状态中的一种状态,所以,由 (N/2)×log2N(N/2)\times\log_2N 开关组成的 Omega 网络的开关状态的种数为:

2(N/2)log2N=NN/22^{(N/2)\log_2N}=N^{N/2}

第三问

若 N = 8 ,则一次通过能实现的置换数占全部排列的百分比为:

NN/2N!=848!=409640320=10.16%\frac{N^{N/2}}{N!}=\frac{8^{4}}{8!}=\frac{4096}{40320}=10.16\%

image-20240129091105730

Omega 网络使用的 2 ×\times 2 开关有 4 种状态:直送、交叉、上播、下播。

置换连接只使用直送和交叉状态,播送连接还需要使用上播和下播状态。

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

image-20240129091310450