跳轉到內容

微處理器設計/多核系統

來自華夏公益教科書

將超標量操作的概念提升到下一個層次,可以在單個晶片上放置多個微處理器核心(這通常是可取的),並且這些核心可以彼此並行執行。

對稱多核

[編輯 | 編輯原始碼]

對稱多核處理器是指在單個晶片上具有多個核心,並且所有這些核心都是相同的。

示例:英特爾酷睿 2:

英特爾酷睿 2 是對稱多核處理器的示例。酷睿 2 可以在晶片上具有 2 個核心(“酷睿 2 雙核”)或 4 個核心(“酷睿 2 四核”)。酷睿 2 晶片中的每個核心都是對稱的,並且可以彼此獨立地執行。它需要排程軟體和硬體的組合來將任務分配到每個核心。

示例:Parallax Propeller:

Parallax Propeller 是對稱多核處理器的示例。Parallax Propeller 晶片上有 8 個核心,每個核心都是一個 32 位 RISC 處理器。Parallax Propeller 晶片中的每個核心都是對稱的,並且可以彼此獨立地執行。

非對稱多核

[編輯 | 編輯原始碼]

非對稱多核處理器是指在單個晶片上具有多個核心,但這些核心的設計可能不同。例如,單個晶片上可能存在 2 個通用核心和 2 個向量核心。

示例: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]

對稱多核

[編輯 | 編輯原始碼]
英特爾酷睿 2 雙核

對稱多核處理器是指具有多個完全相同的核心的處理器。每個核心都具有相同的架構和相同的功能。英特爾酷睿 2 雙核處理器是對稱多核系統的示例。

每個核心都具有相同的功能,因此需要一個仲裁單元來為每個核心分配特定任務。使用 **多執行緒** 等技術的軟體可以充分利用英特爾酷睿 2 等多核處理器。


非對稱多核

[編輯 | 編輯原始碼]

在非對稱多核處理器中,晶片上有多個核心,但這些核心的設計可能不同。每個核心都具有不同的功能。

示例:IBM Cell 處理器

[編輯 | 編輯原始碼]

IBM Cell 處理器是非對稱多核處理器的示例。

IBM Cell 處理器的框圖。Cell 處理器具有 8 個 SPE 核心(左)和 1 個 PPE 核心(右)。PPE 核心是主核心,控制 SPE 核心的行為。

IBM Cell 處理器具有 1 個控制晶片的 PPE 和 8 個設計用於高數學吞吐量的 SPE。IBM Cell 處理器的設計如下

請注意 SPE 核心如何僅連線到 PPE,而不是彼此連線。還要注意 PPE 核心比單個 SPE 核心大得多。

進一步閱讀

[編輯 | 編輯原始碼]
華夏公益教科書