硬件工程师培训教程(一)
第一章 计算机硬件系统概述
要想成为一名计算机硬件工程师,不了解计算机的历史显然不行。在本书的第一章中,我们将带你走进计算机硬件世界,去回顾计算机发展历程中的精彩瞬间。
第一节 计算机的发展历史
现代电子计算机技术的飞速发展,离不开人类科技知识的积累,离不开许许多多热衷于此并呕心沥血的科学家的探索,正是这一代代的积累才构筑了今天的“信息大厦”。从下面这个按时间顺序展现的计算机发展简史中,我们可以感受到科技发展的艰辛及科学技术的巨大推动力。
一、机械计算机的诞生
在西欧,由中世纪进入文艺复兴时期的社会大变革,极大地促进了自然科学技术的发展,人们长期被神权压抑的创造力得到了空前的释放 。而在这些思想创意的火花中,制造一台能帮助人进行计算的机器则是最耀眼、最夺目的一朵。从那时起,一个又一个科学家为了实现这一伟大的梦想而不懈努力着。但限于当时的科技水平,多数试验性的创造都以失败而告终,这也就昭示了拓荒者的共同命运: 往往在倒下去之前见不到自己努力的成果。而后人在享用这些甜美成果的时候,往往能够从中品味出
汗水与泪水交织的滋味……
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.jb51.net
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
上一篇: 提问的智慧(2)