• 沒有找到結果。

计算机体系结构(第二版) - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "计算机体系结构(第二版) - 万水书苑-出版资源网"

Copied!
56
0
0

加載中.... (立即查看全文)

全文

(1)第3章. 互联网络技术. 互联网络是高度并行计算机系统中的关键部件。本章介绍互联网络的基本概念、描述工 具、互连函数和性能参数等,讨论静态互联网络的结构与特性,分析动态互联网络的互连形式 和几种多级互联网络结构特点、控制与寻径方式,阐述交叉开关的设计技术和互联网络消息传 递控制策略与机制。. 3.1. 互联网络的基本概念. 3.1.1 互联网络及其组成与特征 3.1.1.1 互联网络及其组成 互联网络是一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算 机系统内部多个处理机或多个功能部件之间的相互连接及信息交换。所有的互联网络都是由链 路、网络接口电路和交叉开关 3 部分组成(共享介质的互联网络不使用交叉开关),其中交叉 开关是核心。 1.链路 链路(Link)也称为通道或电缆,是用来将计算机系统中两个硬件进行物理连接。一条链 路可连接两个交叉开关或一个交叉开关和一台处理机或一个功能部件的网络接口。目前链路的 介质一般是铜线或光纤,铜线链路较便宜,但长度有限;光纤价格贵,但长度可以很长,带宽 也很高。链路的主要逻辑特性包括长度、宽度和驱动时钟。因此,链路除可从使用的介质分类 外,还可从逻辑特性上划分。 从长度来看,有短链路和长链路之分;一条短链路在任何时刻仅包含一个逻辑信号,而 一长短链路在任何时刻允许传输一串逻辑信号,如同一条传输线。从宽度来看,有串行链路和 并行链路之分;串行链路(窄链路)只有一位信号线,各种信息以多路分时复用的方式共享单 信号线;并行链路(宽链路)有多位信号线,各种信息可并行传输。从驱动时钟来看,有同步 时钟链路和异步时钟链路之分;同步时钟链路是指链路两端的结点使用相同的时钟;异步时钟 链路是指通过嵌入时钟编码,链路两端的结点可使用不同的时钟。 2.网络接口电路 网络接口电路(Network Interface Circuitry,NIC)也称为网卡,是用来将计算机系统中结 点(一台处理机或一个功能部件)连接到网络上。网络接口必须能够处理结点与网络之间的双 向传输,其功能主要包括消息包格式化、路由通路选择、一致性检查、流量与错误控制等。因 此,网络接口的成本由端口规模、存储容量、处理与控制能力等决定。 网络接口的体系结构取决于网络和结点,在同一网络中不同的结点,也可能需要不同的 网络接口。典型的网络接口电路包括嵌入式处理机、输入输出缓冲器、控制存储器和控制逻辑 电路,其复杂性一般高于交叉开关。 3.交叉开关 交叉开关(Switch)也称为路由器,是用来建立结点对之间连接的开关阵列。交叉开关包.

(2) 102. 计算机体系结构(第二版). 括输入输出端口、结点开关阵列及其控制逻辑,如图 3-1 所示为一个 4 输入 4 输出的交叉开关。 结点开关阵列可在程序控制下接通和断开,以同时建立 n 个输入和 n 个输出间的连接(n 为交叉 开关输入端口或输出端口数,可称为度) 。每个输入端口内有接收器、输入缓冲器,用于处理到 达的消息包;每个输出端口内有发送器和输出缓冲器,用于把数据信号传送到链路上。 开关控制逻辑. 输 入 端 口 接收器. 输入缓 冲器. 输出缓冲器 发送器. 输出端口 图 3-1. 交叉开关的基本结构. 3.1.1.2 互联网络功能及其划分 随着各个领域对高性能计算机的要求越来越高,多处理机系统和多计算机系统的规模越 来越大,处理机之间或处理单元与存储模块之间的通信要求和难度越来越突出。所以互联网络 已成为并行处理系统的核心组成部分,它对并行处理系统的性能起着决定性的作用。互联网络 在多处理机系统中的位置和功能作用如图 3-2 所示。例如,多处理机系统中每台处理机 Pi 与自 己的本地存储器 LM 和私有高速缓存储器 Ci 可直接相连,但应通过多处理机—存储器互联网 络(IPMN)与共享存储器模块 SM 相连,通过多处理机—I/O 网络(PION)访问共享的 I/O 和外围设备,多处理机之间通过处理机间通信网络(IPCN)进行通信。 结点. 结点. 软件接口. 软件接口. 硬件接口. 硬件接口. 链路. 链路. 结点 …. 软件接口 硬件接口 链路. … 互联网络 图 3-2. 互联网络在系统中的功能作用. 根据互联网络连接的结点距离可划分出系统域网络 SAN(3~25m)、局域网络 LAN(500~ 2000 m)、城域网络 MAN(≥25km)和广域网络 WAN(全球),它们间的作用关系如图 3-3 所示。系统域网络带宽要求为 100Mb/s~100Gb/s,主要有总线、交叉开关与多级交叉开关等 网络和 SCI、光纤通道、HiPPI 与 Myrinet 等技术;局域网络带宽要求为 10Mb/s~10Gb/s,主 要有以太网、HiPPI、光纤通道和 FDDI 等网络技术;城域网络带宽要求为 20Mb/s~5Gb/s,主.

(3) 第 3 章 互联网络技术 103. 要有光纤通道、FDDI 和 ATM 等网络技术;广域网络带宽要求为 20Mb/s~0.55Gb/s,主要有 光纤通道和 ATM 等网络技术。. 结点1. P. M. 处理机总线 局部总线,存储器总线. 结点2. 结点N ……. 磁盘. SCSI. I/O口桥. SAN(如Myrinet) 接口 系统I. I/O总线,系统总线. LAN(如以太网、FDDI) 图 3-3. 系统Ⅱ. 各种网络之间的作用关系. 3.1.1.3 互联网络的基本特征 互联网络的基本特征主要包括定时方式、交换方法、控制策略和拓扑结构等几个方面。 1. 定时方式 互联网络的定时方式有同步和异步两种。同步系统使用一个集中的统一时钟,它可以把 数据同时播送到各结点中,或者使各结点同时与相邻结点进行通信。异步系统没有时钟,各结 点根据各自的需要进行通信。阵列处理机为典型的同步系统,多机系统一般都为异步系统。 2. 交换方法 互联网络的交换方法有线路交换(Circuit Switching)和分组交换(Packet Switching)两 种。在线路交换中,源结点和目的结点的物理通路在整个数据传递期间一直保持连接。在分组 交换中,把要传递的数据分成许多包,这些包分别送入互联网络,各个包可以通过不同的路径 传送到目的结点,并不存在一个固定的实际连接的物理通路。 3. 控制策略 互联网络的控制策略有集中式和分散式两种。集中控制有一个全局的控制器接收所有的 通信请求,并设置互联网络中相应开关的实际连接的物理通路。而分散控制对通信请求处理和 设置互联网络中相应开关实际连接的物理通路是由分布在各个功能部件中的控制逻辑分散地 进行通信实现的。 4. 拓扑结构 互联网络的拓扑结构有静态拓扑结构和动态拓扑结构两种。在静态拓扑结构中,各结点 间的物理通路是专用链路,且固定连接,不能重新组合。在动态拓扑结构中,各结点间的物理 通路可以通过设置互联网络的开关重新组合,链路连接不固定。互联网络的链路是连接网络中 相邻结点所用的通信线路,是网络的相邻结点间进行数据信息传送时所使用的通路。 3.1.2 互联网络的描述工具 为了反映不同互联网络的连接特性,在输入结点和输出结点间建立相应的对应关系,通.

(4) 104. 计算机体系结构(第二版). 常采用 3 种方法来描述。 3.1.2.1 图形表示法 图形表示法是把互联网络中输入输出的对应关系用连线图来表示。该方法虽然直观,但 比较烦琐,且难以体现内在规律,因此,一般结合另外两种表示法一起使用。 3.1.2.2 对应表示法 1 … N 1   0 对应表示法是把互联网络中输入输出的对应关系表示为   ,即 0 f(0) f(1) … f(N  1)  0 1 2 3 4 5 6 7 变换 f(0),1 变换为 f(1),…,N-1 变换为 f(N-1)。例如,   则表示 0 2 4 6 1 3 5 7. 输入结点 0、1、…、7 分别对应连接输出结点 0、2、…、7。 3.1.2.3 函数表示法 函数表示法是把互联网络中输入输出的变换关系通过数学表达式表示,若用 x 表示输入端 变量,则用函数 f (x) 表示输出端变量,函数 f (x) 称为互连函数。由于一个结点在一般情况下 既可作输入端,也可作输出端,所以通常认为输入端数与输出端数是相等的。如果互联网络将 N 个结点连接,则该互联网络有 N 个输入结点和 N 个输出结点,即有 N 个输入变量和 N 个输 出变量。输入端与输出端的变量通常用对应的二进制数的结点编号来表示,则互连函数与对应 表示法一样,表示了输入端与输出端之间的一一对应关系。若 x 为 n 位二进制数, n  log N , 则互连函数一般写成 f (x n 1 , x n  2 ,, x1 , x 0 ) 。 当互联网络用来实现处理器与处理器之间的数据交换时,互连函数也反映了网络输入数 组与输出数组间对应的置换关系或排列关系,所以互连函数有时也称为置换函数或排列函数。 有一种特殊的互连函数 f (x) 称为循环互连函数,它表示的对应关系为: f (x 0 )  x1 , f (x1 )  x 2 ,…, f (x j )  x 0 ,则可以把循环互连函数表示为 (x 0 , x1 , , x j ) ,即互联网络的入端. 号 x 0 连至出端号 x1 ,入端号 x1 连至出端号 x 2 ,…,入端号 x j 连至出端号 x 0 , j  1 称为循环 长度。 3.1.3 常用的基本互连函数 3.1.3.1 恒等置换 相同编号的输入端与输出端一一对应互连所实现的置换称为恒等置换。其表达式为: I(x n 1 , x n 2 ,, x1 , x 0 )  x n 1 , x n  2 , , x1 , x 0 等式左边括号内的 x n 1 , x n  2 ,, x1 , x 0 和等式右边的 x n 1 , x n  2 ,, x1 , x 0 均为网络输入端和输出 端的二进制地址编号。这种恒等置换实现的输入端与输出端的连接如图 3-4 所示,图中左部为 输入端,右部为输出端。 5.1.3.2 交换置换 交换置换是实现二进制地址编号中第 0 位值不同的输入端和输出端之间的连接。其表达 式为: E(x n 1 , x n 2 ,, x1 , x 0 )  x n 1 , x n 2 ,, x1 , x 0 它所实现的输入端与输出端的互连图形如图 3-5 所示。 3.1.3.3 方体置换(Cube) 方体置换是实现二进制地址编号中第 k 位值不同的输入端和输出端之间的连接。 其表达式为:.

(5) 第 3 章 互联网络技术 105. C(x n 1 , x n  2 , , x k 1 , x k , x k 1 ,, x1 , x 0 )  x n 1 , x n 2 ,, x k 1 , x k , x k 1 ,, x1 , x 0 0. 0. 0. 0. 1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3. 4. 4. 4. 4. 5. 5. 5. 5. 6. 6. 6. 6. 7. 7. 7. 7. 图 3-4 N=8 时恒等置换. 图 3-5 N=8 时交换置换. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 7. 7. 7. 7. 7. 7. (a)C0 方体置换. (b)C1 方体置换 图 3-6. (c)C2 方体置换. N=8 时方体置换. 显然,对于 N 个输入输出结点的互联网络,可以有 n  log N 个方体置换 C0、C1、…、Cn-1。 以 N=8 为例,则有 n= log 2 8 =3 个方体置换,分别为: C0 (x 2 , x1 , x 0 )  x 2 , x1 , x 0. C1 (x 2 , x1 , x 0 )  x 2 , x1 , x 0. C2 (x 2 , x1 , x 0 )  x 2 , x1 , x 0. 其互连图形如图 3-6 所示,其中 C0 即为交换置换。 3.1.3.4 均匀洗牌置换(Shuffle) 均匀洗牌置换是将输入端分成数目相等的两半,前一半和后一半按序一个隔一个地从头 至尾依次与输出端相连。由于类似洗扑克牌,将整副扑克牌分成相等的两叠,理想时一张隔一 张均匀搭配。其实质是将输入端二进制地址循环左移一位即得到对应输出端的二进制地址。其 函数关系可表示为: (x n 1 , x n 2 ,, x1 , x 0 )  x n 2 , x n 3 ,, x 0 , x n 1 对于 N=8 个输入输出结点的互联网络均匀洗牌的互连图形如图 3-7(a)所示。 此外,还可分别定义子洗牌(Subshuffle) (k) 和超洗牌(Supershuffle) (k) 如下: (k) (x n 1 , x n  2 , , x k 1 , x k , x k 1 , , x1 , x 0 )  x n 1 , x n 2 ,, x k 1 , x k 1 ,, x 0 , x k (k) (x n 1 , x n  2 , , x n k , x n  k 1 , x n  k  2 , , x1 , x 0 )  x n  2 , x n 3 , , x n  k , x n  k 1 , x n 1 , x n  k  2 , , x 0 , x k. 显然下列等式成立: (n 1) (x)  (n 1) (x)  (x). (0) (x)  (0) (x)  x. 对于 N=8 个输入输出结点的互联网络子洗牌置换 (2) 和超洗牌置换 (2) 的互连图形如图 3-7(b)、(c)所示。从图中可以看出,子洗牌是将整组数据分成若干个小组,对每个子组完 成均匀洗牌变换,超洗牌仍对整组数据进行均匀洗牌变换,但增加了数据变换宽度。.

(6) 106. 计算机体系结构(第二版) 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 7. 7. 7. 7 (b)子洗牌置换 (2). 7 (a)均匀洗牌置换 . (c)超洗牌置换 . 7 (2). 图 3-7 N=8 时的均匀洗牌置换. 逆均匀洗牌是均匀洗牌的逆函数,其函数表达式为:  1 (x n 1 , x n  2 , , x1 , x 0 )  x 0 , x n 1 , , x 2 , x1. 它是将输入端二进制地址编号循环右移一位即得到相应的输出端地址。对于 N=8 个输入输出 结点的互联网络的互连图形如图 3-8 所示。 以均匀洗牌和逆均匀洗牌代表的链路与以交换代表的开关多级组合起来可构成和逆 网络。  函数在实现多项式求值、矩阵转置和 FFT 等并行排序方面得到广泛应用。 另外还有 q 洗牌函数,q 洗牌函数的表达式为: Sqr (i)  (qi  i / r) mod qr 其中,q 和 r 是正整数,q×r=N,0≤i≤qr-1。其理意义是:将 q×r 张牌分成 q 组,每组 r 张, 洗牌时将第一组的第一张牌放在第一个位置,再取第二组的第一张牌放在第二个位置,……直 至取 q 组的第一张牌放在第 q 个位置上之后,再取第一组的第二张牌放在第 q+1 个位置上, 这个过程一直进行到把各组的牌全部取完为止。 对于 N=8 个输入输出结点的互联网络,若 q=2, r=4,则互连图形如图 3-9 所示。 0. 0. 0. 0. 1. 1. 1. 1. 2. 2. 2. 2. 3. 3. 3. 3. 4. 4. 4. 4. 5. 5. 5. 6. 6. 5 6 7. 7 7 图 3-8 N=8 时的逆均匀洗牌置换. 6 7. 图 3-9 N=8、q=2 时的 q 洗牌置换. 3.1.3.5 蝶式置换(Butterfly) 蝶式置换是将输入端二进制地址的最高位和最低位互换位置即可得相应输出端的地址。 其函数表达如下: (x n 1 , x n  2 ,, x1 , x 0 )  x 0 , x n 2 ,, x1 , x n 1 同样,可定义子蝶式 (k) 和超蝶式 (k) 如下: (k) (x n 1 , x n  2 , , x k 1 , x k , x k 1 , , x1 , x 0 )  x n 1 , x n 2 ,, x k 1 , x 0 , x k 1 ,, x1 , x k  (k) (x n 1 , x n  2 , ,x n k , x n  k 1 , x n  k  2 , , x1 , x 0 )  x n  k 1 , x n  2 , , x n  k , x n 1 , x n  k  2 , , x1 , x 0 .

(7) 第 3 章 互联网络技术 107. 显然下列等式成立: (n 1) (x)  (n 1) (x)  (x). (0) (x)  (0) (x)  x. 对于 N=8 个输入输出结点的互联网络  、(2) 和 (2) 的互连图形如图 3-10 所示。蝶式与子 蝶式是构成方体多级网络的基础。 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 2. 7 7 (a)=置换. 7 7 (2) (2) (c) = 置换. 7 7 (b)(2)=(2)置换 图 3-10. N=8 时的蝶式置换和位序颠倒置换. 3.1.3.6 位序颠倒置换 位序颠倒置换是将输入端二进制地址的位序颠倒过来求得相应输出端的地址。其表达式为: (x n 1 , x n  2 , , x1 , x 0 )  x 0 , x1 , , x n  2 , x n 1  同样,也可以定义子位序颠倒置换和超位序颠倒置换: (k) (x n 1 , x n 2 ,, x k 1 , x k , x k 1 , , x1 , x 0 )  x n 1 , x n  2 , , x k 1 , x 0 , x1 , , x k 1 , x k (k) (x n 1 , x n 2 ,, x n  k , x n  k 1 , x n k 2 ,, x1 , x 0 )  x n  k 1 , x n k , , x n 2 , x n 1 , x n  k  2 ,, x1 , x 0 . 对于 N=8 个输入输出结点的互联网络  、(2) 和 (2) 的互连图形如图 3-10 所示。这时正好  =  , (2) = (2) , (2) = (2) 。但要注意,不要因为这些特殊情况下的  和  的关系而错认为 . 和  是一样的。 3.1.3.7 移数置换 移数置换是将输入端编号循环移动一定的位置得出输出端编号。其表达式如下: (x)  (x  k) mod N , 0 ≤ x ≤ N  1 k 为常数,指移动的位置值。对于 N=8 个输入输出结点且 k=2 的互联网络α的互连图形如图 3-11(a)所示。 0 1 2 3 4 5 6 7. 0 1 2 3 4 5 6 7. (a)移数置换 k=2. 0 1 2 3 4 5 6 7. 0 1 2 3 4 5 6 7. (b)组内移数置换 k=1、r=2 图 3-11. N =8 时移数置换. 也可以将整个输入端编号分成若干个组,在组内进行循环移数置换,这种组内循环移数 的表达式如下:.

(8) 108. 计算机体系结构(第二版). (x)( N 1):2 r  ((x) (N 1):2r  k) mod 2r  2r. (x)(2r 1):0  ((x)(2r 1):0  k) mod 2r. 其中下标(N-1):2r 和(2r-1):0 分别指从 N-1 结点到 2r 结点和从 2r-1 结点到 0 结点,r=logM,M 为组 内结点数。对于 N=8 个输入输出结点、k=2、r=2 的互联网络  的互连图形如图 3-11(b)所示。 移数置换可以用循环互连函数表示,图 3-11(a)和图 3-11(b)所示的循环互连函数为:  =(0 2 4 6)(1 3 5 7)  =(0 1 2 3)(4 5 6 7) 3.1.3.8 加减 2I 置换 加减 2I 置换使输入端编号 x 同输出端编号 x  2i 相连。其表达式为: PM i (x)  x  2i mod N. PM i (x)  x  2i mod N. 其中 0≤x≤N-1,0≤i≤(n-1),n= log 2 N 。对于 N=8 个输入输出结点的互联网络 PM2I 的互连 图形如图 3-12 所示。从图可知,它实际上也是一种移数置换。 0 1 2 3 4 5 6 7. 0 1 2 3 4 5 6 7. 0 1 2 3 4 5 6 7. (a)i=0. 0 1 2 3 4 5 6 7 (b)i=+1. 图 3-12. 0 1 2 3 4 5 6 7. 0 1 2 3 4 5 6 7 (c)i=+2. N=8 时的 PM2I 置换. 加减 2I 置换也可以用循环互连函数表示。对于 N=8 的 PM2I 置换,共有 2n=6 个互连函数, 分别用循环互连函数表示为: PM2+0=(0 1 2 3 4 5 6 7) PM2+1=(0 2 4 6)(1 3 5 7) PM2+2=(0 4)(1 5)(2 6)(3 7). PM2-0=(7 6 5 4 3 2 1 0) PM2-1=(6 4 2 0)(7 5 3 1) PM2-2=(4 0)(5 1)(6 2)(7 3). 3.1.4 互联网络结构特性和传输性能参数 3.1.4.1 互联网络的结构特性参数 互联网络的拓扑结构可用有向边或无向边连接有限个结点的图来表示。利用图的有关参 数能定义出互联网络拓扑结构的若干特性参数。 互联网络的结构特性参数可分为物理结构和逻 辑特性两个方面。 1.物理结构参数 (1)网络规模。互联网络中的结点数称为网络规模,它表示该网络所能连接的部件个数。 (2)结点度。互联网络中某一结点相连接的边(即链路或通道)数称为该结点的结点度, 用 d 表示。进入结点的边数称为入度,从结点出来的边数称为出度,结点度为入度与出度之和。 (3)结点距离。互联网络中两个结点之间相连的最少边数称为这两个结点的结点距离。 (4)网络直径。互联网络中任意两个结点之间距离的最大值称为网络直径。从通信的观 点来看,网络直径应当尽可能小。 (5)结点线长。互联网络中两个结点之间连接线的长度称为这两个结点的结点线长,它 会影响信号的时延等性能特性。.

(9) 第 3 章 互联网络技术 109. 2.逻辑特性参数 (1)网络等分宽度。当某一互联网络被切分成相等的两半时,沿切口的最小边(通道) 数称为通道等分宽度,又称对剖宽度,用 b 表示。相应的切口称为对剖平面(一组连线)。而 线等分宽度 B=b×,为通道宽度(用位表示)。 (2)网络对称性。从任何结点看,互联网络的拓扑结构都是相同的,则称该互联网络具 有对称性,该互联网络称为对称网络。对称网络容易实现,对编程的支持良好。 (3)网络可扩展性。网络可扩展性是指在互联网络拓扑性能保持不变的情况下,可扩充 结点的能力。 3.1.4.2 互联网络的传输性能参数 两台计算机连接的最简单的网络如图 3-13 所示,它们都有一个先进先出的数据队列,一 台计算机向另一台计算机发送消息。 A 机器. B 机器 图 3-13. 连接两台机器的简单网络. 发送方的步骤为:首先应用程序把要发送的数据拷贝送到操作系统缓冲区,然后操作系 统根据要发送的数据计算出检查和。把它放在消息中,并启动超时计数器;最后操作系统把缓 冲区中的数据送到网络接口硬件,并通知硬件开始发送消息。 接收方的步骤为:首先把数据从网络接口硬件拷贝到操作系统缓冲区;然后根据接收到 的数据计算出检查和,若与发送过来的检查和匹配,则发送一个应答信号给发送方(发送方接 收到应答信号就会释放缓冲区) ,否则删除该消息,发送方在超时计数器超时后重发该消息。 最后若检查和匹配,则把接收到的数据拷贝到用户地址空间并启动应用程序继续执行。 因此,互联网络的传输性能参数可分为时延和带宽两个方面,其中时延性能参数如图 3-14 所示。 发送方 发送方 开销 接收方. 传送时间 飞行时间. 传送时间 传输时间. 接收方 开销. 总时延 图 3-14. 互联网络时延传输性能参数. 1.时延性能参数 由图 3-14 可知一个消息在互联网络上传输的总时延为: 总时延=发送方开销+飞行时间+传送时间+接收方开销。 (1)发送方开销(Sender Overhead)。处理器把消息放到互联网络的时间称为发送方开销, 包括软件和硬件所花费的时间。 (2)接收方开销(Receiver Overhead)。处理器把到达的消息从互联网络取出来的时间称 为接收方开销,也包括软件和硬件所花费的时间。 (3)飞行时间(Time of Flight)。飞行时间是指发送方开始发送消息至第一位信息到达接.

(10) 110. 计算机体系结构(第二版). 收方所花费的时间,它包括由于网络中转发或其他硬件所花费的时间。 (4)传送时间(Transmission Time)。传送时间是指消息通过网络的时间,它等于消息长 度除以网络频宽。 (5)传输时间(Transport Latency)。传输时间是指消息在互联网络上传输所花费的时间, 它等于飞行时间和传送时间之和。 2.带宽性能参数 (1)端口带宽。互联网络中任一端口到另一端口传输信息的最大速率称为端口带宽,单 位为 MB/s。对称网络的端口带宽与端口位置无关,非对称网络的端口带宽是所有端口带宽的 最小值。 (2)聚集带宽。互联网络中从一半结点到另外一半结点传输信息的最大速率称为聚集带 宽,单位为 MB/s。聚集带宽=端口带宽×结点数/2。例如,每个端口带宽为 10MB/s,那么 512 个结点的聚集带宽为(10×512)/2≈2.5GB/s。 (3)对剖带宽。互联网络中对剖平面上传输信息的最大速率称为对剖带宽,单位为 MB/s。 (4)网络频宽(Bandwidth)。网络频宽泛指消息进入网络频宽网络后,互联网络传输信 息的最大速率,单位为 MB/s。 3.1.5 互联网络的分类 根据互联网络的拓扑结构和特性,可将互联网络分成 5 大类,如图 3-15 所示。 底板总线 总线. 单总线 多总线. 争用总线 令牌总线. 共享介质网络 环形. 非阻塞网络. FDDI IBM 令牌. 二维网络交换开关 共享存储器 空分总线 Clos 网络 网格网络. 互联网络. 基于寻径器网络 (直接网络). 二维网络网络 三维网格网络 双向环形网络. 环形网络. 二维环形网络 三维环形网络. 单向环形网络——一维环形网络 超立方体网络 规则拓扑结构网络 基于开关网络 (间接网络). 单向多级网络 双向多级网络 单向环形网络. 非规则拓扑结构网络. 混合网络 图 3-15. 互联网络的分类. 3.1.5.1 共享介质网络 共享介质网络是指在同一时间都只允许一个结点进行发送或接收,它又分总线结构和环.

(11) 第 3 章 互联网络技术 111. 形结构。其中总线结构包括底板总线、争用总线和令牌总线,底板总线又包括单总线和多总钱 等。而环形结构主要有 FDDI 和 IBM 令牌环。 3.1.5.2 非阻塞网络 非阻塞网络是指任何输入输出结点对之间总可以建立连接通路,消息通信不会阻塞。设 计非阻塞网络的方法有多种,如采用交叉开关、空分总线和共享存储器技术等。非阻塞网络包 括二维网络交换开关、共享存储器网络、空分总线和 Clos 网络。 3.1.5.3 直接网络 直接网络是指结点间直接连接,消息在传递途中经过的路径由开关元件事先固定接通, 因此也称为静态网络,或称为基于寻径器网络。一般地,相邻的两个结点通过一对相反方向的 单向通道连接或通过一个双向通道连接,用一个双向通道连接时,必须有一个仲裁协议来决定 使用通道的是哪一侧。直接网络可分为 3 类,即网格网络、环形网络和超立方体的网络。其中 网格网络分为二维网格网络和三维网格网络,环形网络分为双向环形网和单向环形网。双向环 形网又分为二维的和三维的环形网,单向环形网是一维的环形网。 3.1.5.4 间接网络 间接网络是指结点不是通过直接相连的通道进行消息通信,而是通过网络的可控制开关 机构进行连接的。由于每一个结点有一个网络适配器连接到网络的开关上,因此也称为基于开 关的网络。开关的互连方式决定了网络的拓扑结构,大多数间接网络采用由多级开关组成的多 级开关互联网络。间接网络按拓扑结构可分为规则拓扑结构和不规则拓扑结构,其中规则拓扑 结构又分为单向多级网络、双向多级网络和单向环网络。 3.1.5.5 混合网络 混合网络是指一个互联网络中混合了两种以上的网络。 特别地根据网络各结点间的通路在运行中是否可改变的原则,可将互联网络分为静态互 联网络和动态互联网络两大类。 【例 3.1】 由 16 个处理单元组成的 Illiac IV 阵列处理机采用的互联网络如图 3-16 所示, 该互联网络采用的是哪一种互连函数。. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 图 3-16. Illiac Ⅳ阵列处理机采用的互联网络. 解 横向处理单元的连接有两种,一是 0→1→2→…→14→15→0,即是(0 1 2 … 14 15);另一是 15→14→…→2→1→0→15,即是(15 14 … 2 1 0)。互连函数分别为 PM2+0 和 PM2-0。.

(12) 112. 计算机体系结构(第二版). 纵向处理单元的连接有两种,一是 0→4→8→12→0、1→5→9→13→1、2→6→10→14→2、 3→7→11→15→3,即是(0 4 8 12)、(1 5 9 13)、(2 6 10 14)、(3 7 11 15); 另一是 12→8→4→0→12、13→9→5→1→13、14→10→6→2→14、15→11→7→3→15,即是 (12 8 4 0)、(13 9 5 1)、(14 10 6 2)、(15 11 7 3)。互连函数分别为 PM2+2 和 PM2-2。 【例 3.2】 设 16 个处理器编号分别为 0、1、…、15,用单级互联网络连接,当互连函数 分别为(1)Cube3 、(2)PM+3 、(3)Shuffle(Shuffle)时,第 13 号处理器分别与哪一个处理 器相连? 解 (1)因为 Cube3(X3X2X1X0)=X3X2X1X0 所以 13 → Cube3(1101)=0101 → 5 3 (2)因为 PM+3 = X + 2 MOD N 所以 13 →PM+3(13)= 5 (3)因为 Shuffle(Shuffle(X3X2X1X0))= Shuffle(X2X1X0X3)= X1X0X3X2 所以 13 → Shuffle(Shuffle(1101))= Shuffle(1011)= 0111 → 7 【例 3.3】 假设一个互联网络的频宽为 10Mb/s,发送方和接收方开销分别等于 230s 和 270s。如果两台机器相距 100m,现在要一台机器发送一个 1000 字节的消息给另外一台机器, 试计算总时延。如果两台机器相距 1000km,总时延是多少。 解 光的速度为 299792.5km/s,信号在导体中传输的速度大约是光速度的 50%,从而可 计算出飞行时间。 相距 100m 总时延 T=发送方开销+飞行时间+传送时间+接收方开销 = 230s+0.1km/(0.5×299792.5km/s)+(1000×8)/10Mb/s×270s = 1301s 相距 1000km 总时延 T=发送方开销+飞行时间+传送时间+接收方开销 = 230s+1000 km/(0.5×299792.5km/s)+(1000×8)/10Mb/s×270s = 7971s. 3.2. 静态互联网络. 3.2.1 静态互联网络及类型 3.2.1.1 什么是静态互联网络 静态互联网络是指在各结点间有专用的连接通路,且在运行中不能改变的网络。网络中 的每一个开关元件固定地建立结点之间的连接,直接实现结点之间的通信。这种网络一旦构成 就是固定不变的,比较适合构成通信模式可预测的并行处理系统和分布计算机系统。 3.2.1.2 静态互联网络的种类 静态互联网络可以用维数来分类,所谓 n 维是指将它们画在 n 维空间上各条链路不会相 交。一维的静态互联网络有线性阵列结构;二维的有环形、星形、树形和网格形等;三维的有 带弦环形网络、循环移数网络、全连接和立方体网络及其变形等;三维以上的有超立方体等。 3.2.2 静态互联网络的结构 3.2.2.1 一维网络 一维网络又称线性阵列,是互联网络中拓扑结构最简单的,如图 3-17 所示是 N 个结点用.

(13) 第 3 章 互联网络技术 113. N-1 条链路连成一行,内部结点度为 2,端结点度为 1,直径为 N-1,等分宽度为 1,结构不对 称。应当注意,它与总线结构是有区别的,总线结构是通过时分切换使多对结点分时进行通信, 而线性阵列允许不同的结点对并发使用系统的不同部分(通道) 。线性阵列的 N 较大时,直径 比较大,通信效率比较低,且直径随 N 线性增大,因此当 N 比较大时,一般不使用线性阵列 的拓扑结构。在 N 很小时,实现线性阵列是相当经济。. 图 3-17. 一维网络的拓扑结构. 3.2.2.2 二维网络 二维网络拓扑结构容易在 VLSI 芯片上实现,且可扩充性比较好,从而得到广泛应用,如 Intel 公司生产的 Paragon 和 Touchstone Delta 等多处理机系统都使用了二维网络。二维网络主 要有四种,即星形、环形、树形和网格形。 星形和环形二维网络的拓扑结构如图 3-18 所示。星形二维网络是一种二层树,结点度较 高为 N1,直径较小为常数 2,主要用于集中监控系统中。环形二维网络是将线性阵列网络的 两个端点用附加链路连接起来,是对称的,结点度为常数 2;环形二维网络可单向工作,也可 双向工作;单向环的直径是 N,双向环的直径是 N/2;适合于流水线工作使用。. (a)星形二维网 图 3-18. (b)环形二维网. 星形和环形二维网络的拓扑结构. 树形和网格形二维网络会有许多变形。网格形的典型结构是 N=r×r 格式,每格点上有 一个结点,如图 3-19(a)所示,内部结点度为常数 4,边结点度为常数 2 或 3,网络直径为 2(r1),r= N ,是不对称网络。网格形的变形主要有如图 3-19(b)和(c)所示的环形网 和 Illiac 网。环形网是在网格形网络的基础上,沿每行每列有环形连接,一般一个 N=r×r 二 元环网的结点度为常数 4,网络直径为 2「r/2」,比网格形的减少二分之一,是对称网络。一 般一个 N=r×rIlliac 网的网络直径为 r1,也比网格形的减少二分之一,结点度为常数 4,主 要用于阵列处理机上。. (a)网格形网络. (b)环形网格网络 图 3-19. (c)Illiac 网. 网格形二维网络及其变形的拓扑结构. 树形二维网络主要形式有完全平衡的二叉树和二叉胖树(Fat Tree),如图 3-20 所示。一.

(14) 114. 计算机体系结构(第二版) -. 棵 r 层的完全平衡二叉树应有 N=2r 1 个结点,最大结点度为常数 3,网络直径很长为 2(r-1), 是一种具有良好扩展性的网络。二叉胖树的通道宽度从叶结点往根结点上行方向逐渐增宽,缓 解了完全平衡二叉树根结点通信忙的问题,也更像真实的树。. (a)完全平衡二叉树 图 3-20. (b)二叉胖树 树形二维网络的拓扑结构. 3.2.2.3 三维网络 三维网络的拓扑结构主要有带弦环形网络、循环移数网络、全连接和立方体网络及其变形。 带弦环形网络是环形二维网络的变形,是将环形网的结点度提高,以降低网络直径,提 高越多,网络直径越小,如图 3-21 所示是将环形网的结点度 2 增加到 3 和 4,即结点间分别 增加一条和两条附加链路,使网络直径由 4 减少到 3 和 2。. (a)度为 3 的带弦环 图 3-21. (b)度为 4 的带弦环 带弦环形三维网络的拓扑结构. 循环移数网络也是环形二维网络的变形,是将环形网上每个结点到与其距离为 2 整数幂 的结点增加一条附加链而构成的,它的连接特性和结点度较低的带弦环形网络相比有了改进, 但复杂性仍比全连接网络(如图 3-22(b)所示)低得多。如图 3-22(a)所示的循环移数网 络的结点度为 5,网络直径为 2。. (a)循环移数网络 图 3-22. (b)全连接网络. 循环移数与全连接三维网络的拓扑结构. 立方体网络是典型的三维网络,如图 3-23(a)所示。立方体网络的结点数为 8,结点度.

(15) 第 3 章 互联网络技术 115. 和网络直径均为常数 3。立方体网络的变形是带环立方体网络(3-CCC),如图 3-23(b)所示。 是用一个 3 个结点环代替立方体网络角结点(顶角)。带环立方体网络的结点数为 24,结点度 为常数 3,网络直径为常数 6。 110 010. 111 011. 100. 101. 001 000 (a)三维方体网络 图 3-23. (b)带环三维方体网络 立方体及其变形三维网络的拓扑结构. 3.2.2.4 r 维网络 r 维网络的典型结构是 r 维方体(r-cube 或 r-CCC)网络或超立方体网络及其变形结构, 该网络结构得到广泛应用。如 Intel 公司生产的 iPSC 系统则采用了方体网络,它的结点数可从 18 到 128 个。 一个 r 维方体网络有 N=2r 个结点,度数是 r,直径是 r,它是线性阵列拓扑和全连接拓扑 之间的一个折中。当然在 N 很大时,度数 r 将很大,硬件成本也很大。特别地 r 维方体网络可 很容易扩展为 r+1 维立方体,即只要把两个 r 维立方体对应点用链路连接起来,共要连接 2r 条链路,如图 3-24 所示的四维方体网络即是通过将两个三维方体网络的相应结点互连组成。. 图 3-24. 四维方体网络的拓扑结构. r 维方体网络的变形是带环超立方体网络,它是用一个 r 个结点环代替 r 维方体网络角结 点(顶角),这样结点数为 r×2r,,网络直径为 2r,但结点度与 r 无关,均为常数 3。 特别地立方体和超立方体的拓扑网络有一个特性,即相邻结点的二进制编号仅差一位, 而两个结点间的距离正好等于这两个结点二进制编号间不同的位数。如图 3-23(a)中的 000 结点接到 001、010 和 100 结点。而在 001 结点上的信息要送到 111 结点时,可以先从 101 结 点走,也可以先从 011 结点走,但不能从 000 走,因 001 同 111 的第三位二进制数已经相同了, 如果走 000 就要增加距离。这种拓扑结构的优点之一是在两个结点之间总存在 r 条不同的路径 可走,因而容错性就好。例如,从 001 结点到 111 结点(距离为 2)有 3 条路径: 001 011 111 001 101 111 001 000 100 110 111 可以看出,在距离小于 r(例中 r =3)的两个结点间,各条路径的长度并不全是相等的。.

(16) 116. 计算机体系结构(第二版). 3.2.3 静态互联网络特性的比较 如表 3-1 所示汇总了静态互联网络的重要特性。大多数网络的结点度 d 都小于 4,这是比 较理想的。全连接网络和星形网络的结点度都太高。超立方体的结点度随 log 2 N 增大而增大, 当 N 值很大时,其结点度也太高。较高的结点度要求为结点提供较多的通信通道。 表 3-1 静态互联网络特性比较一览表 网络类型. 结点度 d. 线性阵列. 2. 环形. 2. 网络直径 D N1 「N/2」. 链路数. 等分宽度 b. 对称性. 网络规格评注. N-1. 1. 非. N 个结点. N. 2. 是. N 个结点. 是. N 个结点. 非. 树高 r=「log2N」. 非. N 个结点. 全连接. N-1. 1. N(N-1)/2. (N/2). 二叉树. 3. 2(r-1). N-1. 1. 星形. N-1. 2. N-1. 2D 网格. 4. 2(r-1). 2N-2r. r. 非. r×r 网络,r= N. Illiac 网. 4. r-1. 2N. 2r. 非. 与 r= N 的带弦环等效. 2D 环网. 4. 2「r/2」. 2N. 2r. 是. r×r 网络,r= N. 超立方体. r. r. rN/2. N/2. 是. N 个结点,r=log2N(维). CCC. 3. 2r-1+「r/2」. 3N/2. N/(2r). 是. N=r×2r 结点,环长 r≥3. 2. 「N/2」. 网络直径 D 的变化范围很大,但随着硬件寻径技术的发展虫蚀寻径已不是一个严重的问题, 因为任意两结点间的通信延迟在虫蚀寻径这种高度流水线操作下几乎是固定不变的。链路数会 影响网络价格,等分宽度 b 将影响网络的带宽,对称性会影响网络的可扩展性和寻径效率。客 观地说,网络的总价格随 d 和 l 增大而上升。且根据以上分析,环形、网格和 CCC 都具备一 定的条件,用来建造未来的大规模并行处理(MPP)系统。. 3.3. 动态互联网络. 3.3.1 动态互联网络及其互连形式 动态互联网络可通过设置有源开关,根据需要借助控制信号对连接通路重新组合,实现 所要求的通信模式。动态互联网络的形式主要有总线、交叉开关和多级交叉开关等 3 种类型。 3.3.2 总线互联网络 3.3.2.1 总线互联网络及其特点 总线互联网络是指用一组导线和插座将处理机、存储模块和各种外围设备互连起来,实 现功能部件间的数据通信。当总线上的各模块需要通信时,功能部件发出申请,由总线仲裁逻 辑对多个请求进行仲裁,进行总线服务分配。总线只用于源和目的部件之间确立关系后处理一 次业务。总线上各模块是通过争用或时分方式获得总线服务的,所以总线被称为争用总线或分 时总线。总线互联网络与其他两种动态互联网络相比,主要特点有以下几个方面: (1)功能部件间信息传输的带宽低。计算机中多个功能部件共享总线,采用分时方式实.

(17) 第 3 章 互联网络技术 117. 现数据交换,即同一时刻只能有一个功能部件发送信息。 (2)计算机组装方便,扩展性好。功能部件间交换信息的总线标准化,使得功能部件间 连接的接口标准化,与总线标准相匹配的功能部件都可挂在总线上成为计算机的一个部分。 (3)计算机体系结构简单,成本低。功能部件间的连接关系直观,可简化体系结构、硬 件与软件的设计,减轻软件调试,缩短软硬件研制周期。 (4)有很多可用的工业标准,如 IEEE 总线标准。 总线连接的多处理机系统的系统总线为多个处理机、I/O 子系统、主存的多个存储模块和 辅助存储设备之间提供了一条公用通信通路,每台处理机或 I/O 设备可产生访问存储器的请 求,存储器或外围设备则响应该请求。 3.3.2.2 总线互联网络的基本技术 总线互联网络的基本技术主要有总线仲裁、中断处理、Cache 一致性协议和总线事务的处 理等。其中总线仲裁最为重要,一般用硬件实现,常用的算法主要有 4 种:一是静态优先级算 法,即各功能部件的优先级是固定的,通常以串行链上的物理位置来决定;二是固定时间片算 法,即将总线可用的带宽分成固定的时间片,且按循环方式顺序分配于各功能部件;三是动态 优先级算法,即各功能部件的优先级可以调整,使它们都有机会使用总线,如采用 LRU 算法 等;四是先来先服务算法,即按接收到的请求顺序分配总线的使用。 3.3.3 交叉开关互联网络 3.3.3.1 交叉开关互联网络及其特点 交叉开关(Crossbar)互联网络是利用一组纵横交错的开关阵列,把各功能部件互连起来, 实现功能部件间的数据通信。开关阵列中的开关可由程序控制动态设置其处于“开”与“关” 状态,而提供结点对之间的动态连接。交叉开关互联网络实际是多总线向总线数量增加方向发 展的极端情况,总线数等于全部相连的模块数,从而大大加宽了互连传输频带,提高了系统的 效率。如图 3-25 所示把横向的 S 个处理机及 I 个 I/O 设备与纵向的 N 个存储器模块连接起来, 总线数等于全部相连的模块数(N+I+S),且 N≥I+S,使 S 个处理机和 I 个 I/O 设备都能分到 一套总线与 N 个存储器模块中的某个相连。 M1. M2. …. MN. P1 I/O1. …. …. PS 图 3-25. … I/OI. 交叉开关阵列互连形式. 交叉开关实际是一种单级的互联网络,采用无阻塞的形式实现输入输出端的连接。但在 数据传送过程中仍然会有端口冲突的情况,原因可能有多个输入端的数据分组转发到同一个输 出端。交叉开关与总线相比,交叉开关采用按空间分配的机制,而总线互联网络采用按时间分 配的机制。 3.3.3.2 结点开关的结构模型 图 3-25 所示的交叉开关中,每一个交叉点都表示一套开关,即结点开关。结点开关不仅.

(18) 118. 计算机体系结构(第二版). 要有多路转接逻辑,还要具有处理访问存储器冲突的仲裁硬件,加上总线本身有一定的宽度, 使得整个交叉开关阵列相当复杂。 C.mmp 的 16×16 处理机-存储器模块的交叉开关阵列中一个结点开关的结构模型如图 3-26 所示,它主要是由仲裁模块和多路转换模块两部分组成。16 个处理机都可以为请求访问 某一个存储器模块而给相应的结点开关的仲裁模块发出请求信号, 由仲裁模块按一定的算法响 应具有最高优先级的请求,且返回一个应答信号。该处理机或 I/O 设备接到应答信号后,就经 多路转换模块开始访问相应的存储器模块。多路转换器是一个 16 选 1 的多路选择器,它受仲 裁模块控制,为仲裁模块确定的处理机同存储器模块之间建立连接,进行数据、地址和读/写 信息的传送。美国的 C.mmp 和 S-1 系统都是采用交叉开关互连的多处理机系统,它们都包 含 16 台处理机。 数据 n 多路转换 模块. 读写 2 存 储 器 模 块. 地址 m. 控制 4 存储器使能. 图 3-26. 仲裁模块. 数据 读写 地址. 来自处理机 P1~P16. 请求应答 1 请求应答 2 … 请求应答 16. 交叉开关中结点开关的结构模型. 3.3.3.3 交叉开关模块 一个 a×b 交叉开关模块有 a 个输入端和 b 个输出端。理论上 a 和 b 不一定相等,但实际 上经常选 a=b,且为 2 的整数幂,即:a=b=2k,k≥1。常用为 2×2、4×4 和 8×8 的开关模块。 交叉开关模块的每个输入端可与一个或多个输出端相连,而且容许一对一或一对多的连接或映 射,但不允许有多对一的连接,因为多个输入端同时争用一个输出端的冲突会导致通过这个开 关传送信息被阻塞。 只允许一对一映射的 n×n 的交叉开关模块,有 n 个输入端和 n 个输出端,结点开关数为 2 n ,输入端与输出端的合法状态(连接模式)为 nn,可实现的连接或置换为 n!。例如,4×4 的交叉开关,含有 16 个结点开关,合法的状态 256,可实现的连接为 24。 3.3.4 多级交叉开关互联网络 3.3.4.1 多级交叉开关互联网络的基本概念 交叉开关互联网络是一种单级的互联网络,输入端的数据经过一个开关元件就被输出, 而交叉开关阵列是非常复杂的。当纵向和横向的总线数都为 n 时,交叉开关阵列的所有交叉点 的设备量是 O(n2)。n 很大时,其成本可能会超过连接的 2n 个部件(包括 n 个处理机和 I/O 设 备、n 个存储器模块)的成本,因此,采用交叉开关的多处理机一般 n≤16,少数有 n=32。 由于大规模交叉开关的复杂性,人们一直在寻求改进交叉开关结构的各种方式。改进的 基本思想是:通过采用多个较小规模的交叉开关的“串连”和“并连”来构成一个多级交叉开 关互联网络,以取代单个的大规模交叉开关。例如,用 8 个 4×4 交叉开关模块可组成一个 16 ×16 的二级交叉开关网络,每一级有 4 个 4×4 交叉开关组成,两级间采用某种固定连接。8.

(19) 第 3 章 互联网络技术 119. 个 4×4 交叉开关模块组成的多级交叉开关互联网络的结点开关数是 128 个,而单一的 16×16 的交叉开关阵列的开关结点是 256 个,前者结点开关设备量仅为后者的一半。 多级交叉开关互联网络是把重复设置的多套动态单级交叉开关网络串并联起来,级间串 联的交叉开关之间采用固定的级间连接模式,同级的交叉开关之间相互独立,通过动态控制各 级上的交叉开关的结点开关状态来实现多级交叉开关互联网络的输入端和输出端之间所需的 连接。多级交叉开关互联网络一般简称为多级互联网络。许多 MIMD 和 SIMD 计算机都使用 多级交叉开关互连。 3.3.4.2 多级交叉开关互联网络的结构模型 多级互联网络结构模型如图 3-27 所示,它需要用 3 个参数来描述,即开关模块、级间连 接(ISC)模式和控制方式。 0 1 … … a-1 a a+1 … … 2a-1. a×b 开关. …. a×b 开关. …. ……. I S C 1. …. a×b 开关 …. …. a×b 开关 …. ……. …. I S C 2. …. a×b 开关. I S C n. …. a×b 开关. 0 1 … … b1 b b+1 … … 2b1. ……. n. a -a … an-1. …. a×b 开关. …. …. 图 3-27. a×b 开关 …. …. …. a×b 开关 …. bnb … bn1. 多级交叉开关互联网络的结构模型. 1.开关模块 在多级交叉开关互联网络中一般采用最简单的 2×2 开关模块,2×2 开关模块有 4 种合法 的工作状态,即直送、交叉、上播和下播,如图 3-28 所示,但它有两种类型。一是只有“直 送”和“交叉”两种工作状态的开关,则称为二功能交叉开关;另一是具有 4 种合法的工作状 态的开关,则称为四功能交叉开关。 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. (a)直送. (b)交叉 图 3-28. (c)上播. (d)下播. 2×2 开关模块的 4 种合法状态. 2.级间连接模式 级间连接模式(ISC)是指多级交叉开关互联网络中上一级开关模块的输出端和下一级开 关模块的输入端相互连接的模式。级间连接是固定的,可以用互连函数表示级间连接模式。常 用的级间连接模式有均匀洗牌、蝶式、多路洗牌、纵横交叉和立方体连接等。 3.控制方式 为了使各级交叉开关的输入端和输出端建立所需的连接,可通过控制信号动态控制开关 模块的工作状态来实现,即通过对开关模块的状态控制来实现对多级互联网络要求实现的互 连,这称为互联网络拓扑结构的可动态重构,其控制的方式有以下 3 种:.

(20) 120. 计算机体系结构(第二版). (1)级控制。对同一级的所有交叉开关只用一个控制信号进行控制,使同一级的所有交 叉开关同时处于同一工作状态。 (2)组控制。对同一级的所有交叉开关分组控制,第 i 级的所有交叉开关分别用 i+1 个信号进行控制,即分为 i+1 组,同一组上交叉开关同时处于同一工作状态,0≤i≤n-1,n 为 级数。 (3)单元控制。每一个交叉开关模块都有自己单独的控制信号进行控制,使各个交叉开 关可以处于不同工作状态。 3.3.4.3 多级交叉开关互联网络的种类 虽然众多的多级交叉开关互联网络在结构模型上可以用图 3-24 来表示,但在开关模块、 级间连接(ISC)模式和控制方式上各有不同,从而形成各种不同的多级互联网络。多级交叉 开关互联网络可分为阻塞网、可重排非阻塞网和非阻塞网 3 种类型。 阻塞网络是指一对以上输入端和输出端可同时实现互连的网络中,可能发生两个或两个 以上的输入端对输出端的连接要求产生路径争用冲突。各种阻塞网络可实现一些典型互连函数 表示的连接,但不能实现任意的互连函数表示的连接。由于阻塞网所用开关数量少,延时也不 长,路径控制较简单,能实现并行处理中许多常用的互连函数,所以在实际系统中使用广泛。 有代表性的阻塞网有网络、STARAN 网络、间接二进制 n 方体网络、基准网络、  网络、数 据变换网络等。 可重排非阻塞网络是指如果改变开关状态,一方面重新安排现有连接的通路,另一方面 为新连接安排通路,满足一个新的端点对的连接请求,从而就可实现无阻塞的任意端点对的连 接,即可实现任意的互连函数。有代表性的可重排非阻塞网络有可重排 Clos 网络、Benes 二 进制置换网络等。 非阻塞网络是指不必改变原来的开关状态就可满足任意输入端和输出端之间的连接请 求。它与可重排非阻塞网是不同的,可重排非阻塞网要通过改变原来的开关状态来改变连接的 路径,才能满足新的连接请求。因此,非阻塞网是连接能力最强的多级互联网络。交叉开关网 络属于单级非阻塞网,对称和非对称多级 Clos 网络属于多级非阻塞网。 特别地所谓互联网络实现了某种互连函数是指该互连函数表示的连接关系在该互联网络 中可同时建立而不会产生路径争用冲突的现象。 3.3.5 动态互联网络特性的比较 总线、交叉开关、多级交叉开关等 3 种动态互联网络的主要特性如表 3-2 所示。其中在总 线中,为总线上数据通路的宽度,n 为总线上连接的分接头数;在交叉开关中,为交叉开 关设计上的通路宽度,n 为交叉开关结点的行数和列数;在多级交叉开关中,为多级交叉开 关设计上的最小链路宽度,n 为多级交叉开关的级数,k 为 k×k 的交叉开关模块。 1.硬件复杂性 用连线和交换开关表示复杂性。 总线互连的成本最低。连线的复杂性主要由总线设计的数据通路的宽度和地址线的宽度 决定。256 根数据线和 42 根地址线代表了当今总线设计的水平。地址线可被隐蔽而成为数据 通路的一部分,例如,256 位的 Futurebsu 总线中,64 根线由地址和数据总线共享。总线开关 的复杂性由在总线上连接的分接头数 n 决定,这也受到只能以小数目的处理器、存储器和 I/O 板连接到总线上的限制。设为总线上数据通路的宽度,总线互连的硬件复杂性随 n 和两者.

(21) 第 3 章 互联网络技术 121. 线性增加,可用函数 O(n+)表示。 交叉开关是最昂贵的,因为它的硬件复杂性随 n2 的乘积增大。对于相同的数据通路宽度, n×n 交叉开关的价格几乎是总线互连的 n2 倍。 一个 n 输入的多级交叉开关,硬件复杂性的函数为 O(nlogkn),其中 nlogkn 相应于所使 用的交叉开关的数目。 多级交叉开关硬件复杂性位于总线和交叉开关网络这两种极端的情况之 间。对于相同的通路宽度,可以粗略地估计多级交叉开关价格比交叉开关便宜 n/logkn 倍。 表 3-2 动态互联网络特性比较一览表 网络特性. 总线. 交叉开关. 多级交叉开关. 单位数据传输的最小时延. 恒定. 恒定. O(log n). 每台处理机的带宽. O( / n) 到 O(). O() 到 O(n). O() 到 O(n). 连线的复杂性. O(). O(n 2). O(n log k n). 开关的复杂性. O(n). O(n 2 ). O(n log k n). 连接特性和寻径性能. 一次只能一对一. 全置换,一次一个. 只要不阻塞,可实现某 些置换和广播. 2.每台处理器带宽 总线由 n 个功能部件分时共享,因此 n 个处理器竞争总线带宽。假设相同的时钟频率为 f, 在 3 种互联网络中每单位数据传输都仅需一个时钟周期,那么总线的每个处理器带宽在函数 O(f/n)和 O(f)范围内变化。而交叉开关和多级交叉开关具有较宽的处理器带宽,该带宽随函 数 O(f)线性变化。 总线只需较少时间(通常是 1 或 2 周期)来传输单位数据片,而多级交叉开关需要多个 时钟周期经过多级开关传输一个数据片。因此,总线带宽并不比多级交叉开关带宽低很多。在 所有情况下,交叉开关具有最高的处理器带宽,因为它用较短时延(也是 1 或 2 周期)与输入 输出端口实现的无冲突连接。 3.聚集带宽 Gigaplane 总线的聚集带宽为 2.67GB/s=21.36Gbps,假设 n=24 个处理器共享总线带宽,那 么每个处理器的带宽降低为 21.36Gb/s/24=0.89Gb/s。GIGAswitch 交叉开关聚集带宽为 3.4 Gb/s, 意味着 GIGAswitch 潜在的每个处理器带宽比 Gigaplane 总线高 3.8 倍。IBM HPS 多级交叉开 关在最大配置(n=512 个端口)时,具有的聚集带宽为 10.24GB/s=81.92 Gb/s。显然,多级交 叉开关比总线或交叉开关互连具有更好的扩展性。 总之,多级交叉开关是总线和交叉开关之间的折中,每台处理器带宽与交叉开关相同, 硬件复杂性介于总线和交叉开关之间。多级交叉开关的最主要优点是采用模块结构,可扩展性 较好,但时延随级数增加而对数上升。. 3.4. 常用的多级交叉开关动态互联网络. 3.4.1 多级动态网络(Omega 网络) 3.4.1.1 网络的结构及其特点 网络又称为多级洗牌置换网络,若它的输入端或输出端数为 N,则网络的交叉开关级.

(22) 122. 计算机体系结构(第二版). 数为 n= log 2 N ,每级有 N/2 个交叉开关,故网络的交叉开关数为(N/2) log 2 N 。网络的结 构特点是: (1)采用 2×2 的 4 功能交叉开关,4 个功能为直送、交叉、上播、下播。 (2)各级交叉开关的级号编排是从网络输入端到输出端,依次为 Kn-1、…、K1、K0。 (3)级间连接从网络输入端到输出端依次分别表示为 Cn、…、C1、C0,其中,C1~Cn 都是均匀洗牌置换函数,C0 是恒等置换函数。 因此,网络的输入端对输出端的互连函数表达式为: (n)=σnHn-1σn-1Hn-2…σ1H0I0=(σH)n 其中:Hi 是 Ki 级交叉开关在单元控制下实现的置换函数(0≤i≤n-1),  j 是 Cj 级级间连接模 式实现的均匀洗牌置换函数(1≤j≤n),I0 是 C0 级级间连接模式实现的恒等置换函数。故可 称网络为多级洗牌置换网络,N=8 的网络的结构如图 3-29 所示。 0. 0. 1. 1. 2. 2. 3 4. 3 4. 5. 5. 6. 6. 7. 7 C3. 输入端. C2 K2 图 3-29. 3.4.1.2. C1 K1. C0 K0. 输出端. N=8 的网络结构. 网络的开关控制与寻径算法. 网络对交叉开关状态采用单元控制方式来获得所需要的输入端到输出端的连接路径,交 叉开关单元控制采用终端标记寻径算法。所谓终端标记寻径算法的含义是指:以终端的二进制 地址 D 中的各位作为控制信号,来控制从源端到终端所经过路径上的各级交叉开关的工作状 态,实现源端到终端的连接来保证数据正确传送。终端标记寻径算法具体如下: 设网络输入端二进制地址编号为 S=sn-1 sn-2…s1s0,输出端二进制地址编号为 D=d n-1dn-2… d1 d0。从输入端 S 开始,第 i 级 Ki 交叉开关状态由终端地址 D 的相应二进制数位 di 控制。若 di=0,则 Ki 级上对应交叉开关的输入端与上输出端相连;若 di=1,则 Ki 级上对应交叉开关的 输入端与下输出端相连。 如图 3-30 所示,当源端地址为 S =010,终端地址为 D=110 时,连接源端 010 的 K2 级的 交叉开关因终端地址 D =110 的 d2 =1,故使该交叉开关输入端与下输出端相连。同样,因 d1=1, 故 k1 级的对应交叉开关的输入端与下输出端相连;因 d0=0,故 K0 级的对应交叉开关的输入 端与上输出端相连。从而完成了网络源端 S=010 到终端 D=110 的连接。 对网络的源端集合到终端集合的连接,都可用终端标记法来控制交叉开关的工作状态。 但由于终端标记法使每一个源端终端对的连接路径是唯一的,因此不能保证不发生争用交叉开.

(23) 第 3 章 互联网络技术 123. 关状态的冲突。例如要实现(000,000)和(100,010)两对同时连接,就会发生 K2 级交叉开关的冲 突,如图 3-30 所示,即网络是一种阻塞网。 000. 010 100. 0. 0. 1. 1. 2. 2. 3 4. 3 4. 5. 5. 6. 6. 7. 010. 110. 7 C3. 输入端. 000. C2 K2. 图 3-30. C1 K1. C0 K0. 输出端. N=8 的网络发生争用交叉开关冲突. 3.4.1.3 网络可实现的互连函数 (1)恒等置换。 f(x)=x 其中 0≤x<N (2)按 c 序散播加上距离为 d 的移数置换。 f(x)=cx+d 其中 0≤x<N,c 为奇数 (3)a 序向量的收集加上距离为 b 的移数置换。 f(ax+b)=x 其中 0≤x<N,a 为奇数 在数组中,网络可完成按行、列、对角线和子块等无冲突的访问,因此网络的应用极 广泛。但不能用网络来实现源端集合到终端集合的均匀洗牌、蝶式和位序颠倒等置换,因为 这些置换连接要求会发生争用开关的冲突。 3.4.2 STARAN 多级动态网络 3.4.2.1 STARAN 网络的结构及其特点 若 STARAN 网络的输入端或输出端数为 N, 则 STARAN 网络的交叉开关级数为 n= log 2 N , 每级有 N/2 个交叉开关,故 STARAN 网络的交叉开关数为(N/2) log 2 N 。STARAN 网络的结构 特点是: (1)采用 2×2 的 2 功能交叉开关,两个功能为直送和交叉。 (2)各级交叉开关的级号编排从网络的输入端到输出端,依次将为 K0、K1、…、Kn-1。 (3)级间连接模式从网络输入端到输出端依次表示为 C0、C1、…、Cn,其中,C0 是恒等 置换,C1~Cn 都是逆洗牌置换。 因此,STARAN 网络的输入端对输出端的互连函数表达式为: STARAN(n)=I0H0σ1 1H1σ2 1…Hn-1σn 1=(Hσ 1)n 其中:Hi 是 Ki 级交叉开关级在级控制或组控制下实现的置换函数(0≤i≤n-1),σ 1j 是 Cj 级 级间连接模式实现的逆洗牌置换函数(1≤j≤n),I0 是 C0 级级间连接模式实现的恒等置换函 数。N=8 的 STARAN 网络的结构如图 3-31 所示。.

(24) 124. 计算机体系结构(第二版). 0. 0 1 输 入 端. 2 3 4. A. E. I. B. G. J. C. F. K. 1 2 3. 输 出 端. 4 5. 5 6. D. H. 6. L. 7. 7 C0. C1 K0. C2 K1. 图 3-31. C3 K2. N=8 的 STARAN 网络结构. 3.4.2.2 STARAN 网络的开关控制 STARAN 网络的交叉开关控制方式有两种:一种是级控制,可实现方体置换,故级控制 的 STARAN 网络又被称为方体网络;另一种是组控制,可实现移数置换,故组控制的 STARAN 网络又被称为移数网络。 1.级控制 在级控制下,对于一个两功能交叉开关,只需一个控制位信号 f 就可控制交叉开关的工作 状态。交叉开关输出 V(x)与输入 x 的连接和控制位 f 的关系可表示为: V(x)=x  f 若 f=0,则 V(x)=x,开关为直送连接;若 f=1,则 V(x)= x ,交叉开关为交叉连接。 对于级控制,可以用二进制向量 F=(fn-1fn-2…f1f0)表示网络的控制信号,F 的位分量 fi 就是 交叉开关级 Ki 的所有交叉开关的控制位信号。这样 STARAN 网络各级交叉开关实现的互连函 数为: V(xn-1xn-2…x1x0)=(xn-1  fn-1,xn-2  fn-2,…,x1  f1,x0  f0) 2.组控制 STARAN 网络的组控制是指将第 i 级的 N/2 个 2×2 的 2 功能开关分成 i+1 组,每组用一 个位信号控制交叉开关的工作状态。对于一个两功能交叉开关,级数是 n= log 2 N 的 N×N 的 STARAN 网络,从第 0 级至第 n-1 级所需的控制信号位数分别为 1、2、…、n 个,因此,共 需 n(n+1)/2 个位组成二进制控制向量 F。对于 N=8 的网络,需要 6 个位信号组成控制向量 F, 表示为 F=(f23 f22 f21 f12f11 f0)。交叉开关输出 V(x)与输入 x 的连接和控制位 f 的关系与级控制相 同。实现移数置换的互连函数为:  (x)=(x+2m) mod 2p 其中,p 和 m 都是整数,且 0≤m<p≤n。 3.4.2.3 STARAN 网络可实现的互连函数 1.级控制方式的方体置换 在级控制方式下,含有 n 级的 STARAN 网络需要的二进制控制信号向量 F 为 n 位,可取 n N=2 个不同组合值,从而可使 N×N 的 STARAN 网络实现 N 种置换。N=8 的 STARAN 网络 分别在 8 种级控信号(000~111)控制下,实现的网络输入端到输出端的连接如表 3-3 所示。.

(25) 第 3 章 互联网络技术 125 表 3-3 3 级 STARAN 网络入出端连接及实现的方体函数功能(fi 为 ki 级控制信号) 级控制信号(f2 f1 f0). 入 端 号. 0 1 2 3 4 5 6 7. 执行 方体 函数 功能. 000. 001. 010. 011. 100. 101. 110. 111. 0 1 2 3 4 5 6 7. 1 0 3 2 5 4 7 6. 2 3 0 1 6 7 4 5. 3 2 1 0 7 6 5 4. 4 5 6 7 0 1 2 3. 6 7 4 5 2 3 0 1. 7 6 5 4 3 2 1 0. 恒等. 4组2元. 4组2元 + 2组4元. 2组4元. 2组4元 + 1组8元. 5 4 7 6 1 0 3 2 4组2元 + 2组4元 + 1组8元. 4组2元 + 1组8元. 1组8元. i. Cube0. Cube1. Cube0+ Cube1. Cube2. Cube1+ Cube2. Cube0+ Cube1+ Cube2. Cube0+ Cube2. 由表 3-3 可见,除 F=(000)实现恒等置换外,其他 7 种级控信号实现的置换是分组方体置 换。例如,级控信号 F=(010)实现的置换可看成是:将输入端号序列[0. 1 2 3 4 5 6 7]. 先分成 4 组[0 1]、[2 3]、[4 5]、[6 7],组内 2 元交换后为[1 0] 、[3 2]、[5 4]、[7 6], 排列序列为[1 0 3 2. 5 4 7 6];再分成两组[1 0 3 2 ] [5 4 7 6],组内 4 元交. 换后为[2 3 0 1][6 7 4 5],得到输入端序列按序连接的输出端序列为[2 3 0 1. 6. 7 4 5]。因此,把级控制方式下的 STARAN 网络称为方体网络。 N=8 的 STARAN 网络实现的方体置换的图形表示如图 3-32 所示。把图 3-32 中 F=(001)、 (010)和(100)的 3 个图形表示与图 3-6 所示的 N =8 的方体置换图形表示比较,可以看出:F=(f2 f1 f0 )=(001)的方体置换就是 Cube0 置换,F =(010)的方体置换就是 Cube1 置换,F =(100) 方体 置换就是 Cube2 置换。即 fi =1 时,实现 Cube i 置换,例如当级控信号为 F=(011)时,3 级 STARAN 网络实现的方体置换为: C(x 2 x1x 0 )  Cube1 (Cube0 (x 2 x1x 0 ))  x 2 x1x 0. 简记为 Cube0+Cube1。实际上同样有: C(x 2 x1x 0 )  (x 2  f 2 , x1  f1 , x 0  f 0 )  (x 2  0, x1  1, x 0  1)  x 2 x1x 0. 2.组控制方式的移数置换 在级控制方式下,含有 n 级的 STARAN 网络需要的二进制控制信号向量 F 为 n(n+1)/2 位, 但仅可取(n2+n+2)/2 不同的组合值(n(n+1)/2 二进制数有 2. n(n+1)/2. 个不同的组合值,但仅有. 2. (n +n+2)/2 不同的组合值可使网络不会发生争用交叉开关冲突),即一个 N×N=2n ×2n 的 STARAN 网络能实现(n2+n+2)/2 种置换。例如 N=8 的 STARAN 网络,需要的二进制控制信号 向量 F 为 6 位,分别在 7 种不同的组合值的组控信号控制下能实现 7 种移数置换,实现的网 络输入端到输出端的连接如表 3-4 所示。K0 级只有一个位信号 f0 控制 K0 级的开关 A、B、C、 D;K1 级有两个位信号 f11 和 f12,f11 控制开关 E 和 G,f12 控制开关 F 和 H;K2 级有 3 个位信.

(26) 126. 计算机体系结构(第二版). 号 f21、f22 和 f23,f21 控制开关 I,f22 控制开关 J,f23 控制开关 K 和 L。实现的 7 种移数置换的 图形表示如图 3-33 所示。 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 6. 6. 7. 7. 7. 7. 7. 7. 7 F=(000). F=(001). F=(010). 7 F=(011). 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 6. 6. 7. 7. 7. 7. 7. 7. 7 F=(100). F=(101) 图 3-32. F=(110). 7 F=(111). N =8 的 STARAN 网络实现的交换置换. 表 3-4 3 级 STARAN 网络入出端连接及实现的的移数函数功能. 2级 组控 制信 号. 1级 0级. f23. K,L. 0. 0. 1. 0. 0. 0. 0. f22. J. 0. 1. 1. 0. 0. 0. 0. f21. I. 1. 1. 1. 0. 0. 0. 0. f12. F,H. 0. 1. 0. 0. 1. 0. 0. f11. E,G. 1. 1. 0. 1. 1. 0. 0. f0. A,B,C,D 1. 0. 0. 1. 0. 1. 0. 入. 端. 号. 执行的移数功能. 0. 1. 2. 4. 1. 2. 1. 0. 1. 2. 3. 5. 2. 3. 0. 1. 2. 3. 4. 6. 3. 0. 3. 2. 3. 4. 5. 7. 0. 1. 2. 3. 4. 5. 6. 0. 5. 6. 5. 4. 5. 6. 7. 1. 6. 7. 4. 5. 6. 7. 0. 2. 7. 4. 7. 6. 7. 0. 1. 3. 4. 5. 6. 7. 移1 mod 8. 移2 mod 8. 移4 mod 8. 移1 mod 4. 移2 mod 4. 移1 mod 2. 不移 恒等.

(27) 第 3 章 互联网络技术 127 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 5. 5. 6. 6. 6. 6. 6. 6. 6. 6. 7. 7. 7. 7. 7. 7. 7 恒等. 移1模2. 移1模4. 7 移2模4. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 2. 2. 2. 2. 2. 2. 3. 3. 3. 3. 3. 3. 4. 4. 4. 4. 4. 4. 5. 5. 5. 5. 5. 5. 6. 6. 6. 7. 7. 6 7. 6 移1模8. 7. 图 3-33. 6 7. 移2模8. 移4模8. 7. N=8 的 STARAN 网实现的移数置换. 3.4.3 间接二进制 n 方体多级动态网络 3.4.3.1 n 方体网络的结构及其特点 若间接二进制 n 方体网络的输入端或输出端数为 N,则网络级数为 n= log 2 N ,每级有 N /2 个交叉开关,故 n 方体网络的开关数为(N/2) log 2 N 。间接二进制 n 方体网络的结构特点是: (1)采用 2×2 的 2 功能交叉开关,两个功能为直送和交叉。 (2)各级交叉开关级的级号编排从网络输入端到输出端,依次为 K0、K1、…、Kn-1。 (3)间连接模式从网络输入端到输出端依次表示为 C0、C1、…、Cn,其中,C0 是恒等置 换,C1~Cn-1 都是子蝶式置换,Cn 是逆洗牌置换。 因此,间接二进制 n 方体网络的输入端对输出端的互连函数表达式为: 文体(n)  I0 H 0(1) H1  (n 1) H n 1 n 1 其中,Hi 是 Ki 级交叉开关在单元控制方式下实现的置换函数(0≤i≤n-1),j 是 Cj 级级间连 接模式实现的子蝶式置换函数(1≤j≤n-1),n-1 是最后一级级间连接模式的逆洗牌置换函数, I0 是 C0 级级间连接模式实现的恒等置换函数。N=8 的间接二进制 n 方体网络的结构如图 3-34 所示。 3.4.3.2 n 方体网络的开关控制与寻径算法 间接二进制 n 方体网络的交叉开关控制采用单元控制方式。网络共有 n=(N/2) log 2 N 个开 关,每个开关有两种状态,因此,网络有 2m 个不同状态,即网络能实现 2n 种置换连接。单元 控制方式可以采用前述网络应用的终端标记法,也可以采用下述的网络输入端与输出端二进 制地址按位加的控制方法。 设输入端二进制地址为 S=sn1sn2…s1s0,输出端二进制地址为 D=dn1dn2…d1d0,则 si  di.

(28) 128. 计算机体系结构(第二版). 的值决定了开关级 Ki 上相应交叉开关的状态。若 si  di=0,则 Ki 上相应交叉开关为直送状态; 若 si  di=1,则 Ki 上相应交叉开关为交叉状态。例如, 当源端地址为 S=100 和终端地址为 D=010 时,从输入端 4 到输出端 2 的路径上的 K0 级相应开关为直送,K1 级和 K2 级的相应开关为交 叉。若同时有从输入端 7 到输出端 6 的连接要求,则会发生争用开关冲突。所以间接二进制 n 方体网络是阻塞网。 0. 0. 1. 1. 2. 2. 3. 3. 4. 4. 5. 5. 6. 6. 7. 7 C0. C1 K0. 图 3-34. C2 K1. C3 K2. N=8 的间接二进制 n 方体网络结构. 3.4.3.3 n 方体网络可实现的互连函数 间接二进制 n 方体网络的连接能力很强,可实现多种常用的函数置换,例如,移数置换、 子移数置换、P 序置接、逆 P 序置换、P 序加移数置换和交换置换等。 3.4.4. 多级动态网络. 3.4.4.1 网络结构及其特点 (Delta)网络的一般结构形式为如图 3-35 所示的 an×bn 结构,网络级为 n。网络的结 构特点是: (1)采用 a×b 的交叉开关,各级交叉开关的级号编排从网络的输入端到输出端,依次将 为 K0、K1…、Kn1。 (2)级间连接模式从网络输入端到输出端依次表示为 C0、C1、…、Cn,级间连接模式为 q 洗牌置换函数。 (3)每一级的交叉开关数为:第一交叉开关级 K1 的交叉开关数是 an1 个,最后交叉开关 级 Kn-1 的交叉开关数是 bn1 个,中间交叉开关级 Ki 的交叉开关数是 anibi1 个。 (4)每一级交叉开关的输入端与输出端数为:第一交叉开关级 K1 的输入端数是 an1× a=an,输出端数是 an1×b=an1b;最后交叉开关级 Kn-1 的输入端数是 bn1×a=abn1,输出端数 是 bn1×b=bn;中间交叉开关级 Ki 的输入端数是 anibi1×a1=ani+1bi1,输出端数是 anibi1× b=anibi;中间交叉开关级 Ki+1 的输入端数是 ani1bi×a1=anibi,输出端数是 ani1bi×b=anibi+1。 显然,Ki 级交叉开关的输出端数与 Ki+1 级交叉开关的输入端数相等。 (5)级间连接为:K1 级和 K2 级的级间连接是将 K1 级的 an1b 个输出端依序分为 q1=an1 组,每组有 r=an1b/an1=b 个输出端,按 q 洗牌分配连接到 K2 级的 an1b 个输入端位置;Kn1 级 和 K n 级 的 级间 连接 是将 Kn1 级 的 abn2 个 输 出端 依序 分为 qn-1=abn3 组 , 每 组 有 r=abn2/abn3=b 个输出端,按 q 洗牌分配连接到 Kn 级的 abn2 个输入端位置;Ki 级和 Ki+1 级的.

(29) 第 3 章 互联网络技术 129. 级间连接是将 Ki 级的 anibi 个输出端依序分为 qi=anibi1 组,每组有 r=anibi/anibi1=b 个输出端, 按 q 洗牌分配连接到 Ki+1 级的 anibi 个输入端位置。由 r 恒为 b 可见,实现上就是把一个交叉 开关级的 b 个输出端作为一组,对这一级交叉开关的所有输出端进行 q 洗牌,分配到下一级交 叉开关的输入端位置。 0 1 2 3. 输入 端. 00 01 02. 4 5 6 7. 10 11 12. 8 9 10 11. 输出 端. 20 21 22. 12 13 14 15. K2 K1. 图 3-35. 42×32 的δ网络结构. 3.4.4.2 网络的开关控制与寻径算法 网络的 a×b 交叉开关采用终端标记法来确定源端与终端的连接路径,但终端地址 D 不 是二进制数字,而是以 b 为基数的 b 进制数字。若终端地址表示为 D=(dn-1dn-2…d1d0)b,由 di 控制第(ni)级上的交叉开关,1≤i≤n。例如,一个 42×32 的网络如图 3-32 所示。该网 络的 n=2、a=4、b=3,采用 4×3 的交叉开关。若要从输入端 S=(100)2 连到输出端 D=(21)3,则 由终端标记 di 控制第(ni)级的交叉开关。由 i=0,有 d0 的“1”去控制 K2 级的相应交叉开 关;由 i=1,有 d1 的“2”去控制 K1 级的相应交叉开关。所以,K1 级上的交叉开关是输入端 与输出端 2 相连,K2 级上的交叉开关是输入端与输出端 1 相连,最后到达终端(21)3。 3.4.5 DM 多级动态网络 3.4.5.1 DM 网络的结构及其特点 数据变换网络(Data Manipulator,DM)是用于实现数据的排列、重复和间隔等变换的网 络。一个 N×N 的数据变换网络由 n+1 级交叉开关级和 n 级级间连接构成,n= log 2 N ,每个 交叉开关级有 N 个开关,则数据变换网络的交叉开关数为 N( log 2 N +1)。N=8 的数据变换网 络的结构如图 3-36 所示。数据变换网络的结构特点有: (1)交叉开关级的级号编排从网络输出端到输入端,依次为 K0、K1、…、Kn。 (2)网络输入端的第 n 交叉开关级的每个开关有一个输入端和 3 个输出端,网络输出端 的第 0 级交叉开关级的每个开关有 3 个输入端和一个输出端,中间各交叉开关级的每个开关都 有 3 个输入端和 3 个输出端。 (3)交叉开关级之间的级间连接模式都是 PM2I 置换。即中间交叉开关级第 i 级(0<i<n) 的交叉开关 j(0≤j≤N1)的 3 个输入端分别连接前一级第 i+1 级的 j2i mod N、j 和 j+2i mod N 交叉开关,3 个输出端分别连接后一级第 i1 级的 j2i1 mod N、j 和 j+2i1 mod N 交叉开关。.

參考文獻

相關文件

 总消费 (百万澳门元)  人均消费 (澳门元) 旅游物价指数  按年变动率 (%) 居民外游.

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产包括楼

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产包

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产

许多大经济体如中、美、日等国均采用生产者价格作计算,因此,由参考期 2014

许多大经济体如中、美、日等国均采用生产者价格作计算,因此,由参考期 2014

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产