计算机体系结构中的多共享总线是什么?


单个共享总线的带宽有限,这在构建可扩展的多处理器方面是一个主要限制。有多种方法可以增加互连网络的带宽。一个自然的想法是增加总线的数量,就像处理器和内存单元一样。已经提出了四种不同的方法来连接总线到处理器、内存单元和其他总线,如下所示:

一维多总线系统 - 向多总线系统扩展单总线系统的最简单方法是一维多总线系统,如图所示。这种方法导致了一个典型的统一内存访问(UMA)机器,其中任何处理器都可以通过任何总线访问任何内存单元。

在这种系统中,使用 1-of-N 仲裁器是不够的。在 1 维多总线系统中,仲裁是一个两阶段的过程。首先,1-of-n 仲裁器(每个内存单元一个)可以解决多个处理器需要对相同共享内存单元进行独占访问时的冲突。

在第一阶段之后,m(n 个中的)个处理器可以访问其中一个内存单元。但是,当多个总线 (b) 少于内存单元的数量 (m) 时,需要进行第二阶段的仲裁,其中使用额外的 b-of-m 仲裁器来为那些强烈请求访问内存单元的处理器分配总线。

二维或三维总线系统 - 一维多总线的进一步推广是引入第二和第三维。在这些系统中,多条总线构成一个网格互连网络。每个处理器节点都连接到一个行总线和一个列总线。

同一行或同一列的处理器构成一个传统的单总线多处理器。内存可以以多种方式分布。最传统的方法是将内存单元连接到每条总线上。这些体系结构的主要问题是维护缓存一致性。

集群总线系统 - 将多条总线引入多处理器的第三种方法是集群架构,它表示了一种 NUMA 机器的概念。集群架构的主要思想是,单个总线多处理器(称为集群)通过更高级别的总线连接。每个集群都有其本地内存。

本地集群内存的访问时间远小于远程集群内存的访问时间。将代码和堆栈保存在集群内存中可以显著减少访问远程集群内存的需要。但是,事实证明,如果没有缓存支持,这种结构无法避免高级别总线上的交通拥堵。

分层总线系统 - 单总线系统的另一种自然推广是分层总线系统,其中单个总线“超级节点”通过更高级别的缓存或“超级缓存”连接到更高级别的总线。

更新于: 2021年7月23日

2K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告