微处理器(英語:Microprocessor,缩写:µP或uP)通常指称一种可程式化特殊集成电路,其所有元件小型化至一块或数块集成电路内。微处理器可在其一端或多端接受编码指令,执行此指令并输出描述其状态的信号。这些指令能在内部输入、集中或存放。
![]() |
![]() |
微处理器的元件常安装在一个单片上或在同一组件内,但有时分布在一些不同芯片上。在具有固定指令集的微型计算机中,微处理器由算术逻辑单元和控制逻辑单元组成;在具有微程序控制的指令集的微型计算机中,它包含另外的控制存储单元[1]。
用作处理通用资料时,叫作中央处理器(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曾经同英特尔为微处理器专利对簿公堂,关于此事的法律文件可以参见。[1]
有趣的是,有第三方人士声称拥有可以涵盖“微处理器”的专利。具体请参见这个网站 (页面存档备份,存于互联网档案馆),根据这里的描述,有人早于德州仪器和英特尔就发明了“微控制器”,这算不算“微处理器”尚有争议。
所谓的单片机是微处理机的一种变体,它包括了CPU,一些内存以及I/O接口,所有都集成在一块集成电路上。单片机的专利号为4074351,授予了德州仪器的Gary Boone和Michael J. Cochran。当时他们是以微计算机的名称申请专利的。
根据麻省理工出版的《现代计算史》第200页到221页,英特尔同圣安东尼奥的一家叫做计算机终端的公司(后改名为数点公司)签署了一份合同,合作设计一块用于终端的芯片。数点后来决定不用这块芯片了,而採用TTL邏輯電路設計跑相同的指令集,英特尔隨即将該芯片其命名为8008,并于1972年4月上市销售。这是世界上第一块8位微处理器,也是后来《无线电电子》杂志卖的著名的马克-8计算机的主要部件。8008及其后继产品8080开创了微处理器的市场。
紧随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位微处理器是美国国家半导体公司于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。
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也改用英特尔的微处理器。
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和英特尔合作的安腾是最流行的型号。
市场统计信息
2003年,整个微处理器产业的产值大约为440亿美元[2]。虽然桌面应用和便携应用占到整个产业产值的一半,但从售出数量上来说,这两个领域其实只消费了所有CPU的0.2%。
1997年,有20亿块8位微处理器售出。8位微处理器占到全球所有微处理器的55%。[3]
在全球所有的CPU中,32位及以上的只占不到10%的份额。而在所有售出的32位CPU里,大约只有2%进入个人电脑(PC)领域。
常见微处理器架构
- 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赫兹,也就是停机状态)。这样的话,如果飞船在航行过程中正处于长时间没有事件的旅程的时候,可以把电能消耗降到最低。在有任务到达的情况下,例如要进行航线修正,高度控制,数据采集或者无线电通讯的时候,又可以用定时器或者传感器来唤醒处理器,或者加速其运行。