中央處理器

<image>

<image>

中央處理單元（Central Processing Unit，縮寫：CPU），為電腦的主要設備之一，功能主要是解釋電腦以及處理電腦軟體中的數據。1970年代以前，中央處理器由多個獨立單元構成，後來發展出由積體電路製造的中央處理器，這些高度收縮的元件就是所謂的微處理器，其中分出的中央處理器最為複雜的電路可以做成單一微小功能強大的單元，也就是所謂的核心。

中央處理器廣義上指一系列可以執行複雜的電腦程式的邏輯機器。這個空泛的定義很容易地將在「CPU」這個名稱被普遍使用之前的早期電腦也包括在內。無論如何，至少從1960年代早期開始，這個名稱及其縮寫已開始在電子計算機產業中得到廣泛應用。儘管與早期相比，「中央處理器」在物理形態、設計製造和具體任務的執行上有了極大的發展，但是其基本的操作原理一直沒有改變。

早期的中央處理器通常是為大型及特定應用的電腦而定製。然而，這種為特定應用定製CPU的昂貴方式，很大程度上已經被開發較便宜、標準化、適用於一種或多種用途的處理器所取代。這個標準化趨勢始於由單個電晶體組成的大型機和微機年代，並隨著積體電路的出現而加速。IC使得更為複雜的中央處理器可以在很小的空間中設計和製造（在微米的數量級）。中央處理器的標準化和小型化都使這一類電子零件在現代生活中的普及程度越來越高。現代處理器出現在包括從汽車、手機到兒童玩具在內的各種物品中。

## 歷史

<image>

在現今的CPU出現之前，如同ENIAC之類的電腦在執行不同程序時，必須經過一番線路調整才能啟動。由於它們的線路必須被重設才能執行不同的程序，這些機器通常稱為「固定程序電腦」（fixed-program computer）。而由於CPU這個詞指稱為執行軟體（電腦程式）的裝置，那些最早與儲存程序型電腦一同登場的裝置也可以被稱為CPU。

儲存程序型電腦的主意早已體現在ENIAC的設計上，但最終還是被省略以期早日完成。在1945年6月30日，ENIAC完成之前，著名數學家馮·諾伊曼發表名為《關於EDVAC的報告草案》的論文。它揭述儲存程序型電腦的計劃將在1949年8月完成。EDVAC的目標是執行一定數量與種類的指令（或操作），這些指令結合產生出可以讓EDVAC執行的有用程序。特別的是，為EDVAC而寫的程序是儲存在高速電腦記憶體中，而非由實體線路組合而成。這項設計克服了ENIAC的某些局限——即花費大量時間與精力重設線路以執行新程序。在馮·諾伊曼的設計下，EDVAC可以藉由改變記憶體儲存的內容，簡單更換它執行的程序（軟體）。

值得注意的是，儘管馮·諾伊曼由於設計了EDVAC，使得他在發展儲存程序型電腦上的貢獻最為顯著，但其他早於他的研究員如康拉德·楚澤（Konard Zuse）也提出過類似的想法。另外早於EDVAC完成，利用哈佛架構製造的馬克一號，也利用打孔帶而非電子記憶體用作儲存程序的概念。馮·諾伊曼架構與哈佛架構最主要的不同在於後者將CPU指令與資料分開存放與處置，而前者使用相同的記憶體位置。大多近代的CPU依照馮·諾伊曼架構設計，但哈佛架構一樣常見。

身為數位裝置，所有CPU處理不連續狀態，因此需要一些轉換與區分這些狀態的基礎元件。在市場接受電晶體前，繼電器與真空管常用在這些用途上。雖然這些材料速度上遠優於純粹的機械構造，但是它們有許多不可靠的地方。例如以繼電器建造直流時序邏輯迴路需要額外的硬體以應付接觸點跳動問題。而真空管不會有接觸點跳動問題，但它們必須在啟用前預熱，也必須同時停止運作。通常當一根真空管壞了，CPU必須找出損壞元件以置換新管。因此早期的電子真空管式電腦快於電子繼電器式電腦，但維修不便。類似EDVAC的真空管電腦每隔八小時便會損壞一次，而較慢較早期的馬克一號卻不太發生故障。但在最後，由於速度優勢，真空管電腦主宰了當時的電腦世界，儘管它們需要較多的維護照顧。大多早期的同步CPU，其時鐘頻率低於近代的微電子設計（見下列對於時鐘頻率的討論）。那時常見的時鐘頻率為10萬赫茲到4百萬赫茲，大大受限於內建切換裝置的速度。

### 分立電晶體與積體電路中央處理器

<image>

由於許多科技廠家投入更小更可靠的電子裝置，使得設計CPU變得越來越複雜。電晶體的面世即是CPU第一個質的飛躍。1950到60年代的電晶體CPU不再以體積龐大、不可靠與易碎的開關元件（例如繼電器與真空管）建造。藉由這項改良，更加複雜與可靠的CPU便被建造在一個或多個包含分立（離散）元件的印刷電路板上，從而向體積小、可靠與不易損壞方向發展。

在此時期，將許多電晶體放置在擁擠空間中的方法大為普及。積體電路（IC）將大量的電晶體集中在一小塊半導體片，或晶片（chip）上。剛開始只有非常基本、非特定用途的數字電路小型化到IC上（例如NOR邏輯閘）。以這些預裝式IC為基礎的CPU稱為小規模積體電路（SSI）裝置。SSI IC，例如裝置在阿波羅導航電腦上的那些電腦，通常包含數十個電晶體。以SSI IC建構整個CPU需要數千個獨立的晶片，但與之前的分立電晶體設計相比，依然省下很多空間與電力。肇因於微電子科技的進步，在IC上的電晶體數量越來越大，因此減少了建構一個完整CPU需要的獨立IC數量。「中規模積體電路」（MSI）與「大規模積體電路」（LSI）將內含的電晶體數量增加到成百上千。

1964年IBM推出了System/360電腦架構，此架構讓一系列速度與性能不同的IBM電腦可以運行相同的程序。此確實為一項創舉，因為當時的電腦大多互不相容，甚至同一家廠商製造的也是如此。為了實踐此項創舉，IBM提出了微程序概念，此概念依然廣泛使用在現代CPU上。System/360架構由於太過成功，因此主宰了大型計算機數十年之久，並留下一系列使用相似架構，名為IBM 的現代主機產品。同一年（1964），迪吉多（DEC）推出另一個深具影響力且瞄準科學與研究市場的電腦，名為PDP-8。DEC稍後推出非常有名的PDP-11，此產品原先計劃以SSI IC構組，但在LSI技術成熟後改為LSI IC。與之前SSI和MSI的祖先相比，PDP-11的第一個LSI產品包含了一個只用了4個LSI IC的CPU。

電晶體計算機有許多前一代產品沒有的優點。除了可靠度與低耗電量之外，由於電晶體的狀態轉換時間比繼電器和真空管短得多，CPU也就擁有更快的速度。得益於可靠度的提升和電晶體轉換器切換時間的縮短，CPU的時鐘頻率在此時期達到十幾百萬赫茲。另外，由於分立電晶體與IC CPU的使用量大增，新的高性能設計，例如SIMD（單指令多數據）、向量處理機開始出現。這些早期的實驗性設計，刺激了之後超級計算機（例如克雷公司）的崛起。

## 中央處理器操作原理

CPU的主要運作原理，不論其外觀，都是執行儲存於被稱為程序裡的一系列指令。在此討論的是遵循普遍的馮·諾伊曼結構（von Neumann architecture）設計的裝置。程序以一系列數字儲存在電腦記憶體中。差不多所有的馮·諾伊曼CPU的運作原理可分為四個階段：提取、解碼、執行和寫回。

第一階段，提取，從程序記憶體中檢索（為數值或一系列數值）。由程序計數器指定程序記憶體的位置，程序計數器保存供識別目前程序位置的數值。換言之，程序計數器記錄了CPU在目前程序裡的蹤跡。提取指令之後，PC根據指令式長度增加記憶體單元。指令的提取常常必須從相對較慢的記憶體尋找，導致CPU等候指令的送入。這個問題主要被論及在現代處理器的快取和管線化架構（見下）。

CPU根據從記憶體提取到的指令來決定其執行行為。在解碼階段，指令被拆解為有意義的片段。根據CPU的指令集架構（ISA）定義將數值解譯為指令。一部分的指令數值為運算碼，其指示要進行哪些運算。其它的數值通常供給指令必要的資訊，諸如一個加法運算的運算目標。這樣的運算目標也許提供一個常數值（即立即值），或是一個空間的定址值：暫存器或記憶體位址，以定址模式決定。在舊的設計中，CPU裡的指令解碼部分是無法改變的硬體裝置。不過在眾多抽象且複雜的CPU和ISA中，一個微程序時常用來幫助轉換指令為各種形態的訊號。這些微程序在已成品的CPU中往往可以重寫，方便變更解碼指令。

在提取和解碼階段之後，接著進入執行階段。該階段中，連接到各種能夠進行所需運算的CPU部件。例如，要求一個加法運算，算術邏輯單元將會連接到一組輸入和一組輸出。輸入提供了要相加的數值，而且在輸出將含有總和結果。ALU內含電路系統，以於輸出端完成簡單的普通運算和邏輯運算（比如加法和位元運算）。如果加法運算產生一個對該CPU處理而言過大的結果，在標誌暫存器裡，溢出標誌可能會被設置（參見以下的數值精度探討）。

最終階段，寫回，以一定格式將執行階段的結果簡單的寫回。運算結果經常被寫進CPU內部的暫存器，以供隨後指令快速存取。在其它案例中，運算結果可能寫進速度較慢，如容量較大且較便宜的主記憶體。某些類型的指令會操作程序計數器，而不直接產生結果資料。這些一般稱作「跳轉」並在程序中帶來循環行為、條件性執行（透過條件跳轉）和函式。許多指令也會改變標誌暫存器的狀態位元。這些標誌可用來影響程序行為，緣由於它們時常顯出各種運算結果。例如，以一個「比較」指令判斷兩個值的大小，根據比較結果在標誌暫存器上設置一個數值。這個標誌可藉由隨後的跳轉指令來決定程序動向。

在執行指令並寫回結果資料之後，程序計數器的值會遞增，反覆整個過程，下一個指令周期正常的提取下一個順序指令。如果完成的是跳轉指令，程序計數器將會修改成跳轉到的指令位址，且程序繼續正常執行。許多複雜的CPU可以一次提取多個指令、解碼，並且同時執行。這個部分一般涉及「經典RISC管線」，那些實際上是在眾多使用簡單CPU的電子裝置中快速普及（常稱為微控制器）。

## 設計與實作

### 整數範圍

CPU數字表示方法是一個設計上的選擇，這個選擇影響了設備的工作方式。一些早期的數字電腦內部使用電氣模型來表示通用的十進位（基於10進位）記數系統數字。還有一些罕見的電腦使用三進位表示數字。幾乎所有的現代的CPU使用二進位系統來表示數字，這樣數字可以用具有兩個值的物理量來表示，例如高低電平等等。

<image>

與數表示相關的是一個CPU可以表示的數的大小和精度，在二進位CPU情形下，一個位（bit）指的是CPU處理的數中的一個有意義的位，CPU用來表示數的位數量常常被稱作「字長」、「位寬」、「數據通路寬度」，或者當嚴格地涉及到整數（與此相對的是浮點數）時，稱作「整數精度」，該數量因體系結構而異，且常常在完全相同的CPU的不同部件中也有所不同。例如：一個8位的CPU可處理在八個二進位數碼（每個數碼具有兩個可能的取值，0或1）表示範圍內的數，也就是說，28或256個離散的數值。實際上，整數精度在CPU可執行的軟體所能利用的整數取值範圍上設置了硬體限制。

整數精度也可影響到CPU可尋址（定址）的記憶體數量。譬如，如果二進位的CPU使用32位來表示記憶體地址，而每一個記憶體地址代表一個八位元組，CPU可定位的容量便是232個位元組或4GB。以上是簡單描述的CPU地址空間，通常實際的CPU設計使用更為複雜的尋址方法，例如為了以同樣的整數精度尋址更多的記憶體而使用分頁技術。

更高的整數精度需要更多線路以支持更多的數字位元，也因此結構更複雜、更巨大、更花費能源，也通常更昂貴。因此儘管市面上有許多更高精準度的CPU（如16，32，64甚至128位），但依然可見應用軟體執行在4或8位的微控制器上。越簡單的微控制器通常較便宜，花費較少能源，也因此產生較少熱量。這些都是設計電子設備的主要考量。然而，在專業級的應用上，額外的精度給予的效益（大多是給予額外的地址空間）通常顯著影響它們的設計。為了同時得到高與低位寬度的優點，許多CPU依照不同功用將各部分設計成不一樣的位寬度。例如IBM System/370使用一個原為32位的CPU，但它在其浮點單元使用了128位精度，以得到更佳的精確度與浮點數的表示範圍。許多後來的CPU設計使用類似的混合位寬，尤其當處理器設計為通用用途，因而需要合理的整數與浮點數運算能力時。

### 時鐘頻率

<image>

主頻＝外頻×倍頻。

大部分的CPU，甚至大部分的時序邏輯設備，本質上都是同步的。也就是說，它們被設計和使用的前題是假設都在同一個同步信號中工作。這個信號，就是眾所周知的時脈訊號，通常是由一個周期性的方波（構成）。通過計算電信號在CPU眾多不同電路中的分支中循環所需要的最大時間，設計者們可為時脈訊號選擇一個適合的周期。

該周期必須比信號在延遲最大的情況下移動或者傳播所需的時間更長。設計整個CPU在時鐘信號的上升沿和下降沿附近移動數據是可能的。無論是在設計還是元件的維度看來，均對簡化CPU有顯著的優點。同時，它也存在CPU必須等候回應較慢元件的缺點。此限制已透過多種增加CPU並行運算的方法下被大幅的補償了。（見下文）

無論如何，結構上的改良無法解決所有同步CPU的弊病。比方說，時脈訊號易受其它的電子信號影響。在逐漸複雜的CPU中，越來越高的時鐘頻率使其更難與整個單元的時脈訊號同步。是故近代的CPU傾向發展多個相同的時脈訊號，以避免單一信號的延遲使得整個CPU失靈。另一個主要的問題是，時脈訊號的增加亦使得CPU產生的熱能增加。持續變動的時鐘頻率使得許多元件切換（Switch）而不論它們是否處於運作狀態。一般來說，一個處於切換狀態的元件比處於靜止狀態還要耗費更多的能源。因此，時鐘頻率的增加使得CPU需要更有效率的冷卻方案。

其中一個處理切換不必要元件的方法稱為時脈閘控，即關閉對不必要元件的時鐘頻率（有效的禁止元件）。但此法被認為太難實行而不見其低耗能通用性。另一個對全程時鐘信號的方法是同時移除時鐘信號。當移除全程時鐘信號;使得設計的程序更加複雜時，非同步（或無時脈）設計使其在能源消耗與產生熱能的維度上更有優勢。罕見的是，所有的CPU建造在沒有利用全程時鐘信號的狀況。兩個值得注意的範例是ARM（"Advanced RISC Machine"）順從AMULET以及MIPS R3000相容MiniMIPS。與其完全移除時脈訊號，部份CPU的設計允許一定比例的裝置不同步，比方說使用不同步算術邏輯單元連接超純量管線以達成一部份的算術效能增進。在不將時脈訊號完全移除的情況下，不同步的設計可使其表現出比同步計數器更少的數學運算。因此，結合了不同步設計極佳的能源耗損量及熱能產生率，使它更適合在嵌入式電腦上運作。

### 並行

<image>

前面描述的CPU結構只能在同一時間點執行一個，這種類型的CPU被稱為低標量。

這一類型的CPU有一很大的缺點：效率低。由於只能執行一個指令，此類的進程給與低標量CPU固有的低效能。由於每次僅有一個指令能夠被執行，CPU必須等到上個指令完成才能繼續執行。如此便造成下標量CPU延宕在需要兩個以上的時鐘循環才能完成的指令。即便增加第二個執行單元（見下文）也不會大幅提升效能；除了單一通道的延宕以外，雙通道的延宕及未使用的電晶體數量亦增加了。如此的設計使得不論CPU可使用的資源有多少，都僅能一次運行一個指令並可能達到標量的效能（一個指令需一個時脈循環）。無論如何，大部份的效能均為下標量（一個指令需超過一個時脈循環）。

為了達成標量目標以及更佳的效能，導致使得CPU傾向平行運算的各種設計越來越多。提到CPU的平行，有兩個字彙常用來區分這些設計的技術。指令平行處理（Instruction Level Parallelism, ILP）以增加CPU執行指令的速率（換句話說，增加on-die執行資源的利用），以及執行緒平行處理（Thread Level Parallelism, TLP）目的在增加執行緒（有效的個別程序）使得CPU可以同時執行。每種方法均可由其如何嵌入或相對有效（對CPU的效能）來區分。

指令級並行（Instruction level parallelism，ILP）：指令管線化與超純量架構

<image>

其中一種達成增加平行運算的方法，便是在主要指令完成執行之前，便進行指令提取及解碼。這種最簡易的技術，我們稱為指令管線化，且其被利用在泰半現代的泛用CPU中。透過分解執行通道至離散階段，指令管線化可以兩個以上的指令同時執行。相較於已被淘汰的組合管線，指令管線化不再使用等候指令完全在管線中退出才執行下一指令的技術。

指令管線化產生了下一作業需要前一作業才可完成的可能性。此類狀況又常稱為相依衝突。解決的方法是，對此類的情況增加額外的注意，及在相依衝突發生時延遲一部份的指令。自然地，此種解決方法需要額外的循環，是故指令管線化的處理器比低標量處理器還要複雜。（雖然不是很顯著）一個指令管線化的處理器的效能可能十分接近標量，只需禁止管線推遲即可。（在一個階段需要超過一個以上的循環的指令）

<image>

此外，對於指令管線化的改進啟發了減少CPU元件閒置時間的技術。稱為超標量的設計包括了一條長指令管線化及多個相同的執行單元。上標量管線的分派器同時讀取及通過數個指令；分派器決定指令是否能夠平行執行（同時執行）並分配到可執行的執行單元。大致上來說，一個上標量的CPU能夠同時分派越多的指令給閒置的執行單元，就能夠完成越多的指令。

上標量CPU結構的設計中，最困難的部份便是創造一個有效率的分派器。分派器必須能夠快速且正確的決定指令是否能夠平行執行，並且讓閒置的執行單元最小化。其需要指令管線化常時的充滿指令流，且提升了在上標量結構中一定數量的CPU快取。其亦催生了危害迴避的技術，如分支預測、投機執行與跨序執行以維持高層次的效能。藉由嘗試預測特定的指令選擇何分支（路徑），CPU能夠最小化整個指令管線等待特定的指令完成的次數。投機執行則是藉著執行部份的指令以得知其是否在整個作業完成後仍被需要而提供適度的效能提升。跨序執行則是重新整理指令執行的命令以降低資料相依。

當不是所有的CPU元件均有上標量效能時，未達上標量的元件效能便會因定序推遲而降低。奔騰的原型有兩個每一時脈循環可接收一個指令的上標量算術邏輯單元，但其浮點算術處理器（Floating Point Unit, FPU）不能在每一時脈循環接收一個指令。因此P5的效能只能算是整數上標量而非浮點上標量。英特爾Pentium結構的下一代P6加入了浮點運算處理器的上標量能力，因此在浮點指令上有顯著的效能提升。

此兩種簡單的管線及上標量設計，均能透過允許單一處理器在一個時鐘循環完成一個指令，提升指令管線化的效能。多數的近代CPU設計至少都在上標量以上，且幾乎所有十年內的泛用CPU均達上標量。近年來，一些重視高指令管線化的電腦將其從CPU的硬體移至軟體。超長指令字元（的策略使得一部份的指令管線化成為軟體，減少CPU推動指令管線化的工作量，並降低了CPU的設計複雜度。

執行緒級並行（Thread-level parallelism，TLP）：同時執行緒執行或線程級並行處理

另一個常用以增加CPU平行運算效能的策略是讓CPU有同時執行多個執行緒的能力。大致上說來，高同時執行緒平行執行（TLP）CPU比高指令平行執行來的有用。許多由克雷公司（Cray）公司於1970年代及1980年代晚期所首創的同時執行緒平行執行，專於該方法而啟發了龐大的計算效力。（就時間上而言）事實上，TLP多線程運算自從1950年就已經開始被運用了Smotherman2005。在單處理器設計中，兩種主要實現TLP的設計方法是晶片級多處理（CMP）晶片層多線程處理和同步多執行緒（simultaneous multithreading，SMT）。同級別層多線程處理。在更高級層中，一台電腦中有多個單獨的處理器，常常運用對稱多處理機（SMP）和non-uniform memory access（NUMA）非獨立記憶體訪問的方式來組織。這些非常不同的方法，全部為了實現同一個目標，就是增加CPU同時處理多個線程的能力。

CMP和SMP這兩種方法其實是非常相似的，而且是最直接的方法。這裡有一些概念上的東西關於如何實兩個或是兩個以上完全單獨的CPU。在CMP中，多個處理器內核會被放入同一個包中，有時會在非常相近的積體電路中。另一方面SMP包含多個包在其中，NUMA和SMP很相像，但是NUMA使用非單一的記憶體訪問方式。這些對於一台有著多個CPU的電腦來說是非常重要的，因為每個處理器訪問記憶體的時間會很快的被SMP分享的模塊消耗掉，因些會造成很嚴重的延遲，因為CPU要等待可用的記憶體．這時NUMA是個不錯的選擇，它可以允許有多個CPU同時存在一台電腦中而且SMP也可以同時實現．SMT有一些不同之處，就是SMT會儘可能的減少CPU處理能力的分布。TLP的實現實際上和超標量體系結構的實現有些相似，其實上它常常被用在超標量體系結構處理器中，如IBM的。相比於複製整個CPU，SMT會複製需要的部分來提取指令，加密和分配，就像電腦中的一般的寄存器一樣。因此這樣會使SMT CPU保持處理單位運作的連續，一些通常會提供給處理單位多個指令而且來自不同的軟體線程，這和ILP結構很相似。相比於處理多個指令來自同一個線程，它會同時處理來自不同線程的多個指令。

### 數據並行

上面提及過的處理器都是一些常量儀器，而針對向量處理的CPU是較不常見的類型，但它的重要性卻越來越高。事實上，在電腦計算上，向量處理是很常見的。顧名思義，向量處理器能在一個命令週期（one instruction）處理多項數據，這有別於只能在一個命令週期內處理單一數據的常量處理器。這兩種不同處理數據的方法，普遍分別稱為『單指令，多資料』（SIMD）及『單指令，單資料』（SISD）。向量處理器最大的優點就是能夠在同一個命令週期中對不同的工作進行優化，例如：求一大堆數據的總和及向量的數量積，更典型的例子就是多媒體應用程序（畫像、影像、及聲音）與及眾多不同總類的科學及工程上的工作。當常量處理器只能針對一組數據於單一命令週期內完全執行提取、解碼、執行和寫回四個階段的同時，向量處理器已能對較大型的數據如相同時間內執行相同動作。當然，這假設了這個應用程序於單一命令週期內對處理器進行多次要求。

大多數早期的向量處理器，例如，大多都只會用於和科研及密碼學有關的應用程序。但是，隨著多媒體向數位媒體轉移，對於能做到『單指令，多資料』的普通用途處理器需求大增。於是，在浮點計算器普及化不久，擁有『單指令，多資料』功能的普通用途處理器便面世了。有些早期的『單指令，多資料』規格，如英特爾的，只能作整數運算。因為大多數要求『單指令，多資料』的應用程序都要處理浮點數字，所以這個規格對軟體開發者無疑是一個主要障礙。幸好，這些早期的設計慢慢地被改進和重新設計為現時普遍的『單指令，多資料』新規格，AMD公司也推出了第一個真正能執行浮點SIMD指令集3DNow!，在每個時脈週期可得到4個單精確度浮點數結果，是當時一般x87浮點處理器的4倍。新規格通常都於一ISA關連著。近年，一些值得注意的例子一定要數英特爾的SSE和PowerPC相關的AltiVec（亦稱為VMX）。

<image>

### 多核心

多核心中央處理器是在中央處理器晶片或封裝中包含多個處理器核心，以偶數為核心數目較為常見，一般共用第二級快取。現今使用雙核心和四核心以上處理器的個人電腦已相當普遍。

第一顆雙核心處理器為IBM POWER4處理器，2012年IBM發布了最新8核心的POWER 7＋處理器，擁有80MB L3緩存/晶片。

## 性能

CPU的性能和速度取決於時鐘頻率（一般以赫茲或十億赫茲計算，即hz與Ghz）和每週期可處理的指令（IPC），兩者合併起來就是每秒可處理的指令（IPS）。

IPS值代表了CPU在幾種人工指令序列下「高峰期」的執行率，指示和應用。而現實中CPU組成的混合指令和應用，可能需要比IPS值顯示的，用更長的時間來完成。而記憶體層次結構的性能也大大影響中央處理器的性能。通常工程師便用各種已標準化的測試去測試CPU的性能，已標準化的測試通常被稱為「基準」（Benchmarks）。如SPECint，此軟仵試圖模擬現實中的環境。測量各常用的應用程序，試圖得出現實中CPU的績效。

提高電腦的處理性能，亦使用多核心處理器。原理基本上是一個積體電路插入兩個以上的個別處理器（意義上稱為核心）。在理想的情況下，雙核心處理器性能將是單核心處理器的兩倍。然而，在現實中，因不完善的軟體演算法，多核心處理器性能增益遠遠低於理論，增益只有50％左右。但增加核心數量的處理器，依然可增加一台電腦可以處理的工作量。這意味著該處理器可以處理大量的不同步的指令和事件，可分擔第一核心不堪重負的工作。有時，第二核心將和相鄰核心同時處理相同的任務，以防止崩潰。

## CPU發熱原理

CPU是電腦系統中的核心組件，負責執行各種計算和指令操作。當CPU運行時，它會進行大量的電子計算和數據處理操作，這需要電流通過晶片內部的導線和電晶體進行傳輸和開關操作。這個過程會導致電子之間的摩擦和碰撞，產生能量損耗，進而轉化為熱能。

另外，現代CPU在高性能的同時也具有較高的功耗。當CPU運行時，它會消耗相當的電能，其中一部分會被轉化為熱能。

## 著名公司

以下公司曾經或正在生產中央處理器；包含已經倒閉、退出市場或被併購的公司。

- AMD（超微）
- Intel（英特爾）
- Andes (晶心科技)
- ARM（安謀）
- Apple（蘋果）
- Broadcom Limited（博通）
- Cirrus Logic（凌雲邏輯）
- Cyrix（賽瑞克斯）
- 龍芯（中國科學院）
- Fairchild（仙童）
- Fujitsu（富士通）
- Hewlett Packard（惠普）
- Hitachi（日立）
- HUAWEI (華為)
- IBM（國際商業機器）
- IDT（IDT）
- Intersil（Intersil）
- Maxwell（麥克斯韋）
- MIPS Technologies（美普思科技）
- Mitsubishi（三菱）
- MOS Technology（MOS Technology）
- Motorola (摩托羅拉)
- MediaTek(聯發科技)
- NS（國家半導體）
- NEC（日本電氣）
- NexGen（NexGen）
- OPTi（OPTi）
- Philips（飛利浦）
- Qualcomm(高通)
- RCA（美國無綫電）
- Renesas（瑞薩）
- Rise（Rise）
- Rockchip（瑞芯微電子）
- Rockwell（洛克威爾）
- Samsung (三星)
- Sharp（Sharp）
- ST（意法半導體）
- Siemens（西門子）
- Sun（昇陽）
- Thompson（托馬森）
- Thomson（湯姆遜半導體）
- TSMC（台積電）
- TI（德克薩斯儀器）
- Toshiba（東芝）
- Transmeta（全美達）
- UMC（聯電）
- VIA（威盛）
- Western Electric（西部電氣）
- ZiLOG（ZiLOG）

## 外部連結

- CPU簡史

微處理器生產商

- Advanced Micro Devices - AMD，其中一個生產相容x86電腦的CPU生產商
- ARM Ltd - 安謀國際科技，少數隻授權其CPU設計而沒有自行製造的公司。嵌入式應用軟體最常被ARM架構微處理器執行。
- IBM Microelectronics - IBM的微電子分公司，設計出許多IBM 與PowerPC，包括許多電視遊樂器的CPU。
- Intel Corp - 英特爾，許多著名CPU的生產者，包括IA-32、IA-64與XScale。也是許多用在他們自家CPU的週邊產品的製造者.

## 參見

- 微處理機、微控制器、單晶片
- CPU鎖頻、倍頻器
- 指令集（CISC、RISC）
- EMMI、3DNow!、SSE、SSE2、SSE3
- 真實模式、保護模式、虛擬86模式
- Pentium OverDrive
- 總線（BUS）、前端匯流排（FSB）
- 浮點運算器（FPU）
- 電機工程學