Multi-core

**多核心處理器**（英語：Multi-core processor），又稱**多核微處理器**，是在單個計算元件中加入兩個或以上的獨立實體中央處理單元（簡稱核心，英語：Core）。這些核心可以分別獨立地執行程式指令，利用平行計算的能力加快程式的執行速度。

通常把兩個或更多獨立處理器封裝在一個單一積體電路（IC）中的方案會稱為多核心處理器，而封裝在不同 IC 中的獨立處理器形成的計算機系統被稱為多處理器。在某些情況中（比如廣告中），有些人會將在同一個積體電路中多個獨立的單核心微處理器（或多核心微處理器）稱做「多處理模組」、「多核心」等，其實是指「多處理器」而不是「多核心處理器」。除非特別說明，本文將使用「多核心」指代在同一積體電路中整合多個獨立處理器的 CPU（即「多核心處理器」）。

一般情況下，多核心處理器可以在每個核心分別獨立物理封裝的情況下進行多工處理（執行緒級並行處理（**T**hread-**L**evel **P**arallelism，TLP），這種形式的 TLP 通常被認為是晶片級多處理）。

## 商業化的例子

* IBM 的 POWER4，2000 年發布的第一個雙核心模組處理器。
* IBM 的 POWER5 雙核心晶片，還有應用在蘋果電腦 PowerMac G5 中的 [PowerPC 970|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 的處理器則像是一個部門一次只處理一個單位的工作，但該處理單位卻有好幾個人來快速地完成工作。

## 註釋

1. **^** 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.
2. **^** 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（頁面存檔備份，存於網際網路檔案館）