微处理器

微处理器（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