从4004到Athlon64(一)
硬件周刊
CPU的全称是Central Processing Unit(中央处理器),这是整个计算机的心脏部分。从1971年,特德·霍夫(Ted Hoff)成功开发第一款CPU──4004至今,已经经过了33个年头。今天笔者就和大家一起来回顾这段时光。
4004横空出世
首先我们来看看CPU之父:特德·霍夫。他是英特尔创业初期的第12名员工,1969年,他代表英特尔公司,为日本商业通讯公司(Busicom)设计一款台式计算器芯片。当时客户提出了一个使用12块芯片的方案,但是霍夫在海滩游泳时却突然产生了灵感,提出了把中央处理单元集成在一块芯片上的独特思路。
诺依斯和摩尔支持他独特的设计思路,并派来逻辑结构专家麦卓尔和芯片设计专家费根(Faggin)共同开发这一芯片。1971年1月,以霍夫为首的研制小组完成了世界上第一个处理器芯片的设计与制造。由于日本商业通讯公司已经向英特尔支付了60000 美元,因而拥有该处理器的所有权。但英特尔认识到了微处理器的潜力,向日本商业通讯公司提出了返还60000美元以换取对处理器设计的所有权的要求,而日本商业通讯公司显然对这个处理器不感兴趣,接受了英特尔的请求。
这个并不被日本商业通讯公司看重的东西就是人类历史上第一块CPU──可以一次处理4位数据的4004。1971年11月15日,英特尔公司经过慎重考虑,决定在《电子新闻》杂志上刊登一则广告,向全世界公布4004处理器。那一天,也就这样变为CPU的诞生纪念日。
4004处理器虽然一次只处理4位数据,但其指令都是8位的。它拥有46条指令,采用16针直插式封装。数据内存和程序内存分开,1KB数据内存,4KB程序内存,运行时钟频率为108kHz,能进行二进制编码的十进制数学运算。
8位争霸战
在4004发布后不久,英特尔又陆续发布了4040和8008。8008芯片原本是为得克萨斯州的Datapoint公司设计的,但是这家公司最终却没有足够的财力支付这笔费用,于是双方达成协议:英特尔公司拥有这款芯片所有的知识产权,而且还获得了由Datapoint公司开发的指令集。这套指令集奠定了今天英特尔公司X86系列微处理器指令集的基础。
1974年,英特尔再接再厉,发布了8080处理器。8080拥有16位地址总线和8位数据总线,包含7个8位寄存器,支持16位内存。然而真正让它名扬天下的却是因为它被第一台个人电脑Altair 8800采用。
同是1974年,摩托罗拉(Motorola)发布了6800微处理器,一款“性价比”较高的8位处理器,在8位处理器市场与英特尔分庭抗礼。
1976年,英特尔发布了8080的改进型──8085,但性能提升非常有限。而此时,Zilog公司Z80处理器的出现无疑给英特尔公司带来了不少麻烦。Zilog公司由一群原英特尔的工程师创办,4004的创始人之一费根也在其中。其Z80处理器比8080功能更为强大,而且具有很好的兼容性。这款当时最经典的CPU无疑让英特尔头痛了很久,直到1978年,8086──世界上首款X86 CPU的诞生。
X86的诞生
8086是世界上首款16位处理器,与之同时诞生的还有一款数学协处理器8087,这两种芯片使用相互兼容的指令集,但在8087指令集中增加了一些专门用于对数、指数和三角函数的数学计算指令。由于这些指令集应用于8086和8087,所以人们对把这些指令集统称为X86指令集。
8086固然性能强劲,但它更多的是作为一款“概念型”产品存在,因为其成本实在是太高了。1979年,英特尔公司又推出了8086的“缩水版”──8088处理器,它仍属于16位微处理器,内含29000个晶体管,时钟频率为4.77MHz,地址总线为20位,可使用1MB内存。8088内部数据总线为16位,但是外部数据总线却是8位,比8086“缩水”了一半。
8086和8088虽然经典,但还远没达到独霸天下的地步,所幸的是一家公司在不经意间扶了英特尔公司一把。那家公司就是蓝色巨人IBM,在它推出的PC机中,IBM选用了8088处理器。由于PC的流行,8088也随之席卷天下,摆脱了摩托罗拉的6800和Zilog的Z80的纠缠。在那次交易中,还顺便拯救了一家公司,那就是因受日本的半导体存储芯片的冲击而面临倒闭的AMD。由于IBM的坚持,英特尔在1981和AMD签订了为期12年的技术交换协议,AMD成功获得了生产8086、8088、80286等处理器的许可,从而大难不死。
之后不久,英特尔又推出了80186。80186采用8086核心,配以内部计时器、DMA通道等,速度比8086更快,功能更强。但是它一般不作为计算机的CPU使用,而是用于智能型的控制器,因而不太出名。
1982年2月,英特尔又推出了80286处理器,虽然它仍旧是16位结构,但是在CPU的内部含有13.4万个晶体管,时钟频率由最初的6MHz逐步提高到12.5MHz。其内部和外部数据总线皆为16位,地址总线为24位,可寻址16MB内存。不仅如此,从80286开始,CPU增加了一种全新的工作模式:保护模式。


