多核心处理器

多核心处理器（Multi-core processor），又称多核微处理器，是在单个计算元件中加入两个或以上的独立实体中央处理单元（简称核心，Core）。这些核心可以分别独立地执行程式指令，利用平行计算的能力加快程式的执行速度。

通常把两个或更多独立处理器封装在一个单一集成电路（IC）中的方案会称为多核心处理器，而封装在不同IC中的独立处理器形成的计算机系统被称为多处理器。在某些情况中（比如广告中），有些人会将在同一个集成电路中多个独立的单核心微处理器（或多核心微处理器）称做“多处理模块”、“多核心”等，其实是指“多处理器”而不是“多核心处理器”。除非特别说明，本文将使用“多核心”指代在同一集成电路中集成多个独立处理器的CPU（即“多核心处理器”）。

一般情况下，多核心处理器可以在每个核心分别独立物理封装的情况下进行多任务处理（线程级并行处理（Thread-Level Parallelism，TLP），这种形式的TLP通常被认为是芯片级多处理）。

## 商业化的例子

- IBM的POWER4，2000年发布的第一个双核心模块处理器。
- IBM的POWER5双核心芯片，还有应用在苹果电脑PowerMac G5中的PowerPC 970MP双核心处理器。
- Broadcom SiByte（SB1250, SB1255, SB1455）
- PA-RISC（PA-8800）
- Sun Microsystems UltraSPARC IV, UltraSPARC IV+, UltraSPARC T1
- AMD在2005年4月22日发布了它的双核心Opteron服务器/工作站用处理器，还在2005年5月31日发布了双核心桌面处理器Athlon 64 X2家族。此外，AMD还发布了FX-60和FX-62高性能桌面处理器，以及Turion 64 X2移动处理器。
- Intel的基于NetBurst微架构的双核心Pentium D、Xeon处理器。
- 用于笔记型电脑的Intel Core Duo
- Intel Core 2。
- Intel Core i3/i5/i7/i9
- Microsoft的Xbox 360游戏终端使用了三核心的PowerPC微处理器。
- Raza Microelectronics的XLR处理器拥有8个MIPS核心。
- Cavium Networks的Octeon处理器拥有16个MIPS核心。
- Intel® Xeon Phi™ Coprocessor 7100 Series处理器拥有61核心，运算能力可达1.208 TeraFLOPS。
- AMD Ryzen及Ryzen Threadripper。
- 目前AMD发布的锐龙9 3950X使用了7奈米制程的技术。

## 开发动机

### 技术压力

CMOS制造技术不断改善、单个逻辑闸不断变小，基于半导体的微电子学的物理极限变成主要的设计考量。

### 商业诱因

由于商用电脑要求提升，处理器向高效能的方向发展。两个同效能的处理器理论上的处理能力是原来的两倍。早年的Intel就曾推出可安装多个单核心Xeon的服务器底板。此外，家用电脑也出现过可以安装最少2个Pentium III的底板。但由于能源、成本、空间等问题，现今的底板已向“多核心”方向发展。

### 优势

由于采用了相对简单的微处理器作为处理器核心，多核心处理器具有高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低和通信延迟低等优点。此外，多核心处理器还能充分利用不同应用的指令级并行和线程级并行，具有较高线程级并行性的应用可以很好地利用这种结构来提高性能。

### 劣势

尽管多核心有比单核心运行速度更快的优势，但如果应用程序不支援多核心处理，这个优势就不能发挥。例如早期的软件和Windows只支援单核心处理，不会自动使用多个核心作分工处理，但这问题目前已经不存在了，因为现在几乎所有程序都支援多核心处理。

## 软件影响

### 编程问题

对于多核心的电脑，若在程式编写或编译时无法把程式线性化，就不能充分利用多核心的特色，结果程式只能在一个核心上运行，白白浪费中央处理器的资源。

### 许可

另外一个问题是对多核心处理器的软件授权。企业级的服务器软件是以处理器为单位授权。以前，中央处理器只有一个核心而多数电脑只有一个处理器，并不存在这个问题。而在双核心处理器刚面世时，有些软件是以核心为单位授权，双核心处理器则需要两个授权。现在的主流是把双核心或多核心处理器计算成一个处理器。微软、英特尔和超微支持这个观点，甲骨文虽然也支持这个观点，但是甲骨文只将英特尔和超微的多核心处理器计算为一个处理器，却把其他的多核心处理器当成多个处理器。国际商业机器、惠普和微软把多处理器模组当成多处理器，因为假如把多处理器模组当成一个处理器，处理器厂商会制造大型、昂贵的多处理器模组来帮助客户节省软件费用，所以现在行业上渐渐把一枚芯片当作一个处理器。

## 普遍误解

部分非专业人士会以为中央处理器的核心数目越多，其效能会越高。这其实是缺乏对处理器运算速度和软件的支援问题的理解。例如：4核486MHz的处理器与单核3.0GHz处理器相比，虽然前者可同时有四条线路运算，而后者却只有一条线路运算，但是时脉明显有差距。而且不是全部软件都支持多核心及多处理器的工作环境。

若是以上述的例子来做简单的说明， 4核486MHz的处理器就像是一个部门可以一次处理四个单位的工作，但每个处理单位却只有一个人慢慢完成。而单核3.0GHz的处理器则像是一个部门一次只处理一个单位的工作，但该处理单位却有好几个人来快速地完成工作。

## 注释

- DSP Digital signal processors, DSPs, have utilized dual-core architectures for much longer than high-end general purpose processors. A typical example of a DSP-specific implementation would be a combination of a RISC CPU and a DSP MPU. This allows for the design of products that require a general purpose processor for user interfaces and a DSP for real-time data processing; this type of design is suited to e.g. mobile phones.
- PMTandSMP Two types of operating systems are able to utilize a dual-CPU multiprocessor: partitioned multiprocessing and symmetric multiprocessing (SMP). In a partitioned architecture, each CPU boots into separate segments of physical memory and operate independently; in an SMP OS, processors work in a shared space, executing threads within the OS independently.

## 外部链接

- AMD HyperTransport Technology
- Hyper-Threading Technology Intel
- Intel First to Ship Dual Core – By Michael Singer, internetnews.com, 12 April 2005
- Findings of a test carried out by Anandtech showed that dual-core chips produced by AMD and Intel had individual performance merits under different situations of application
- Intel® Xeon Phi™ Product Family