什么是计算机体系结构中的基于总线的对称多处理器?


共享内存系统可以使用基于总线或基于交换机的互连网络进行设计。共享内存系统最简单的网络是总线。总线/缓存架构消除了对昂贵的多分支存储器和接口电路的需求,以及在开发应用程序软件时采用消息传递范式的需求。

如果多个处理器同时尝试访问共享内存(通过总线),总线可能会饱和。典型的基于总线的设计使用缓存来解决总线争用问题。高速缓存连接到每一侧的处理器和另一侧的总线,这意味着可以以尽可能高的速度提供指令和数据的本地副本。

如果本地处理器在其本地缓存中找到所有指令和数据,我们说命中率为 100%。缓存的未命中率是指无法由缓存满足的引用的分数,因此必须从全局内存复制到总线上,再复制到缓存中,然后传递到本地处理器。

缓存的目标之一是在高处理器负载下保持高命中率或低未命中率。高命中率意味着处理器不那么频繁地使用总线。命中率取决于几个因素,从正在运行的应用程序程序到缓存硬件的实现方式。

处理器经历一个占空比周期,在该周期中,它在每个时钟周期执行一定次数的指令。通常,单个处理器每个周期执行的指令少于一条,从而减少了它需要访问内存的次数。

次标量处理器每个周期执行的指令少于一条,而超标量处理器每个周期执行的指令多于一条。无论如何,我们都希望最大程度地减少每个本地处理器尝试使用中央总线的次数。否则,处理器速度将受到总线带宽的限制。

我们定义以下命中率、处理器数量、处理器速度、总线速度和处理器占空比的变量:

N = 处理器数量

h = 每个缓存的命中率,假设所有缓存的命中率都相同

(1-h) = 所有缓存的未命中率

B = 总线带宽,以周期/秒为单位测量

I = 处理器占空比,假设所有处理器的占空比相同,以提取/周期为单位,以及

V = 峰值处理器速度,以提取/秒为单位。

总线的有效带宽为 BI 提取/秒。如果每个处理器以 V 的速度运行,则以 V (1 - h) 的速率生成未命中。对于 N 处理器系统,以 N (1 - h) V 的速率同时生成未命中。

当 N 个处理器同时尝试访问总线时,这会导致总线饱和。也就是说,N (1 - h) V ≤ BI。总线可以支持的最大具有缓存内存的处理器数量由以下关系给出:

$$N\:\leq\:\frac{BI}{(1-h)V}$$

更新于:2021-07-30

828 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始
广告