第一章 计算机硬件系统概述
要想成为一名计算机硬件工程师,不了解计算机的历史显然不行。在本书的第一章中,我们将带你走进计算机硬件世界,去回顾计算机发展历程中的精彩瞬间。
第一节 计算机的发展历史
现代电子计算机技术的飞速发展,离不开人类科技知识的积累,离不开许许多多热衷于此并呕心沥血的科学家的探索,正是这一代代的积累才构筑了今天的“信息大厦”。从下面这个按时间顺序展现的计算机发展简史中,我们可以感受到科技发展的艰辛及科学技术的巨大推动力。
一、机械计算机的诞生
在西欧,由中世纪进入文艺复兴时期的社会大变革,极大地促进了自然科学技术的发展,人们长期被神权压抑的创造力得到了空前的释放 。而在这些思想创意的火花中,制造一台能帮助人进行计算的机器则是最耀眼、最夺目的一朵。从那时起,一个又一个科学家为了实现这一伟大的梦想而不懈努力着。但限于当时的科技水平,多数试验性的创造都以失败而告终,这也就昭示了拓荒者的共同命运: 往往在倒下去之前见不到自己努力的成果。而后人在享用这些甜美成果的时候,往往能够从中品味出
汗水与泪水交织的滋味……
1614 年:苏格兰人John Napier(1550 ~1617 年)发表了一篇论文 ,其中提到他发明了一种可以进行四则运算和方根运算的精巧装置。
1623 年:Wilhelm Schickard(1592 ~1635 年)制作了一个能进行6 位数以内加减法运算,并能通过铃声输出答案的“计算钟”。该装置通过转动齿轮来进行操作。
1625 年:William Oughtred(1575 ~1660 年)发明计算尺。
1668 年:英国人Samuel Morl(1625 ~1695 年)制作了一个非十进制的加法装置,适宜计算钱币。
1671 年:德国数学家Gottfried Leibniz 设计了一架可以进行乘法运算,最终答案长度可达16位的计算工具。
1822 年:英国人Charles Babbage(1792 ~1871 年)设计了差分机和分析机 ,其设计理论非常超前,类似于百年后的电子计算机,特别是利用卡片输入程序和数据的设计被后人所采用。
1834 年:Babbage 设想制造一台通用分析机,在只读存储器(穿孔卡片)中存储程序和数据 。Babbage在以后的时间里继续他的研究工作,并于1840 年将操作位数提高到了40 位,并基本实现了控制中心(CPU)和存储程序的设想,而且程序可以根据条件进行跳转,能在几秒内做出一般的加法,几分钟内做出乘、除法。
1848 年:英国数学家George Boole 创立二进制代数学,提前近一个世纪为现代二进制计算机的发展铺平了道路。
1890 年:美国人口普查部门希望能得到一台机器帮助提高普查效率。Herman Hollerith (后来他的公司发展成了IBM 公司)借鉴Babbage 的发明,用穿孔卡片存储数据,并设计了机器。结果仅用6 周就得出了准确的人口统计数据(如果用人工方法,大概要花10 年时间)。
1896 年:Herman Hollerith 创办了IBM 公司的前身。
二、电子计算机问世
在以机械方式运行的计算器诞生百年之后,随着电子技术的突飞猛进,计算机开始了真正意义上的由机械向电子时代的过渡,电子器件逐渐演变成为计算机的主体,而机械部件则渐渐处于从属位置。二者地位发生转化的时候,计算机也正式开始了由量到质的转变,由此导致电子计算机正式问世。下面就是这一过渡时期的主要事件:
1906 年:美国人Lee De Forest 发明电子管,为电子计算机的发展奠定了基础。
1924 年2 月:IBM 公司成立,从此一个具有划时代意义的公司诞生。
1935 年:IBM 推出IBM 601 机。这是一台能在一秒钟内算出乘法的穿孔卡片计算机 。这台机器无论在自然科学还是在商业应用上都具有重要的地位,大约制造了1500 台。
1937 年:英国剑桥大学的Alan M.Turing(1912 ~1954 年)出版了他的论文 ,并提出了被后人称之为“图灵机”的数学模型。
1937 年:Bell 试验室的George Stibitz 展示了用继电器表示二进制的装置。尽管仅仅是个展示品,但却是第一台二进制电子计算机。
1940 年1 月:Bell 实验室的Samuel Williams 和Stibitz 制造成功了一个能进行复杂运算的计算机。该机器大量使用了继电器,并借鉴了一些电话技术,采用了先进的编码技术。
1941 年夏季:Atanasoff 和学生Berry 完成了能解线性代数方程的计算机,取名叫“ABC ”(Atanasoff-Berry Computer),用电容作存储器,用穿孔卡片作辅助存储器 ,那些孔实际上是“烧”上去的,时钟频率是60Hz,完成一次加法运算用时一秒。
1943 年1 月:Mark I 自动顺序控制计算机在美国研制成功。整个机器有51 英尺长 、5 吨重 、75万个零部件。该机使用了3304 个继电器 ,60 个开关作为机械只读存储器 。程序存储在纸带上 ,数据可以来自纸带或卡片阅读器。Mark I 被用来为美国海军计算弹道火力表。
1943 年9 月:Williams 和Stibitz 完成了“Relay Interpolator ”,后来命名为“Model Ⅱ Re-
lay Calculator ”的计算机。这是一台可编程计算机,同样使用纸带输入程序和数据。它运行更可靠,每个数用7 个继电器表示,可进行浮点运算。
1946 年:ENIAC(Electronic Numerical Integrator And Computer)诞生 ,这是第一台真正意义上的数字电子计算机。开始研制于1943 年,完成于1946 年,负责人是John W.Mauchly 和J.Presper Eckert,重30 吨,用了18000 个电子管,功率25 千瓦,主要用于计算弹道和氢弹的研制。
三、晶体管计算机的发展
真空管时代的计算机尽管已经步入了现代计算机的范畴,但因其体积大、能耗高、故障多、价格贵,从而制约了它的普及和应用。直到晶体管被发明出来,电子计算机才找到了腾飞的起点。
1947 年:Bell 实验室的William B.Shockley 、 John Bardeen 和Walter H.Brattain 发明了晶体
管,开辟了电子时代新纪元。
1949 年:剑桥大学的Wilkes 和他的小组制成了一台可以存储程序的计算机,输入输出设备仍是纸带。
1949 年:EDVAC(Electronic Discrete Variable Automatic Computer——电子离散变量自动计算机)——第一台使用磁带的计算机。这是一个突破,可以多次在磁带上存储程序。这台机器是John von Neumann 提议建造的。
1950 年:日本东京帝国大学的Yoshiro Nakamats 发明了软磁盘 ,其销售权由IBM公司获得 。由此开创了存储时代的新纪元。
1951 年:Grace Murray Hopper 完成了高级语言编译器。
1951 年:UNIVAC-1 ——第一台商用计算机系统诞生,设计者是J.Presper Eckert 和John Mauchly 。
被美国人口普查部门用于人口普查,标志着计算机进入了商业应用时代。
1953 年:磁芯存储器被开发出来。
1954 年:IBM 的John Backus 和他的研究小组开始开发FORTRAN(FORmula TRANslation) ,1957 年完成。这是一种适合科学研究使用的计算机高级语言。 //本文来自好代码网www.haodaima.com
1957 年:IBM 开发成功第一台点阵式打印机。
四、集成电路为现代计算机铺平道路
尽管晶体管的采用大大缩小了计算机的体积、降低了价格 、减少了故障,但离用户的实际要求仍相距甚远,而且各行业对计算机也产生了较大的需求,生产性能更强、重量更轻、价格更低的机器成了当务之急。集成电路的发明解决了这个问题。高集成度不仅使计算机的体积得以减小,也使速度加快、故障减少。从此,人们开始制造革命性的微处理器。
1958 年9 月12 日:在Robert Noyce(Intel 公司创始人)的领导下,集成电路诞生,不久又发明了微处理器。但因为在发明微处理器时借鉴了日本公司的技术,所以日本对其专利不承认,因为日本没有得到应有的利益。过了30 年,日本才承认,这样日本公司可以从中得到一部分利润。但到2001 年,这个专利就失效了。
1959 年:Grace Murray Hopper 开始开发COBOL(COmmon Business-Oriented Language)语言 ,完成于1961 年。
1960 年:ALGOL ——第一个结构化程序设计语言推出。
1961 年:IBM 的Kennth Iverson 推出APL 编程语言。
1963 年:DEC 公司推出第一台小型计算机——PDP-8 。
1964 年:IBM 发布PL/1 编程语言。
1964 年:发布IBM 360 首套系列兼容机。
1964 年:DEC 发布PDB-8 小型计算机。
1965 年:摩尔定律发表,处理器的晶体管数量每18 个月增加一倍,价格下降一半。
1965 年:Lofti Zadeh 创立模糊逻辑,用来处理近似值问题。
1965 年:Thomas E.Kurtz 和John Kemeny 完成BASIC(Beginner ’s All-purpose Symbolic In-
struction Code)语言的开发。特别适合计算机教育和初学者使用,得以广泛推广。
1965 年:Douglas Englebart 提出鼠标器的设想,但没有进一步研究,直到1983年才被苹果电脑公司大量采用。
1965 年:第一台超级计算机CD6600 开发成功。
1967 年:Niklaus Wirth 开始开发PASCAL 语言,1971 年完成。
1968 年:Robert Noyce 和他的几个朋友创办了Intel 公司。
1968 年:Seymour Paper 和他的研究小组在MIT 开发了LOGO 语言。
1969 年:ARPANet(Advanced Research Projects Agency Network)计划开始启动,这是现代Internet 的雏形。
1969 年4 月7 日:第一个网络协议标准RFC 推出。
1970 年:第一块RAM 芯片由Intel 推出,容量1KB 。
1970 年:Ken Thomson 和Dennis Ritchie 开始开发UNIX 操作系统。
1970 年:Forth 编程语言开发完成。
1970 年:Internet 的雏形ARPANet 基本完成,开始向非军用部门开放。
1971 年11 月15 日:Marcian E.Hoff 在Intel 公司开发成功第一块微处理器4004,含2300 个晶体管,字长为4 位,时钟频率为108KHz,每秒执行6 万条指令。
1972 年:1972 年以后的计算机习惯上被称为第四代计算机。基于大规模集成电路及后来的超大规模集成电路。这一时期的计算机功能更强,体积更小。此时人们开始怀疑计算机能否继续缩小,特别是发热量问题能否解决。同时,人们开始探讨第五代计算机的开发。
1972 年:C 语言开发完成。其主要设计者是UNIX 系统的开发者之一Dennis Ritche。这是一个非常强大的语言,特别受人喜爱。
1972 年:Hewlett-Packard 发明了第一个手持计算器。
1972 年4 月1 日:Intel 推出8008 微处理器。
1972 年:ARPANet 开始走向世界,Internet 革命拉开序幕。
1973 年:街机游戏Pong 发布,得到广泛欢迎。发明者是Nolan Bushnell(Atari 的创立者)。
1974 年:第一个具有并行计算机体系结构的CLIP-4 推出。
五、当代计算机技术渐入辉煌
在此之前,应该说计算机技术还是主要集中于大型机和小型机领域的发展。随着超大规模集成电路和微处理器技术的进步,计算机进入寻常百姓家的技术障碍逐渐被突破。特别是在Intel 公司发布了其面向个人用户的微处理器8080 之后,这一浪潮终于汹涌澎湃起来,同时也催生出了一大批信息时代的弄潮儿,如Stephen Jobs(史缔芬·乔布斯)、Bill Gates(比尔·盖茨)等,至今他们对整个计算机产业的发展还起着举足轻重的作用。在此时段,互联网技术和多媒体技术也得到了空前的应用与发展,计算机真正开始改变我们的生活。
1974 年4 月1 日:Intel 发布其8 位微处理器芯片8080 。
1975 年:Bill Gates 和Paul Allen 完成了第一个在MIT(麻省理工学院)的Altair 计算机上运行的BASIC 程序。
1975 年:Bill Gates 和Paul Allen 创办Microsoft 公司(现已成为全球最大、最成功的软件公司)。3 年后就收入50 万美元,员工增加到15 人。1992 年达28 亿美元,1 万名雇员。1981 年Microsoft为IBM 的PC 机开发操作系统,从此奠定了在计算机软件领域的领导地位。
1976 年:Stephen Wozinak 和Stephen Jobs 创办苹果计算机公司,并推出其Apple Ⅰ计算机。
1978 年6 月8 日:Intel 发布其16 位微处理器8086 。1979 年6 月又推出准16 位的8088 来满足市场对低价处理器的需要,并被IBM 的第一代PC 机所采用。该处理器的时钟频率为4.77MHz 、8MHz和10MHz,大约有300 条指令,集成了29000 个晶体管。
1979 年:低密软磁盘诞生。
1979 年:IBM 公司眼看个人计算机市场被苹果等电脑公司占有,决定开发自己的个人计算机 。为了尽快推出自己的产品,IBM 将大量工作交给第三方来完成(其中微软公司就承担了操作系统的开发工作 ,这同时也为微软后来的崛起奠定了基础),于1981 年8 月12 日推出了IBM-PC 。
1980 年:“只要有1 兆内存就足够DOS 尽情表演了”,微软公司开发DOS 初期时说 。今天来听这句话有何感想呢?
1981 年:Xerox 开始致力于图形用户界面、图标、菜单和定位设备(如鼠标)的研制 。结果研究成果为苹果所借鉴,而苹果电脑公司后来又指控微软剽窃了他们的设计,开发了Windows 系列软件。
1981 年8 月12 日:MS-DOS 1.0 和PC-DOS 1.0 发布。Microsoft 受IBM 的委托开发DOS 操作系统,他
们从Tim Paterson 那里购买了一个叫86-DOS 的程序并加以改进。由IBM 销售的版本叫PC-DOS,由Microsoft 销售的叫MS-DOS 。Microsoft 与IBM 的合作一直到1991 年的DOS 5.0 为止。最初的DOS 1.0
非常简陋,每张盘上只有一个根目录,不支持子目录,直到1983 年3 月的2.0 版才有所改观。MS-DOS在1995 年以前一直是与IBM-PC 兼容的操作系统,Windows 95 推出并迅速占领市场之后,其最后一个版本命名为DOS 7.0 。
1982 年:基于TCP/IP 协议的Internet 初具规模。
1982 年2 月:80286 发布,时钟频率提高到20MHz 、增加了保护模式、可访问16MB 内存、支持1GB以上的虚拟内存、每秒执行270 万条指令、集成了13.4 万个晶体管。
1983 年春季:IBM XT 机发布,增加了10MB 硬盘、128KB 内存、一个软驱、单色显示器、一台打印机、可以增加一个8087 数字协处理器。当时的价格为5000 美元。
1983 年3 月:MS-DOS 2.0 和PC-DOS 2.0 增加了类似UNIX 分层目录的管理形式。
1984 年:DNS(Domain Name Server)域名服务器发布,互联网上有1000 多台主机运行。
1984 年底:C
#p#
ompaq 开始开发IDE 接口,能以更快的速度传输数据,并被许多同行采纳,后来在此基础上开发出了性能更好的EIDE 接口。
1985 年:Philips 和SONY 合作推出CD-ROM 驱动器。
1985 年10 月17 日:80386 DX 推出 。时钟频率达到33MHz 、可寻址1GB 内存 、每秒可执行600万条指令、集成了275000 个晶体管。
1985 年11 月:Microsoft Windows 发布。该操作系统需要DOS 的支持,类似苹果机的操作界面 ,以致被苹果控告,该诉讼到1997 年8 月才终止。
1985 年12 月:MS-DOS 3.2 和PC-DOS 3.2 发布。这是第一个支持3.5 英寸磁盘的系统,但只支持到720KB,3.3 版才支持1.44MB 。
1987 年:Microsoft Windows 2.0 发布。
1988 年:EISA 标准建立。
1989 年:欧洲物理粒子研究所的Tim Berners-Lee 创立World Wide Web 雏形。通过超文本链接,新手也可以轻松上网浏览。这大大促进了Internet 的发展。
1989 年3 月:EIDE 标准确立,可以支持超过528MB 的硬盘,能达到33.3MB/s 的传输速度,并被许多CD-ROM 所采用。
1989 年4 月10 日:80486 DX 发布。该处理器集成了120 万个晶体管,其后继型号的时钟频率达到
100MHz 。
1989 年11 月:Sound Blaster Card(声卡)发布。
1990 年5 月22 日:微软发布Windows 3.0,兼容MS-DOS 模式。
1990 年11 月:第一代MPC(多媒体个人电脑标准)发布。该标准要求处理器至少为80286/12MHz(后来增加到80386SX/16MHz)及一个光驱,至少150KB/sec 的传输率。
1991 年:ISA 标准发布。
1991 年6 月:MS-DOS 5.0 和PC-DOS 5.0 发布。为了促进OS/2 的发展,Bill Gates 说DOS 5.0 是 DOS 终结者,今后将不再花精力于此。该版本突破了640KB 的基本内存限制。这个版本也标志着微软与IBM 在DOS 上合作的终结。
1992 年:Windows NT 发布,可寻址2GB 内存。
1992 年4 月:Windows 3.1 发布。
1993 年:Internet 开始商业化运行。
1993 年:经典游戏Doom 发布。
1993 年3 月22 日:Pentium 发布,该处理器集成了300 多万个晶体管、早期版本的核心频率为60 ~
66MHz 、每秒钟执行1 亿条指令。
1993 年5 月:MPC 标准2 发布,要求CD-ROM 传输率达到300KB/s,在320 ×240 的窗口中每秒播放15 帧图像。
1994 年3 月7 日:Intel 发布90 ~100MHz Pentium 处理器。
1994 年:Netscape 1.0 浏览器发布。
1994 年:著名的即时战略游戏Command&Conquer(命令与征服)发布。
1995 年3 月27 日:Intel 发布120MHz 的Pentium 处理器。
1995 年6 月1 日:Intel 发布133MHz 的Pentium 处理器。
1995 年8 月23 日:纯32 位的多任务操作系统Windows 95 发布。该操作系统大大不同于以前的版本 ,完全脱离MS-DOS,但为照顾用户习惯还保留了DOS 模式。Windows 95 取得了巨大成功。
1995 年11 月1 日:Pentium Pro 发布,主频可达200MHz 、每秒可执行4.4 亿条指令、集成了550万个晶体管。
1995 年12 月:Netscape 发布其javascript 。
1996 年1 月:Netscape Navigator 2.0 发布。这是第一个支持javascript 的浏览器。
1996 年1 月4 日:Intel 发布150 ~166MHz 的Pentium 处理器,集成了310 ~330 万个晶体管。
1996 年:Windows 95 OSR2 发布,修正了部分BUG,扩充了部分功能。
1997 年:Heft Auto 、Quake 2 和Blade Runner 等著名游戏软件发布,并带动3D图形加速卡迅速崛起。
1997 年1 月8 日:Intel 发布Pentium MMX CPU,处理器的游戏和多媒体功能得到增强。
1997 年4 月:IBM 的深蓝(Deep Blue)计算机战胜人类国际象棋世界冠军卡斯帕罗夫。
1997 年5 月7 日:Intel 发布Pentium Ⅱ,增加了更多的指令和Cache 。
1997 年6 月2 日:Intel 发布233MHz Pentium MMX 。
1998 年2 月:Intel 发布333MHz Pentium Ⅱ处理器,采用0.25 μm 工艺制造,在速度提升的同时减少了发热量。
1998 年6 月25 日:Microsoft 发布Windows 98,一些人企图肢解微软,微软回击说这会伤害美国的国家利益。
1999 年1 月25 日:Linux Kernel 2.2.0 发布,人们对其寄予厚望。
1999 年2 月22 日:AMD 公司发布K6-3 400MHz 处理器。
1999 年7 月:Pentium Ⅲ发布,最初时钟频率在450MHz 以上,总线速度在100MHz 以上,采用0.25μm 工艺制造,支持SSE 多媒体指令集,集成有512KB 以上的二级缓存。
1999 年10 月25 日:代号为Coppermine(铜矿)的Pentium Ⅲ处理器发布。采用0.18 μm 工艺制造的Coppermine 芯片内核尺寸进一步缩小,虽然内部集成了256KB 全速On-Die L2 Cache ,内建2800万个晶体管,但其尺寸却只有106 平方毫米。
2000 年3 月:Intel 发布代号为“Coppermine 128 ”的新一代的Celeron 处理器。新款Celeron 与老C eleron 处理器最显著的区别就在于采用了与新P Ⅲ处理器相同的Coppermine核心及同样的FC-PGA封装方式,同时支持SSE 多媒体扩展指令集。
2000 年4 月27 日:AMD 宣布正式推出Duron 作为其新款廉价处理器的商标,并以此准备在低端向Intel 发起更大的冲击,同时,面向高端的ThunderBird 也在其后的一个月间发布。
2000 年7 月:AMD 领先Intel 发布了1GHz 的Athlon 处理器,随后又发布了1.2GMHz Athlon 处理器。
2000 年7 月:Intel 发布研发代号为Willamette 的Pentium 4 处理器,管脚为423 或478 根,其芯
片内部集成了256KB 二级缓存,外频为400MHz,采用0.18 μm 工艺制造 ,使用SSE2指令集,并整合了散热器,其主频从1.4GHz 起步。
2001 年5 月14 日,AMD 发布用于笔记本电脑的Athlon 4 处理器。该处理器采用0.18 微米工艺造,前端总线频率为200MHz,有256KB 二级缓存和128KB 一级缓存。
2001 年5 月21 日 ,VIA 发布C3 出处理器 。该处理器采用 0.15 微米工艺制造(处理器核心仅为2mm 2 ), 包括192KB 全速缓存(128KB 一级缓存、64KB 二级缓存),并采用Socket 370 接口。支持133MHz 前端总线频率和3DNow!、MMX 多媒体指令集。
2001 年8 月15 日,VIA 宣布其兼容DDR 和SDRAM 内存的P4 芯片组P4X266 将大量出货。该芯片组的内存带宽达到4GB,是i850 的两倍。
2001 年8 月27 日,Intel 发布主频高达2GHz 的P4 处理器。每千片的批发价为562 美元。