大学计算机基础(第2版)
上QQ阅读APP看书,第一时间看更新

1.2 计算机的发展和展望

在漫长的文明发展过程中,人类发明了许多计算工具。电子计算机的历史只有70年时间,像任何新生事物一样,它的发展也经历了一个不断完善的过程。

1.2.1 第一台电子计算机的诞生

计算机作为一种计算工具,可追溯到中国古代。早在春秋战国时期(公元前770年—公元前221年)我们的祖先已使用竹子、木材料制作的算筹(见图1.5)完成计算,唐代时已出现早期的算盘(见图1.6),宋代时已有算盘口诀的记载。17世纪后,随着西方产业革命的到来,推动了计算工具的进一步发展,在欧洲出现了能实现加、减、乘、除运算的机械式计算机。1944年,美国物理学家霍华德·艾肯(Howard Aiken)领导完成了第一台机电式通用计算机,主要组件采用继电器,是一台可编程序的自动计算机器。

图1-5 算筹

图1-6 算盘

世界公认的第一台通用电子数字计算机是在1946年2月由美国宾夕法尼亚大学莫尔学院电工系莫克利(John Mauchly)和埃克特(J.Presper Eckert)领导的科研小组研制成功,取名为ENIAC(Electronic Numerical Integrator And Calculator,电子数字积分计算机),可读作“埃尼克”,如图1.7所示。ENIAC是一个庞然大物,体积大约90立方米,占地170平方米,重量达到30吨,存放在30多米长的大房间里。ENIAC共使用了18 000多个电子管、1500多个继电器及其他元器件,每小时耗电140 kW,投资超过48万美元。ENIAC计算机计算速度虽然只有每秒5 000次,但它预示着科学家们将从奴隶般的计算中解脱出来,它的问世,标志着人类计算工具的历史性变革,也表明了电子计算机时代的到来,具有划时代的意义。

图1-7 世界上第一台通用电子数字计算机ENIAC

ENIAC计算机存在两大缺点,一是没有存储器;二是用布线接板进行控制。为了在机器上进行几分钟的数字计算,其准备工作要花去几小时甚至几天的时间,使用很不方便。ENIAC主要用于军事领域中一些复杂的科学计算,从1946年2月开始投入使用,到1955年10月最后切断电源,服役9年多。ENIAC的发明仅仅表明计算机的问世,对以后研制的计算机没有什么影响,EDVAC(Electronic Discrete Variable Automatic Computer,离散变量自动电子计算机)的发明才为现代计算机在体系结构和工作原理上奠定了基础。

有两个杰出的代表人物对现代电子计算机的发展功不可没。一个是被称为“计算机科学之父”的英国数学家、逻辑学家阿兰·图灵(Alan Mathison Tuing,1912—1954,见图1.8);另一个是被称为“现代计算机之父”的美籍匈牙利数学家冯·诺依曼(John Von Neumann,1903—1957,见图1.9)。图灵的主要贡献是建立了图灵机(Tuing Machine,TM)的理论模型,对数字计算机的一般结构、可实现性和局限性产生了深远影响;提出了定义机器智能的图灵测试(Tuing Test),奠定了“人工智能”的理论基础。为了纪念图灵对计算机科学的巨大贡献,美国计算机协会(ACM)于1966年设立了一年一度的图灵奖,以表彰在计算机科学中做出突出贡献的人,图灵奖被喻为“计算机界的诺贝尔奖”。

图1-8 阿兰·图灵

图1-9 冯·诺依曼

冯·诺依曼的主要贡献是于1945年首先提出了计算机存储程序的概念,并于1946年6月发表了名为“电子计算机逻辑结构初探”的论文,阐述了存储程序的思想并确立了电子计算机由输入设备、输出设备、存储器、运算器和控制器5个部件组成的基本结构。冯·诺依曼与宾夕法尼亚大学莫尔学院电工小组合作,应用“存储程序”的概念设计制造了EDVAC计算机。“存储程序”的概念为研制和开发现代计算机奠定了基础,以此概念为基础的各类计算机统称为冯·诺依曼计算机。60多年来,尽管计算机系统从性能指标、运算速度、工作方式和应用领域等方面与当时的计算机有很大差别,但基本结构没有变,都称为冯·诺依曼计算机。

1.2.2 计算机的发展阶段

从第一台电子计算机诞生以来,电子计算机已经走过了70年历程,它的体积不断变小,但性能、速度却在不断提高。计算机硬件性能与所采用的电子器件密切相关,因此器件的更新换代也作为计算机换代的主要标志。根据计算机采用的物理器件,一般将计算机的发展分为4个阶段,也称为4代。

随着计算机硬件技术不断发展,计算机硬件的功能越来越强大,辅之以不断发展的软件技术,使得计算机应用越来越广泛。

1.第一代电子计算机

第一代电子计算机采用的主要元件是电子管,称为电子管电子计算机,时间大约为1946—1957年。其主要特征如下。

·采用电子管元件,体积庞大、耗电量高、可靠性差、维护困难。

·主存采用阴极射线管或汞延迟线,存储空间有限,内存容量仅为几KB。

·输入输出设备简单,采用穿孔纸带、卡片等。

·程序设计主要使用机器语言或符号语言,几乎没有什么系统软件。

·计算速度慢,一般为每秒1千次到1万次运算。

·应用领域主要是科学计算。

由于当时电子技术条件的限制,造价很高,主要用于军事和科学研究工作。其代表机型有IBM650(小型机)、IBM709(大型机)。图1.10所示为电子管。

图1-10 电子管

2.第二代电子计算机

第二代电子计算机采用的主要元件是晶体管,称为晶体管电子计算机,时间大约为1958—1964年,其主要特征如下。

·采用晶体管元件,体积大大缩小、可靠性增强、寿命延长。

·普遍采用磁芯作为内存储器,外存有了磁盘、磁带,外设的种类也有所增加。存储容量大大提高,内存容量扩大到几十KB。

·提出了操作系统的概念,程序设计语言出现了FORTRAN、COBOL和ALGOL等高级语言。

·计算速度加快,达到每秒几万次到几十万次运算。

·计算机应用领域扩大,除了科学计算外,还用于数据处理、实时过程控制等。

与第一代计算机相比,晶体管电子计算机体积小、成本低、功能强,可靠性也大大提高,其应用范围更加广阔。其代表机型有IBM7090、CDC7600。图1.11和图1.12分别为晶体二极管和晶体三极管。

图1-11 晶体二极管

图1-12 晶体三极管

3.第三代电子计算机

第三代电子计算机是中小规模集成电路电子计算机,时间大约为1965—1970年。20世纪60年代中期,随着半导体工艺的发展,人们已制造出了集成电路元件,集成电路可以在几平方毫米的单晶硅片上集成十几个甚至上百个电子元件。计算机开始采用中小规模的集成电路元件,其主要特征如下。

·采用小规模集成电路(Small Scale Integration,SSI)和中规模集成电路(Middle Scale Integration,MSI)块代替了晶体管,体积进一步缩小,寿命更长。

·普遍采用半导体存储器,存储容量进一步提高,而体积更小、价格更低。

·高级程序设计语言有了很大的发展,出现了操作系统和会话式语言,计算机功能更强大。

·计算速度进一步加快,每秒可达几十万次到几百万次运算。

·计算机使用范围扩大到企业管理和辅助设计等领域。

图1-13 集成电路

随着技术的进一步发展,计算机的体积越来越小,价格越来越低,而软件越来越完善。这一时期,计算机同时向标准化、多样化、通用性和机种系列化方向发展。计算机开始广泛应用在各个领域。其代表机型有IBM360。图1.13所示为集成电路。

4.第四代电子计算机

第四代电子计算机是大规模和超大规模集成电路电子计算机,时间从1971年至今。进入20世纪70年代以后,集成电路制造工艺飞速发展,产生出了大规模和超大规模集成电路元件,使计算机进入到一个新的时代,即计算机使用的集成电路迅速从中小规模发展到大规模和超大规模的水平。其主要特征如下。

·采用大规模集成电路(Large Scale Integration,LSI)和超大规模集成电路(Very Large Scale Integration,VLSI)元件,体积与第三代相比进一步缩小。在硅半导体芯片上集成了几十万甚至几百万个电子元器件,可靠性更好、寿命更长。

·内存存储容量进一步扩大,体积更小、价格更低。

·软件配置更加丰富,软件系统工程化、理论化,程序设计实现部分自动化。同时发展了并行处理技术和多机系统,微型计算机大量进入家庭,产品的更新速度更快。

·计算速度可达每秒几千万次到几万亿次运算。

·计算机在办公自动化、数据库管理、图像处理、模式识别和专家系统等各个领域大显身手,计算机的发展进入了以计算机网络为特征的时代。

大规模和超大规模集成电路应用的一个直接结果是微处理器和微型计算机的诞生。微处理器是将传统的运算器和控制器集成在一块大规模或超大规模集成电路芯片上,作为中央处理单元(CPU)。以微处理器为核心,再加上存储器和接口等芯片以及输入输出设备便构成了微型计算机。微处理器自1971年诞生以来几乎每隔两三年就要更新换代,以高档微处理器为核心构成的高档微机计算机系统已达到和超过了传统超级小型计算机水平。由于微型计算机体积小、功耗小、成本低,其性能价格比占有很大优势,因而得到了广泛的应用。微处理器和微型计算机的出现不仅深刻地影响着计算机技术本身的发展,同时也使计算机技术渗透到了社会生活的各个发面,极大地推动了计算机的普及。

总之,计算机从第一代发展到第四代,已由仅仅包含硬件的系统发展到包括硬件和软件两大部分的计算机系统。计算机的种类也一再分化,发展成微型计算机、小型计算机、通用计算机(包括巨型、大型、中型计算机)以及各种专用机等。由于技术的更新和应用的推动,计算机一直处于飞速发展之中。依据信息技术发展功能价格比的摩尔定律,计算机芯片的功能每18个月翻一番,而价格减一半。

1.2.3 计算机在中国的发展

我国计算机事业的最早拓荒者是著名数学家华罗庚(见图1.14)。1952年,华罗庚教授在中国科学院数学研究所成立了中国第一个电子计算机研究小组,将设计和研制中国自己的电子计算机作为主要任务。到1956年,我国制定的《十二年科学技术发展规划》中选定了“计算机、电子学、半导体、自动化”作为“发展规划”的四项紧急措施,1956年8月25日我国第一个计算技术研究机构——中国科学院计算技术研究所的筹备委员会成立,华罗庚教授任主任。

1958年8月1日,中科院计算所等单位研制的我国第一台小型电子管数字计算机103机诞生,每秒能运算30次。到1959年9月,我国的第一台大型电子管计算机104机研制成功,该机运算速度为每秒1万次。

图1-14 华罗庚

1964年研制成功了我国第一台大型通用电子管计算机,在该机器上完成了我国第一颗氢弹研制的计算任务。

1973年,由北京大学等单位共同研制了每秒运算100万次的集成电路计算机(150型计算机),并运行了我国自行设计的操作系统。

20世纪80年代以后,我国又研制了高端计算机,如国防科技大学计算机研究所的银河系列、国家并行计算机工程技术研究中心的神威系列、中科院计算技术研究所的曙光系列等。其中银河一号计算机使我国自行设计的计算机的运算速度上了每秒1亿次的台阶。之后我国的高端计算机速度先后突破了10亿、100亿、1000亿、1万亿次的大关。2010年11月国防科技大学计算机研究所研制的超级计算机“天河一号”首次成为了当时世界上运算最快的超级计算机,运算速度达到每秒2570万亿次。2013年6月17日,超级计算机“天河二号”(见图1.15)再次成为世界上运算最快的计算机,比“天河一号”峰值计算速度和持续计算速度均提升10倍以上,是位列第二的美国“泰坦”计算机的速度的2倍。2016年6月20日,中国“神威·太湖之光”(见图1.16)超级计算机在法兰克福世界超算大会上登顶榜单之首,不仅速度比第二名“天河二号”快出近两倍,其效率也提高3倍。2016年11月14日,新一期全球超级计算机500强(TOP500)榜单中,“神威·太湖之光”以较大的运算速度优势轻松蝉联冠军。算上此前“天河二号”的六连冠,中国已连续四年占据全球超算排行榜的最高席位。

“神威·太湖之光”是国内第一台全部采用国产处理器构建的世界第一的超级计算机,它是根据国家科技部863计划研制的,研制周期接近3年。2016年11月18日,我国科研人员依托“神威·太湖之光”超级计算机的应用成果首次荣获“戈登·贝尔”奖,实现了我国高性能计算应用成果在该奖项上零的突破。

图1-15 天河二号

图1-16 神威·太湖之光

我国的计算机软件研究是与计算机硬件同步的。1959年,同步104机研制成功了自主设计的FORTRAN编译程序。到20世纪80年代以后,我国的计算机软件开发主要转向了软件开发环境、中间件和构件库等,其中影响较大的是北大青鸟系统。20世纪90年代以后,以UNIX和Linux为基础,开发出了COSIX和麒麟操作系统,同时,国产数据库系统也开始占领市场。

2001年国家最高科学技术奖获得者王选教授(见图1.17)是汉字激光照排系统的创始人和技术负责人,他所领导的科研集体研制出华光和方正汉字激光照排系统,并在中国的报社、出版社和印刷厂得到普及,开创了汉字印刷的一个崭新时代,引发了我国报业和印刷出版业“告别铅与火,迈入光与电”的技术革命,为新闻出版的全过程计算机化奠定了基础,被誉为“汉字印刷术的第二次发明”。我国计算机软件领域方面的重大成果还有:可执行的持续逻辑语言、区段演算理论等,这方面的代表人物有吴文俊院士,他在20世纪70年代发明了用计算机证明几何定理的吴方法,并获得了2000年首届国家最高科学技术奖。

图1-17 王选教授

使用现在世界上最快的超级计算机也至少需要几百年才能求解一个亿亿亿级变量的方程组,而根据理论预计,利用GHz时钟频率的量子计算机求解一个亿亿亿级变量的线性方程组,将只需要10秒。据《人民日报》2013年6月9日报道,中国科学技术大学的量子光学和量子信息团队在国际上首次成功实现了用量子计算机求解线性方程组的实验,可用于高准确度的气象预报等应用领域,标志着我国在光学量子计算领域保持国际领先地位。

1.2.4 计算机的发展趋势

20世纪90年代以来,计算机技术发展迅速,产品不断更新换代,计算机技术向纵深发展。

不论是在硬件还是在软件方面都不断有新的产品推出,总的发展趋势可以归纳为以下几个方面。

1.巨型化

巨型化是向高速度、大容量和强大功能发展的巨型计算机,这主要是为了满足尖端科学技术、军事、天文、气象和地质等领域的需要,这些领域具有计算数据量大、速度要求快、记忆信息量大等特征。巨型机的发展集中体现了计算机技术的发展水平,它可以推动多个学科的发展。

2.微型化

微型化是进一步提高集成度,使用高性能的超大规模集成电路研制微型计算机,使其质量更加可靠、性能更加优良、价格更加低廉、整台机器更加小巧,从而使其普及到千家万户,深入到生活的各个领域。计算机向着微型化方向发展和向着多功能方向发展仍然是今后计算机发展的方向。

3.网络化

网络化是将分布在不同位置上独立的计算机通过通信线路连接起来,以便各计算机用户之间可以相互通信并能共享资源。网络应用已成为计算机应用的重要组成部分,现代的网络技术已成为计算机技术中不可缺少的内容。可以说,21世纪是网络时代,还有人曾说过“不联网的计算机不能称为真正意义上的计算机”。网络化尤其是Internet的发展能够充分利用计算机的资源,并且进一步扩大了计算机的使用范围,这也是目前发展最为迅速的一个方面。

4.智能化

智能化是让计算机能够模拟人的感觉和思维的能力,是未来计算机发展的总趋势。20世纪80年代以来,美国和日本等工业发达国家就开始投入大量的人力物力,积极研究支持逻辑推理和知识库的智能计算机,也有学者把它称为第五代计算机。智能计算机突出了人工智能方法和技术的应用,在系统设计中考虑了建造知识库管理系统和推理机,使得机器本身能根据储存的知识进行推理和判断。这种计算机除了具备现代计算机的功能外,还要具有在某种程度上模仿人的推理、联想、学习等思维功能,并且具有声音识别、图像识别能力。经过相当一段时间的努力,人们才认识到实现这些功能并非易事,但这种智能化思路应是今后计算机的研究方向。

5.多媒体化

多媒体技术是集文字、声音、图形、图像和计算机于一体的综合技术。它以计算机软硬件技术为主体,包括数字化信息技术、音频和视频技术、通信和图像处理技术以及人工智能技术和模式识别技术等,因此是一门多学科多领域的高新技术。目前多媒体技术虽然已经取得很大的发展,但高质量的多媒体设备和相关技术还需要进一步研制,主要包括视频和音频数据的压缩解压缩技术,多媒体数据的通信,以及各种接口的实现方法等。因此,多媒体计算机也是21世纪开发和研究的热点之一。

1.2.5 未来的新型计算机

目前的计算机都遵循着冯·诺依曼所提出的设计思想,因此称为冯·诺依曼计算机。但由于受到电子物理特性的限制和冯·诺依曼体系结构的制约,电子计算机经过几十年的飞速发展后,不论在技术上还是理论上都已受到限制,只有突破冯·诺依曼体系结构才能产生革命性的进展。科学家们正在致力于研究和探索各种非冯·诺依曼型计算机,并且在以下几个方面取得了一定的进展。

1.光子计算机

光子计算机是利用光束取代电子进行数据运算、传输和存储的计算机。在光子计算机中,不同波长的光代表不同的数据,可以对复杂度高、计算量大的任务实现快速的并行处理。与电子相比,光子具有许多独特的优点,比如它的速度永远等于光速、具有电子所不具备的频率及偏振特性,从而大大提高了传载信息的能力。此外,光信号传输根本不需要导线,即使在光线交汇时也不会互相干扰影响。

根据推测,未来光子计算机的运算速度可能比今天的超级计算机快1千到1万倍,并且具有非常强的并行处理能力。在工作环境要求方面,超高速的计算机只能在低温条件下工作,而光子计算机在室温下就能正常工作。另外,光子计算机还具有与人脑相似的容错性,如果系统中某一元件遭到损坏或运算出现局部错误,并不影响最终的计算结果。

1990年,美国贝尔实验室宣布研制出世界上第一台光子计算机,它采用砷化镓光学开关,运算速度达每秒10亿次。尽管这台光子计算机与理论上的光子计算机还有一定距离,但已显示出强大的生命力。目前,光子计算机的许多关键技术,如光存储技术、光存储器和光电子集成电路等都已取得重大突破,然而要研制出光子计算机,还需开发出可用一条光束来控制另一条光束变化的光学晶体管。尽管目前可以研制出这样的元件,但它庞大而笨拙,若用它们造一台计算机,将有一辆汽车那么大,因此要想在短期内使光子计算机实用化还有很大困难。

2.生物计算机

生物计算机是采用由生物工程技术产生的蛋白质分子构成的生物芯片进行数据运算、传输和存储的计算机。生物计算机在20世纪80年代中期开始研制,其最大的特点是采用生物芯片,这种芯片由生物工程技术产生的蛋白质分子构成,信息以波的形式传播,运算速度比当今最新一代计算机快10万倍。生物计算机的存储量也大得惊人,采用有机蛋白质分子的生物芯片代替由无机材料制成的硅芯片,其大小仅为现在所用的硅芯片的十万分之一,而集成度却极大地提高,如用血红素制成的生物芯片,1平方毫米能容纳10亿个门电路。此外生物芯片具备的低阻抗、低能耗的性质使它们摆脱了传统半导体元件散热的困扰,从而克服了长期以来集成电路制作工艺复杂、电路因故障发热溶化以及能量消耗大等弊端,给计算机的进一步发展开拓了广阔的前景。

由于蛋白质分子能够自我组合,再生新的微型电路,使得生物计算机具有生物体的一些特点,如能发挥生物本身的调节机能,自动修复芯片发生的故障,还能模仿人脑的思考机制。更令人惊奇的是,生物计算机的元件密度比人的神经密度还要高100万倍,而且传递信息的速度也比人脑进行思维的速度快100万倍。它既快捷又准确,可以直接接受人脑的指挥,称为人脑的外延或扩充部分,以人体细胞吸收营养的方式来补充能量,而不需要外界的任何其他能量。

总之,生物计算机的出现将会给人类文明带来一个质的飞跃,给整个世界带来巨大的变化。不过,由于成千上万个原子组成的生物大分子非常复杂,其难度非常之大,因此生物计算机的发展可能需要经过一个较长的过程。

3.量子计算机

量子计算机是利用处于多现实态下的原子进行运算的计算机,这种多现实态是量子力学的标志。在某种条件下,原子世界存在着多现实态,即原子和亚原子粒子可以同时存在于此处和彼处、可以同时表示高速和低速、可以同时向上和向下运动。如果用这些不同的原子状态分别代表不同的数字或数据,就可以利用一组具有不同潜在状态组合的原子,在同一时间对某一问题的所有答案进行探寻,再利用一些巧妙的手段,就可以使代表正确答案的组合脱颖而出。

传统的电子计算机用“1”和“0”表示信息,而量子粒子可以有多种状态,使量子计算机能够具有更为丰富的信息单位,从而大大加快运行速度。它的运算速度可能比目前计算机快10亿倍,可以在一瞬间搜寻整个国际网络,可以轻易破解任何安全密码。

电子计算机用二进制存储数据,量子计算机用量子位存储,具有叠加效应,有m个量子位就可以存储2m个数据。量子计算机的存储能力比电子计算机大得多。

刚进入21世纪,美国科学家就宣布,他们已经成功地实现了4量子位逻辑门,取得了3个锂离子的量子缠结状态。这一成果意味着量子计算机如同含苞欲放的蓓蕾,必将开出绚丽的花朵。也许到2030年,每个人桌上计算机的主机不会再使用芯片与半导体,而是充满液体,这是新一代的量子计算机,它应用的不再是现实世界的物理定律,而是玄妙的量子原理。

科学家们预言,21世纪将是量子计算机、生物计算机、光子计算机和情感计算机的时代,就像电子计算机对20世纪产生的重大影响一样,各种新颖的计算机也必将对21世纪产生重大影响。