分时总线——多处理器系统中的互连结构
互连结构:
处理器必须能够在多处理器系统中共享一组主内存模块和 I/O 设备。这种共享能力可以通过互连结构来提供。常用的互连结构如下:
- 分时/公共总线
- 横杆开关
- 多端口内存
- 多级交换网络(第 2 部分介绍)
- 超立方体系统
在本文中,我们将详细介绍时间共享/公共总线。
1. 分时/公共总线(多处理器系统中的互连结构):
在多处理器系统中,时间共享总线互连提供了一个公共通信路径,连接所有功能单元,如处理器、I/O 处理器、内存单元等。下图显示了具有公共通信路径的多个处理器(单总线)。
为了与任何功能单元进行通信,处理器需要总线来传输数据。为此,处理器首先需要通过检查总线的状态来查看总线是否可用。如果总线被其他功能单元使用,则状态为忙,否则为空闲。
只有当总线空闲时,处理器才能使用总线。发送方处理器将目标地址放在总线上,目标单元对其进行识别。为了与任何功能单元进行通信,发出一个命令来告诉该单元要完成什么工作。那时的其他处理器要么忙于内部操作,要么空闲等待总线。
如果有冲突,我们可以使用总线控制器来解决冲突。 (总线控制器可以设置不同功能单元的优先级)
这种单总线多处理器组织最容易重新配置且简单。这种互连结构仅包含无源元件。发送器和接收器单元的总线接口控制这里的传输操作。
为了确定对公共总线的无冲突访问,可以使用静态和固定优先级、先进先出 (FIFO) 队列和菊花链等方法。
好处 -
- 价格便宜,因为不需要额外的硬件,例如开关。
- 由于功能单元直接连接到总线,因此配置简单易行。
缺点——
- 与这种配置的主要斗争是,如果任何一个总线接口电路发生故障,整个系统都会失败。
- 吞吐量降低—
一次,只有一个处理器可以与任何其他功能单元通信。 - 增加仲裁逻辑——
随着处理器和内存单元数量的增加,总线争用问题也会增加。
为了解决上述缺点,我们可以使用两条单向总线:
在一次传输操作中需要两条总线。在这里,系统复杂度增加,可靠性降低,解决方案是使用多条双向总线。
多条双向总线:
多条双向总线是指系统中有多条双向总线。它允许尽可能多的公共汽车同时转移。但是这里也增加了系统的复杂性。
除了组织之外,影响总线性能的因素还有很多。他们是 -
- 总线上活动设备的数量。
- 数据宽度
- 错误检测方法
- 数据传输同步等
好处 多条双向总线——
- 硬件成本最低,因为不需要额外的设备,例如交换机。
- 修改硬件系统配置很容易。
- 与其他互连方案相比不太复杂,因为只有 2 条总线并且所有组件都通过该总线连接。
多条双向总线的缺点——
- 系统扩展会降低性能,因为随着功能单元数量的增加,需要更多的通信,但一次只能通过 1 条总线进行 1 次传输。
- 整体系统容量限制了传输速率,如果总线发生故障,整个系统将发生故障。
- 仅适用于小型系统。
2.纵横开关:
如果公共总线系统中的总线数量增加,则达到一个点,在该点处,每个存储器模块都有可用的单独路径。 Crossbar Switch(用于多处理器)为每个模块提供单独的路径。
3.多端口内存:
在多端口内存系统中,控制、切换和优先级仲裁逻辑分布在整个交叉开关矩阵中,该矩阵分布在内存模块的接口处。
4.超立方体互联:
这是一个二进制 n 立方体架构。这里我们可以连接 2n 个处理器,这里的每个处理器构成立方体的一个节点。一个节点可以是内存模块,也可以是 I/O 接口,不一定是处理器。一个节点处的处理器具有直接通往其他 n 个节点(总共 2n 个节点)的通信路径。总共有 2n 个不同的 n 位二进制地址。
结论 :
互连结构可以决定多处理器环境中整个系统的性能。虽然使用公共总线系统很容易和简单,但只有 1 条路径的可用性是它的主要缺点,如果总线发生故障,整个系统就会失败。为了克服这一点并提高整体性能,交叉开关、多端口、超立方体和多级交换机网络不断发展。