多核心處理器

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

Procesor czterordzeniowy AMD Phenom II X4 840

通常把两个或更多独立处理器封装在一个单一集成电路(IC)中的方案會稱為多核心處理器,而封裝在不同IC中的獨立處理器形成的計算機系統被稱為多處理器。在某些情况中(比如广告中),有些人会将在同一个集成电路中多个独立的单核心微处理器(或多核心微处理器)称做“多处理模块”、“多核心”等,其实是指“多处理器”而不是“多核心处理器”。除非特别说明,本文将使用“多核心”指代在同一集成电路中集成多個獨立處理器的CPU(即“多核心处理器”)。

一般情況下,多核心处理器可以在每个核心分别独立物理封装的情况下进行多任务处理(線程級並行處理Thread-Level Parallelism,TLP),这种形式的TLP通常被认为是晶片級多處理)。

商业化的例子

开发动机

技术压力

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.

参见

外部链接