计算机体系结构中的单共享总线是什么?
最著名的互连网络之一是单共享总线。首先,它的组织结构是对单处理器中所用总线的简单概括和扩展,并增加了一些额外的线路来解决当多个处理器同时想要使用共享总线时的争用问题。这些线路称为仲裁线,在共享总线的实现中起着至关重要的作用。
其次,共享总线是一种非常经济高效的互连方案。增加处理器的数量不会提高共享总线的成本。但是,共享总线上的争用对应用程序处理器的数量构成很大的限制。
显然,随着总线上处理器数量的增加,争用的概率也成比例地增加,最终达到总线的整个带宽都被处理器耗尽的地步,因此,添加新的处理器不会导致多处理器有任何潜在的加速。共享总线多处理器的一个主要设计问题是通过不同的方法来提高适用处理器的数量。
三种最重要的技术如下:
- 可以引入私有内存。
- 可以引入一致性缓存内存。
- 可以引入多条总线。
如果没有这些改进,适用处理器的数量在 3-5 个范围内。通过引入私有内存和一致性缓存内存,处理器的数量可以增加一个数量级,最多可达 30 个处理器。总线层次结构为构建基于总线互连的可扩展共享内存系统开辟了道路。
图中显示了没有一致性缓存的单总线多处理器的典型结构。相对于单处理器而言,系统的新组件是总线仲裁器逻辑,其作用是在多个同时发出总线请求的情况下分配总线,以及支持仲裁器工作的额外总线交换线路。
总线交换线路通常包括一条或多条总线请求线路,处理器或其他临时总线主控器可以使用这些线路请求为其传输分配总线。根据总线请求线路的状态和所应用的总线分配策略,仲裁器通过授权线路向其中一个请求者授予授权。
内存写访问需要两个阶段,如下所示:
地址和数据通过总线传输到内存控制器。
内存控制器执行内存写操作,包括奇偶校验、纠错等。
虽然单处理器和多处理器总线非常相似,但它们的操作模式存在重要区别。单处理器和第一代多处理器系统使用锁定总线。第二代多处理器使用挂起总线。
内存读访问可以分为三个阶段,如下所示:
地址通过总线传输到内存控制器。
内存控制器执行内存读操作。
数据通过总线传输到请求处理器。