微處理器設計/多核系統
將超標量操作的想法提升到一個新的水平,將多個微處理器核心放到一個晶片上是可能的(並且經常是可取的),並讓這些核心彼此並行執行。
對稱多核處理器是指在一個晶片上有多個核心,並且所有這些核心都相同。
示例:Intel Core 2:
Intel Core 2 是對稱多核處理器的示例。Core 2 可以在晶片上具有 2 個核心(“Core 2 Duo”)或 4 個核心(“Core 2 Quad”)。Core 2 晶片中的每個核心都是對稱的,可以獨立地執行。它需要排程軟體和硬體的混合來將任務分配到每個核心。
示例:Parallax Propeller:
Parallax Propeller 是對稱多核處理器的示例。Parallax Propeller 在晶片上具有 8 個核心,每個核心都是一個 32 位 RISC 處理器。Parallax Propeller 晶片中的每個核心都是對稱的,可以獨立地執行。
非對稱多核處理器是指在一個晶片上有多個核心,但這些核心可能是不同的設計。例如,一個晶片上可以有兩個通用核心和兩個向量核心。
示例:Cell 處理器
IBM 的 Cell 處理器,用於索尼 PlayStation 3 影片遊戲機,是一個非對稱多核處理器。Cell 在板載有 9 個處理器核心,一個通用處理器和 8 個數據處理核心。一個多用途核心,稱為 **Power Processor Element** (PPE),控制其他核心之間的通訊,並將計算任務分配給其他核心進行處理。另外 8 個核心被稱為 **Synergistic Processor Elements** (SPE),專門設計為具有高浮點吞吐量,特別是向量運算。
示例:Kilocore
Rapport 的 Kilocore 處理器是一個非對稱多核處理器。Kilocore 具有一個通用處理器,一個 PowerPC 處理器核心,以及晶片上 256 或 1024 個數據處理核心。這些核心的設計旨在以極低的功耗執行,因此整個晶片比典型的桌上型電腦 CPU 速度更快,功耗更低[1]。

對稱多核處理器是指一個處理器具有多個完全相同的核心。每個核心都具有相同的架構和相同的功能。Intel Core 2 Duo 處理器是對稱多核系統的示例。
每個核心都具有相同的功能,因此需要一個仲裁單元來為每個核心分配特定的任務。使用諸如 **多執行緒** 之類的技術的軟體可以充分利用 Intel Core 2 之類的多核處理器。
在非對稱多核處理器中,晶片具有多個核心,但這些核心可能是不同的設計。每個核心將具有不同的功能。
IBM Cell 處理器是非對稱多核處理器的示例。
| IBM Cell 處理器的方框圖。Cell 處理器具有 8 個 SPE 核心(左)和 1 個 PPE 核心(右)。PPE 核心是主核心,控制 SPE 核心的行為。 | |
IBM Cell 處理器具有 1 個控制晶片的 PPE 和 8 個專為高數學吞吐量設計的 SPE。IBM Cell 處理器設計如下

注意 SPE 核心只連線到 PPE,而不是彼此連線。還要注意,PPE 核心比各個 SPE 核心大得多。

