1-2 SMP与多核

SMP与多核

在过去50年里,每18个月,CPU的频率就会翻倍。但是从2004年以来这个规律就已经失效,原因是CPU的工艺达到了物理极限,除非工艺有本质突破,否则频率会被目前的4GHz的天花板所限制。

SMP:多个CPU,每个CPU有自己的缓存。

多核:单个CPU里多个核心,共享缓存。

SMP

为了能提高CPU的速度,人们从另一个角度出发:增加CPU的数量。

其中最常见的一种形式就是对称多处理器(SMP, Symmetrical Multi-Processing)。由于每个CPU在系统中的地位和作用是对称的,因此理论上增加多个CPU能提高运算速度,且成正比。

但是,程序并不能完全分割为若干个不相关的子问题。因此多处理器常用于大型的数据库,网络服务器上,因为它们常常处理的是大量相互独立的请求。所以多处理器能发挥最大的优势。

多核(Multi-core Processor)

在个人电脑上,使用SMP是比较奢侈的,因为多个CPU的成本很高。而如果只保留核心而共享昂贵的缓存,则价格只比单核心的处理器贵一点,这就是多核处理器。

多核实际上是SMP的简化版,从程序员的角度来看区别很小,逻辑上是完全相同的。除非想要把CPU的每一滴油水都榨干,否则可以把多核和SMP看成同一个概念。