多核 CPU 和多个 CPU 有何区别?

架构可以千变万化,面向需求、综合考量是王道。
来,简单举个例子。假设现在我们要设计一台计算机的处理器部分的架构。现在摆在我们面前的有两种选择,多个单核CPU和单个多核CPU。

如果我们选择多个单核CPU,那么每一个CPU都需要有较为独立的电路支持,有自己的Cache,而他们之间通过板上的总线进行通信。假如在这样的架构上,我们要跑一个多线程的程序(常见典型情况),不考虑超线程,那么每一个线程就要跑在一个独立的CPU上,线程间的所有协作都要走总线,而共享的数据更是有可能要在好几个Cache里同时存在。这样的话,总线开销相比较而言是很大的,怎么办?那么多Cache,即使我们不心疼存储能力的浪费,一致性怎么保证?如果真正做出来,还要在主板上占多块地盘,给布局布线带来更大的挑战,怎么搞定?

如果我们选择多核单CPU,那么我们只需要一套芯片组,一套存储,多核之间通过芯片内部总线进行通信,共享使用内存。在这样的架构上,如果我们跑一个多线程的程序,那么线程间通信将比上一种情形更快。如果最终实现出来,对板上空间的占用较小,布局布线的压力也较小。

看起来,多核单CPU完胜嘛。可是,如果需要同时跑多个大程序怎么办?假设俩大程序,每一个程序都好多线程还几乎用满cache,它们分时使用CPU,那在程序间切换的时候,光指令和数据的替换就要费多大事情啊!

所以呢,大部分一般咱们使用的电脑,都是单CPU多核的,比如我们配的Dell T3600,有一颗Intel Xeon E5-1650,6核,虚拟为12个逻辑核心。少部分高端人士需要更强的多任务并发能力,就会搞一个多颗多核CPU的机子,Mac Pro就可以有两颗。
单核CPU多核CPU是处理器的两种不同类型,它们在核心数量上有所区别。 1. 单核CPU(Single-core CPU):单核CPU只有一个物理处理核心。它一次只能执行一个指令流,并在一个时钟周期内处理一个指令。这意味着单核CPU性能受限于其时钟频率和指令执行效率,无法同时执行多个任务。 2. 多核CPU(Multi-core CPU):多核CPU包含两个或更多个物理处理核心,每个核心可以同时执行不同的指令流,也就是可以同时处理多个任务。多核CPU通过并行处理提高了系统的性能和效率。每个核心都可以独立地运行程序,拥有自己的寄存器和缓存。多核CPU可以更好地支持多线程应用程序和并行计算任务。 主要区别如下: - 性能多核CPU相对于单核CPU具有更高的整体性能和处理能力。在多任务环境下,多核CPU能够同时处理多个任务,提供更好的响应时间和系统吞吐量。 - 能耗:多核CPU在相同工作负载下通常比单核CPU更省电。这是因为在多核CPU中,每个核心的工作负载可以被平均分配,并且可以根据需要动态调整核心的工作状态,从而更有效地利用能源。 - 热量和散热:多核CPU由于集成了多个核心,会产生更多的热量。因此,相对于单核CPU多核CPU需要更好的散热和冷却系统来保持温度在可接受范围内。 需要注意的是,多核CPU并不一定意味着性能的线性比例。实际上,多核CPU性能取决于应用程序的并行化程度和任务的特性。某些任务可能无法有效地并行化,因此在这些情况下,多核CPU的优势可能相对较小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值