SMP
SMP 代表“Symmetric Multiprocessing”。SMP 是一种多处理,其中所有处理器都可以同时使用。它有时会与非对称多处理进行对比,后者会将每个处理器分配给特定任务。
绝大多数配备多个处理器或(处理核心)的计算机都支持 SMP。SMP 在操作系统层面实现,由操作系统将计算任务分配到两个或更多处理器上。现代操作系统例如(Windows、macOS 和Unix)从 20 世纪 90 年代末开始就支持 SMP。
得益于底层操作系统的支持,大多数软件应用程序都会自动受益于 SMP。不过,开发人员仍然可以优化应用程序,以更有效地使用多个处理器。例如,视频编辑程序可以将特定的渲染操作发送到不同的处理器,这可能比让操作系统平衡处理负载更加高效。
SMP 的工作原理
SMP 需要多个同质处理器,这意味着每个处理器都具有相同的架构和时钟速度。所有处理器共享同一条系统总线和系统内存,因此没有任何处理器会获得优先级。操作系统会将计算操作分配到各个处理器(或处理核心)上,并尝试让它们平均分担工作。
与单处理器系统相比,SMP 可以显著提升计算机的性能。不过,由于各个线程会被发送到不同的处理器,因此分配任务会产生额外开销。此外,并非所有计算操作都能拆分到多个处理器上。因此,每增加一个处理器,SMP 都无法使性能提升 100%。
测试你的知识