微處理器

微處理器（Microprocessor，縮寫：µP或uP）通常指稱一種可程式化特殊積體電路（IC），其所有元件小型化至一塊或數塊集成電路內。微處理器可在其一端或多端接受編碼指令，執行此指令並輸出描述其狀態的信號。這些指令能在內部輸入、集中或存放。

微處理器的元件常安裝在一個單片上或在同一組件內，但有時分布在一些不同晶片上。在具有固定指令集的微型計算機中，微處理器由算術邏輯單元和控制邏輯單元組成；在具有微程序控制的指令集的微型計算機中，它包含另外的控制存儲單元。

用作處理通用資料時，叫作中央處理器（Central Processing Unit），這也是最為人所知的應用，如：AMD Ryzen CPU；專用於圖像資料處理的，叫作圖形處理器（Graphics Processing Unit），如Nvidia GeForce 30X0 GPU；用於音訊資料處理的，叫作音訊處理單元（Audio Processing Unit），如Creative emu10k1 APU等等。從物理角度來說，它就是一塊集成了數量龐大的微型電晶體與其他電子元件的半導體積體電路晶片。

之所以會被稱為微處理器，不僅是因為它比迷你電腦所用的處理器還要小而已。最主要的區別，是因為當初各大晶片廠的製程，已經進入了1 微米尺度的階段。在微米尺度下所產製出來的處理器晶片，廠商就會在產品名稱上用「微」字，以彰顯自身的技術。與現在的許多商業廣告中，「納米」字眼時常出現一樣。

早在微處理器問世之前，電子計算機的中央處理單元就經歷了從真空管到電晶體以及再後來的離散式TTL積體電路等幾個重要階段。甚至在電子計算機以前，還出現過以齒輪、輪軸和槓桿為基礎的機械結構電腦。微處理器的發明使得複雜的電路群得以製成單一的電子元件。

從1970年代早期開始，微處理器性能的提升就基本上遵循著IT界著名的摩爾定律。這意味著在過去的30多年裡每18個月，CPU的計算能力就會翻倍。大到巨型機，小到筆記型電腦，持續高速發展的微處理器取代了諸多其他計算形式而成為各個類別各個領域所有電腦系統的計算動力之源。

## 歷史

### 最早的晶片

正如近現代其他科技的發展一樣，微處理器時代仿佛一夜之間就到來了。三個公司，三個計劃，幾乎不約而同地成為微處理器產業的先鋒。它們就是英特爾的Intel 4004，德州儀器公司的TMS 1000和Garrett AiResearch工業部的CADC（Central Air Data Computer）for F14 MP944。

1968年Garrett AiResearch被邀請參加研製一種數字電腦，以同正在開發中的用於美國海軍F-14雄貓戰鬥機的主飛行控制電腦的電機系統競爭。這個以基於MOS（金屬氧化物半導體）技術的晶片組為核心的CPU於1970年設計完成，並以更小的體積和更高的可靠性打敗了基於電機系統的設計，被運用於早期的所有雄貓戰鬥機。但今天看來，知道CADC和MP944晶片組的人並不多，主要原因在於美國海軍認為這種技術太過先進而不允許將其設計細節公開，這種情況一直持續到1997年。

德州儀器公司開發出以預編程嵌入式應用（pre-programmed embedded applications）為主打技術的4位微處理器TMS 1000，並於1971年9月17日推出代號為TMS1802NC的市場版本，用於生產單晶片計算器。英特爾的4004計劃則由弗得里克·法金（Federico Faggin）主持開發，並於1971年11月15日發布。

德州儀器為微處理器申請了專利。1973年9月4日Gary Boone獲得了單片微處理器的美國專利，專利號是3757306。但是我們可能無法確定究竟哪家公司第一個在實驗室做出了微處理器。1971年和1976年英特爾和德州儀器兩次達成專利互許可協議，根據協議，英特爾向德州儀器付微處理器專利的使用費。Cyrix曾經同英特爾為微處理器專利對簿公堂，關於此事的法律文件可以參見。

有趣的是，有第三方人士聲稱擁有可以涵蓋「微處理器」的專利。具體請參見 這個網站，根據這裡的描述，有人早於德州儀器和英特爾就發明了「微控制器」，這算不算「微處理器」尚有爭議。

所謂的單片機是微處理機的一種變體，它包括了CPU，一些記憶體以及I/O接口，所有都集成在一塊積體電路上。單片機的專利號為4074351，授予了德州儀器的Gary Boone和Michael J. Cochran。當時他們是以微電腦的名稱申請專利的。

根據麻省理工出版的《現代計算史》第200頁到221頁，英特爾同聖安東尼奧的一家叫做電腦終端的公司（後改名為數點公司）簽署了一份合同，合作設計一塊用於終端的晶片。數點後來決定不用這塊晶片了，而採用TTL邏輯電路設計跑相同的指令集，英特爾隨即將該晶片其命名為8008,並於1972年4月上市銷售。這是世界上第一塊8位微處理器，也是後來《無線電電子》雜誌賣的著名的馬克-8電腦的主要部件。8008及其後繼產品8080開創了微處理器的市場。

### 8位

緊隨4位的4004之後，英特爾設計出世界上第一片8位微處理器，Intel 8008。此後，在市場運作中非常成功的Intel 8080和Zilog公司的Z80以及一系列其他8位微處理器又相繼推出。原先在摩托羅拉公司設計Motorola 6800的一群人離開公司，另組建了MOS Technology公司並在6800的技術基礎上推出改良產品6502，藉此與Z80在20世紀80年代的微處理器市場上分庭抗禮。

Z80和6502晶片的設計目標都是要減少整個系統的成本，為此開發者使用了縮小規模，簡化總線，合併專用晶片（比如Z80就包含了一個記憶體控制器等方法。這些措施導致了1980年代早期家用電腦的「革命」：消費者用99美元的價格就能買到一台半可用的電腦了。

摩托羅拉推出了MC6809，成為8位處理器市場的領頭羊。有人認為這是有史以來功能最強大的純8位處理器－也是所有投產的硬布線處理器中最複雜的。比MC6809更先進的處理器後來都用了微代碼技術。這是因為硬布線邏輯無法滿足越來越複雜的設計，逐步被淘汰了。

另一種早期的8位處理器是Signetics 2650。由於其指令集架構新穎而功能強大，這種晶片風靡一時。

RCA公司生產的CDP1802，即RCA COSMAC，是應用於航太的處理器的先鋒。1970年代，NASA的旅行者號和維京號空間探測器都使用了這種晶片。1989年發射的木星探測器伽利略號也裝配了這種處理器。選用CDP1802，一是因為它可以在很低的功耗下運行*；二是因為它采的工藝可以更好抵抗宇宙射線和電脈衝。因此1802也被認為是第一塊抗輻射微處理器。

### 16位

第一款多片16位微處理器是美國國家半導體公司於1973年初期推出的IMP-16，8位的IMP-8晶片組又於1974年推出。1975年該公司推出了第一款單片16位微處理器，PACE，其基於NMOS技術的新版本，INS8900不久就替代了它。

其他早期的多片16位微處理器包括DEC用於PDP11小型機系列中LSI-11和PDP-11/30上的主板，還有仙童公司的MicroFlame 9440，這兩款都是在1975年到1976年推出的。

另外德州儀器出的TMS 9900也是早期的單片16位處理器，同TI 990兼容。9900用在了TI 990/4小型機，TI-99/4A家用電腦和TM990系列OEM品牌微機上。這塊晶片封裝成在一塊陶瓷64腳雙內線（DIP）晶片，而當時大多數8位微處理器都用更便宜的40腳DIP。後續產品TMS 9980針對英特爾的8080推出，全兼容TI 990的16位指令集，一次傳輸8位數據，設計成塑料40腳DIP，但是只能尋址16KB。TMS 9995是這個系列的第三塊晶片，使用了全新的設計。此系列產品後來擴展到了99105和99110。

英特爾走了一條不同的路，由於沒有小型機可以模擬，他們採取擴充8080的辦法設計出了16位的8086，這是後來幾乎統治PC晶片的x86家族的第一個成員。英特爾推出的8086使得8080上的軟體可以很經濟的移植重用，商業上獲得的成功超出預期。接著英特爾又發布80186，80286，還有1985年推出的32位80386，這些處理器都是向前兼容的，造就了英特爾PC市場的霸主地位。

集成記憶體管理器的微處理器是英特爾公司的柴爾茨等開發的，獲得美國專利號4442484。

### 32位

16位的設計剛剛進入市場，32位的微處理器就出現了。

世界上第一塊單片32位微處理器是AT&T貝爾實驗室的BELLMAC-32A，樣本於1980年，1982年正式投產。1984年AT&T解體後更名為WE32000（WE代表西部電子），後來又推出了後續產品WE32100和WE32200。這些晶片用在了AT&T的3B5及3B14小型計算機、世界上第一台超級台式微機3B2，還有世界上第一台筆記本式超級微機「亞歷山大」上（這種系統使用類似於現在遊戲機上用的ROM插件）。所有這些系統都運行貝爾實驗室的UNIX作業系統，包括叫做xt-layers的第一個窗口系統。

最著名的32位微處理器是摩托羅拉於1979年推出的MC68000。這片被稱為68K的晶片具有32位的寄存器，但是內部和外部數據總線都是16位的，這樣可以減少晶片的腳數。摩托羅拉將其描述為16位處理器，但是顯然這是塊有32位結構的晶片。由於速度快、記憶體尋址空間大（16兆）價格低廉，MC68000很快成為此類CPU中最流行的型號。1980年代中期，很多公司都用它來裝配機器，其中包括Atari ST和Commodore Amiga，最為知名的大概算蘋果公司的Apple Lisa和Macintosh了。

英特爾的第一款32位微處理器是iAPX 432，於1981年推出，但市場上並未獲得成功。此產品有先進的面向對象架構，但同其它同類產品，特別是68000比，性能較差。

68000的成功讓摩托羅拉繼續推出MC68010，這塊晶片加入了對虛擬內存的支持。1985年又推出了MC68020，增加了完全的32位數據和地址總線。68020在Unix超級微機市場上獲得巨大成功，許多小公司也用它生產桌面系統。MC68030晶片內集成了記憶體管理器，幾乎成為除DOS外所有機器的標準處理器。MC68040合成了浮點運算器，數學運算性能得到提高。68050未能達到設計要求，沒有發行。後繼的68060採用了更快的RISC設計。1990年代早期，68K開始淡出桌面系統的市場。

其他大公司用68020設計嵌入式系統。曾幾何時，運行在嵌入式系統上的68020晶片比運行在PC機上的英特爾奔騰晶片都多。（見 此網頁。摩托羅拉的"冷火"處理器也是68020的一種變種。

在此期間（1980年早期到中期），國家半導體推出了一種非常類似的16位外部數據線，32位內部總線的微處理器，稱為NS 16032（後改名為32016）。全32位版本稱作32032，以及一系列工業用OEM微機。待到1980年代中期，Sequent使用NS 32032推出了第一款對稱多處理器伺服器。這款伺服器少有對手，但1980年代晚期就消失了。

其他較值得注意的晶片包括Zilog的Z 8000，但是推出太遲，未能在市場上立足即消聲匿跡了。

一些晶片在20世紀80年代晚期上演的微處理器大戰中開始淡出，甚至逐漸退出市場。結果僅有一種出色產品的Sequent NS 32032系統逐步消失，Sequent也改用英特爾的微處理器。

### 個人電腦中的64位設計

雖然自1990年代初以來，64位微處理器設計已在多個市場使用（包括1996年的Nintendo 64遊戲機），但2000年代初期推出了針對 PC 市場的64位微處理器。

隨著AMD於2003年9月推出向後兼容 x86、x86-64（也稱為 AMD64）的64位架構，隨後是 Intel 幾乎完全兼容的64位擴展（最初稱為 IA-32e 或 EM64T，後來更名為 Intel 64），64位台式機時代開始了。這兩個版本都可以運行 32 位傳統應用程式而不會造成任何性能損失，並且新的 64 位軟體也是如此。對於原生運行 64 位的作系統Windows XP x64、Windows Vista x64、Windows 7 x64、Linux、BSD和macOS，該軟體還可以充分利用此類處理器的功能。與 IA-32 相比，向 64 位的移動不僅僅是寄存器大小的增加，它還使通用寄存器的數量增加了一倍。

PowerPC向64位的轉變自90年代初的架構設計以來就一直打算，並不是不兼容的主要原因。現有的整數寄存器和所有相關的數據路徑都進行了擴展，但是，與 IA-32的情況一樣，浮點和向量單元都以64位或更高的位運行了幾年。與 IA-32擴展到 x86-64時發生的情況不同，64位 PowerPC 中沒有添加新的通用寄存器，因此對於不使用較大地址空間的應用程式，使用64位模式時獲得的任何性能增益都是微乎其微的。

2011年，ARM 推出了新的64位ARM架構。

### RISC技術

1980年代中期到1990年代早期，一類新型高性能RISC（精簡指令集電腦）嶄露頭角，這些晶片最初用於專用機器和UNIX工作站，但很快就在各領域流行起來了。當然，不包括英特爾的個人電腦。

最早的商業產品是MIPS發布的32位R2000微處理器（R1000沒有正式發布）。後續產品R3000是真正實用的型號，R4000則是世界上第一個64位RISC晶片。同類產品還有IBM的Power系列和Sun的SPARC系列。很快所有的廠商都開始生產RISC，包括AT&T的CRISP，AMD 29000，英特爾的i860及i960，摩托羅拉88000，DEC Alpha和HP的PA。

激烈的市場競爭淘汰了很多系列，現在POWER和派生的PowerPC系列成了個人電腦RISC晶片的主流。只有Sun還在使用SPARC架構。MIPS繼續為SGI系統提供支持，但主要用於嵌入式系統，特別是思科的路由器。其他的系統要麼已經絕跡，要麼也奄奄一息。其他公司也曾經試圖分一杯羹，如ARM公司原打算進軍家用電腦市場，但後來還是專注於嵌入式處理器了。現今基於RISC的計算設備由MIPS，ARM和PowerPC占據了市場的主流。

當然在IBM兼容機領域內，英特爾，AMD以及台灣的VIA都生產x86兼容的微處理器。到2004年底，DEC和AMD合作的Alpha，AMD Athlon 64，以及HP和英特爾合作的安騰是最流行的型號。

### SMP 和多核設計

SMP 對稱多處理是指兩個、四個或更多 CPU（成對）的配置，自20世紀90年代以來通常用於伺服器、某些工作站和台式個人電腦。多核處理器是指單個 CPU 包含多個微處理器核心。

這款廣受歡迎的升技雙路主板於1999年發布，是首款支持SMP的PC主板。英特爾奔騰Pro是首款面向系統構建者和愛好者的商用 CPU。升技BP9支持兩個英特爾賽揚CPU，當與支持SMP的作業系統（Windows NT/2000/Linux）配合使用時，許多應用程式的性能遠高於單個CPU。早期的賽揚很容易超頻，愛好者們使用這些相對便宜的CPU，其主頻高達533Mhz，遠遠超出了英特爾的規格。在發現這些主板的後門後，英特爾在後續的CPU中移除了對倍頻器的訪問。

2001年，IBM發布了POWER4 CPU，這款處理器的研發歷時五年，始於1996年，由250名研究人員組成的團隊啟動。為了實現這一不可能，IBM付出了巨大的努力，並通過遠程協作以及指派年輕工程師與經驗豐富的工程師合作等方式，最終成功研發出新的微處理器Power4。這是一款二合一CPU，性能提升了一倍以上，價格卻只有競爭對手的一半，這在計算領域是一項重大進步。商業雜誌《eWeek》寫道：「全新設計的1GHz Power4比其前代產品有了巨大的飛躍。」 Giga Information Group的行業分析師Brad Day表示：「IBM正在變得非常積極，這款伺服器將改變遊戲規則。」

Power4 榮獲 「2001 年最佳工作站/伺服器處理器分析師選擇獎」，並打破多項紀錄，包括在與美國電視節目《危險邊緣！》（Jeopardy!）頂尖選手的比賽中獲勝。

英特爾代號為 Yonah的CPU於2006 年 1 月 6 日發布，採用多晶片模塊封裝，包含兩個晶片。在競爭激烈的市場中，AMD和其他公司紛紛推出新版多核 CPU。2001年，AMD 推出了支持對稱多處理（SMP）的AthlonXP系列Athlon MP CPU；Sun 發布了八核 Niagara和Niagara 2；AMD的Athlon X2於2007年6月發布。各公司在速度方面展開了永無止境的競爭，事實上，要求更高的軟體需要更強大的處理能力和更快的CPU速度。

到2012年，雙核和四核處理器已廣泛應用於個人電腦和筆記型電腦。新型處理器（類似於成本更高的專業級英特爾至強處理器）擁有更多核心，可以並行執行指令，因此軟體性能通常會提升，前提是軟體設計時考慮到了利用先進的硬體。作業系統支持多核和SMD CPU，許多軟體應用程式，包括高負載和資源密集型應用程式（例如3D遊戲），都經過編程以充分利用多核和多CPU系統。

目前，蘋果、英特爾和AMD憑藉多核台式機和工作站CPU在市場上占據領先地位。儘管它們經常在性能層面上互相超越。英特爾保持更高的頻率，因此擁有最快的單核性能，而AMD由於其更先進的ISA和CPU製造工藝節點，通常在多線程例程方面處於領先地位。

多核/多CPU配置的多處理概念與阿姆達爾定律相關。

## 常見微處理器架構

- NSC 320xx
- AMD K5, K6, K6-2, K6-III, Duron, Athlon, Athlon XP, Athlon MP, Athlon XP-M（x86架構）
- AMD Athlon 64, Athlon 64 FX, Athlon 64 X2, Opteron, Sempron, Turion 64, Athlon II, Phenom II, AMD APU, AMD FX, AMD Ryzen, AMD EPYC（AMD64架構）
- ARM架構, StrongARM, Intel PXA2xx
- Atmel AVR架構（僅微控制器）
- CDP1802（屬於RCA COSMAC）
- Cyrix M1, M2, 6x86（Intel x86架構）
- DEC Alpha
- IBM POWER（與88000同為PowerPC系列以前的產品線）
- Intel 4004, 4040
- Intel 8080, 8085, Zilog Z80
- Intel 8086, 8088, 80186, 80188, 80286, 80386, 80486（Intel x86架構）
- Pentium, Pentium Pro, Celeron, Pentium II, Pentium III, Xeon, Pentium 4, Pentium M, Pentium D, Celeron M, Celeron D（x86）
- Intel Core 2, Pentium Dual-Core, Intel Core i3, Intel Core i5, Intel Core i7, Intel Core i9, Xeon（Intel 64架構）
- Itanium（IA-64架構）
- Intel i860, i960
- MIPS架構
- 摩托羅拉6800, MOS Technology 6502, 摩托羅拉6809
- 摩托羅拉68000系列, 摩托羅拉ColdFire
- 摩托羅拉88000（與POWER同為PowerPC系列之前的產品線）
- NexGen Nx586（Intel x86架構）
- OpenCores OpenRISC架構
- PA-RISC系列（HP公司，與x86同為IA-64架構以前的產品線）
- PowerPC系列, G3, G4, G5
- Signetics 2650
- SPARC, UltraSPARC, UltraSPARC II–IV
- 日立/瑞薩科技的SuperH系列
- Transmeta的Crusoe和Efficeon（VLIW架構，可模擬Intel x86）
- INMOS Transputer
- WDC 65816
- 美國國家半導體公司的SC/MP（"scamp"）

## 注

- 1802晶片具有所謂靜態設計，就是說它的時鐘頻率可以設為任意低；這種設計可以讓太空飛行器上的處理器以很低的速度運行（最低可以到0赫茲，也就是停機狀態）。這樣的話，如果飛船在航行過程中正處於長時間沒有事件的旅程的時候，可以把電能消耗降到最低。在有任務到達的情況下，例如要進行航線修正，高度控制，數據採集或者無線電通訊的時候，又可以用定時器或者傳感器來喚醒處理器，或者加速其運行。

## 外部連結

- 微型設計

綜合信息

- Great Microprocessors of the Past and Present
- CPU Info Center
- Microprocessor White Papers
- Microprocessor history

歷史文獻

- standard calculator webpage
- single chip microprocessor webpage
- microcomputer webpage - 有關TI在微處理器領域的早期成果
- A history about important discoveries in microprocessor area during 2004

## 基本資料

- 日語原文：微處理器
- 研發日期：1960年代後期或1970年代前期
- 連接至：印刷電路板
- 連接至：CPU插座
- 連接至：焊接
- 連接至：其他方法
- class-name：架構
- 綱：PowerPC
- 綱：x86
- 綱：x86-64
- 綱：其他（詳見下文）
- AMD：IBM
- AMD：Intel