
1.1 计算机的发展和应用
计算的概念和人类文明历史是同步的。从人类活动有记载以来,对自动计算的追求就一直没有停止过。这里,我们简要地回顾计算机的历史进程,就可以了解计算机是建立在人类千百年来不懈的追求和探索之上的。
1.1.1 计算机的产生
第一台电子计算机于1946年2月在美国宾夕法尼亚大学诞生,全称为“电子数字积分计算机”(Electronic Numerical Integrator And Calculator,ENIAC),读作“埃尼阿克”,如图1-1所示。ENIAC用了18000多个电子管,1500个继电器,功率为150kW,质量超过30t,占地约170m2,加法运算速度为5000次/秒,专门用于火炮和弹道计算。

图1-1 ENIAC
ENIAC是第一台正式投入运行的电子计算机,但它还不具备现代计算机“存储程序”的主要特征。ENIAC每次计算时,都要人工按计算步骤写出一条条指令,然后按指令的要求接通或断开分布在外部线路中的接线开关,使用非常不便。1946年6月,美籍匈牙利科学家约翰·冯·诺依曼(John von Neumann)提出了全新的“存储程序”的通用计算机设计方案。存储程序的设计思想是:将计算机要执行的指令和要处理的数据都采用二进制表示,将要执行的指令和要处理的数据按照顺序编写出程序,存储到计算机内部并让它自动执行。根据这一思想设计的离散变量自动电子计算机(Electronic Discrete Variable Automatic Computer,EDVAC)解决了程序的“内部存储”和“自动运行”两大难题,从而大大提高了计算机的运算速度。1952年,EDVAC正式投入运行,它使用水银延迟线作为存储器,运算速度也比ENIAC有较大提高。EDVAC确立了构成计算机的基本组成部分:处理器(运算器、控制器)、存储器、输入设备和输出设备。从EDVAC问世直到今天,计算机的基本体系结构采用的都是冯·诺依曼所提出的“存储程序”设计思想,因此称为冯·诺依曼体系结构,冯·诺依曼也被称为“电子计算机之父”。
1.1.2 计算机的发展历史
1.计算机的发展阶段
ENIAC的诞生宣告了人类从此进入电子计算机时代。自ENIAC以后,随着计算机所采用的电子元器件的演变以及软件的发展,计算机的发展经历了4个阶段,如表1-1所示。
表1-1 计算机的发展阶段

2.我国计算机的发展历史
我国的计算机事业创始于20世纪50年代中期。自1957年至今的近60年中,我国计算机的发展也经历了第一代(电子管)、第二代(晶体管)、第三代(中小规模集成电路)和第四代(大规模和超大规模集成电路)的发展过程。
(1)第一代计算机(1958—1964年)
我国从1957年开始研制通用数字电子计算机,1958年研制成功103型计算机(即DJS-1型),共生产38台。1959年9月研制成功104型计算机,1960年4月研制成功第一台小型通用电子计算机(107型计算机),1964年研制成功我国第一台自行设计的大型通用数字电子管计算机119机,其平均浮点运算速度为每秒5万次,用于我国第一颗氢弹研制的计算任务。
(2)第二代计算机(1965—1972年)
1965年研制成功第一台大型晶体管计算机(109乙机),在对109乙机加以改进的基础上,两年后又推出了109丙机,在我国“两弹”试验中发挥了重要作用。
(3)第三代计算机(1973年至20世纪80年代初)
IBM公司1964年推出的360系列大型机是美国进入第三代计算机时代的标志,我国到1970年初期才陆续推出采用集成电路的大、中、小型计算机。1973年,北京大学与北京有线电厂等单位合作研制成功运算速度为每秒100万次的大型通用计算机。进入20世纪80年代,我国高速计算机,特别是向量计算机有新的发展。1983年,中国科学院计算所完成我国第一台大型向量机——757机,计算速度达到每秒1000万次。同年,国防科大研制成功银河-Ⅰ亿次巨型计算机。
(4)第四代计算机(20世纪80年代中期至今)
同国外一样,我国第四代计算机的研制也是从微机开始的。20世纪80年代初我国开始采用Z80、X86和M6800芯片研制微机。1983年12月研制成功与IBM-PC兼容的DJS-0520微机。1992年研制成功银河-Ⅱ通用并行巨型机,峰值速度达每秒4亿次浮点运算(相当于每秒10亿次基本运算操作)。1993年研制成功“曙光一号”全对称共享存储多处理机。1995年推出第一台具有大规模并行处理机(MPP)结构的并行机“曙光1000”(含36个处理机),峰值速度为每秒25亿次浮点运算,实际运算速度上了每秒10亿次浮点运算这一高性能台阶。1997年研制成功银河-Ⅲ百亿次并行巨型计算机系统,并于1997—1999年先后推出具有机群结构的曙光1000A、曙光2000-Ⅰ、曙光2000-Ⅱ超级服务器。2000年推出每秒浮点运算速度3000亿次的曙光3000超级服务器。2004年上半年推出每秒浮点运算速度1万亿次的曙光4000超级服务器。2010年11月14日,国际组织TOP500在其官方网站上公布了当年全球超级计算机500强排行榜,中国首台千万亿次超级计算机系统“天河一号”以每秒2.56千万亿次浮点运算排名全球第一。天河一号实物如图1-2所示。

图1-2 天河一号千万亿次超级计算机
纵观近60年来我国高性能通用计算机的研制历程,从103机到天河一号,走过了一段不平凡的历程。
1.1.3 计算机的类型和特点
1.计算机的类型
计算机发展到今天已经成为一个庞大的家族,因此计算机种类很多,一般最为常见的分类方式是以规模和处理能力分类。
不同规模和处理能力的计算机区别在于字长、存储容量、指令系统规模、运算速度、外设配置等。随着集成电路和计算机硬件技术的发展,从性价比看,今天的大型机可能就是明天的小型机,而今天的小型机就可能是明天的微型机。
按规模和处理能力分类,可将计算机分为以下几种:
(1)巨型机(Supercomputer)
巨型机是一种超级计算机,其运算速度达每秒数千万亿次浮点小数运算,甚至可以达到每秒万万亿次以上。巨型机存储容量很大,结构复杂,功能完善,价格昂贵。在计算机系列中,巨型机运算速度最高、系统规模最大,具有最高一级的处理能力。其中2012年10月,隶属于美国能源部的橡树岭国家实验室将美洲虎改装为“泰坦”(Titan),成为当时世界上最快的超级计算机。
2014年11月17日公布的全球超级计算机500强榜单中,中国“天河二号”以比第二名美国“泰坦”快近一倍的速度连续第四次获得冠军。其中2010年,中国国防科学技术大学研制的“天河一号”曾在第三十六届超级计算机TOP500榜单上名列第一,2012年、2013年、2014年,我国“天河二号”超级计算机连续获得三连冠,成为世界上最快的计算机。
2015年5月,“天河二号”上成功进行了3万亿粒子数中微子和暗物质的宇宙学数值模拟,揭示了宇宙大爆炸1600万年之后至今约137亿年的漫长演化进程。
在德国举行的2015年国际超级计算机大会上发布全球超级计算机500强最新榜单,中国“天河二号”以每秒33.86千万亿次的浮点运算速度第五次蝉联冠军。“天河二号”超级计算机如图1-3所示。
(2)大型机(Mainframe)
大型机通常使用多处理器结构,具有很高的运算速度,具有较大的存储容量和较好的通用性,功能较完备,但价格也比较昂贵。通常用作银行、航空等大型应用系统中的计算机主机。大型机支持大量用户同时使用计算机数据和程序。大型机实物图如图1-4所示。

图1-3 超级计算机“天河二号”

图1-4 IBM zEnterprise 196大型机
(3)小型机(Minicomputer)
小型机的运算速度和存储容量低于大型机,但与终端和各种外围设备连接比较容易,适于作为联机系统的主机或者工业生产过程的自动化控制。早期的小型机也支持多用户,不过随着计算机规模与性价比的变化,多用户小型机慢慢淡出市场。现在的小型机主要被企业用作工程设计,或被政府机构和大学用作网络服务器,也被研究机构用来进行科学研究等。
(4)工作站(Workstation)
工作站是一种以个人计算机和分布式网络计算为基础,主要面向专业应用领域,具备强大的数据运算与图形图像处理能力,为满足工程设计、动画制作、科学研究、软件开发、金融管理、信息服务、模拟仿真等专业领域而设计开发的高性能计算机。工作站的处理器性能和图像处理能力通常都非常高,但从外形上很难把它和一般微机区别开,有时也把它叫作“高档微机”。2010年视觉效果(Weta Digital)公司利用惠普Z800工作站为大片《阿凡达》制作了大量的CGI(计算机视觉成像)和特效。图1-5所示为惠普Z820图形工作站。

图1-5 惠普Z820图形工作站
(5)微型计算机(Microcomputer)
微型计算机简称微机,个人计算机(Personal Computer,PC)是其最具代表性的一种,一般用作桌面系统,因此也称台式机,特别适合个人事务处理、网络终端等应用。大多数用户使用的都是这种类型的机器,它已经进入了家庭。微机也被应用在控制、工程、网络等领域。微机发展最显著的特征就是易于使用并且价格低廉。有关微机的组成及部件在后面章节中有进一步的介绍。
(6)嵌入式计算机
嵌入式计算机是把处理器和存储器以及接口电路直接嵌入设备中并执行专用功能的计算机,其运行的是固化的软件,即固件(Firmware),终端用户很难修改固件。嵌入式计算机系统是对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统,其在应用数量上远远超过了通用计算机,在家电、制造业、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等领域都有极其广泛的应用。
2.计算机的特点
上面介绍的各种类型的计算机虽然在处理对象、规模、性能和用途等方面有所不同,但它们都具有以下几个主要特点:
(1)高速、精确的运算能力
目前世界上已经有超过每秒亿亿次运算速度的巨型计算机,截至2015年7月,全球超级计算机排行榜TOP500中的前十名均已具备这样的计算能力,其中第一名当属国防科技大学研制的天河二号超级计算机,达到了每秒千万亿次的浮点运算速度(33.86PFLOP/s)。因此,高速计算机具有极强处理能力,特别是能在地质、能源、气象、航空航天以及各种大型工程中发挥重要作用。
(2)逻辑处理能力
计算机能够进行逻辑处理,也就是说它能够“思考”和“判断”,这是计算机科学一直为之努力实现的,虽然它现在的“思考”还局限在某一个专门的方面,还不具备人类思考的能力,但在信息查询等方面,它能够根据要求进行匹配检索,这已经是计算机的一个常规应用。
(3)强大的存储能力
计算机能存储大量数字、文字、图像、声音等各种信息,“记忆力”大得惊人,它可以轻易地“记住”一个大型图书馆的所有资料。计算机强大的存储能力不但表现在容量大,还表现在“长久”,对于需要长期保存的数据或资料,无论以文字形式还是以图像的形式,计算机都可以实现存储。
(4)具有自动控制能力
高度自动化是电子计算机与其他计算工具的本质区别。计算机可以将预先编好的一组指令(称为程序)先“记”起来,然后自动地逐条取出这些指令并执行,工作过程完全自动化,不需要人的干预,而且可以反复运行。
(5)具有网络与通信能力
计算机技术发展到今天,已可将几十台、几百台甚至更多的计算机连成一个网络,可将一个个城市、一个个国家的计算机连在一个计算机网络上。目前最大、应用范围最广的Internet,连接了全世界150多个国家和地区数亿台的各种计算机。在网上的所有计算机用户可共享网上资料、交流信息、互相学习,整个世界都可以互通信息。网络功能的重要意义是改变了人类交流的方式和信息获取的途径。
1.1.4 计算机的应用和发展趋势
1.计算机的应用领域
计算机发展至今已经几乎和所有学科结合了,可以把计算机的用途归纳为科学计算、数据处理、实时系统、人工智能、计算机辅助、娱乐游戏等方面,本书中将有更多的章节围绕这些应用主题展开讨论。
(1)科学计算
科学计算主要是使用计算机进行数学方法的实现和应用。今天计算机的“计算”能力极其强大。使用计算机,推进了许多科学研究的进展,如2002年完成的著名的人类基因序列分析计划。现在,科学家们经常使用计算机测算人造卫星的轨道、进行气象预报等。例如,国家气象中心通过使用计算机,不但能够快速、及时地把气象卫星云图数据进行处理,而且可以根据大量的历史气象数据的计算进行天气预测报告。在没有使用计算机之前,这是根本不可能实现的。
(2)数据处理
数据处理的另一个说法叫“信息处理”。但随着计算机科学技术的发展,计算机的“数据”不再只是“数”,而是使用了更多的其他数据形式,如文字、图像、声音等。数据处理就是对这些数据进行输入、分类、加工、存储、合并、整理以及统计、报表、检索查询等。数据处理是目前计算机应用最多的一个领域。例如,计算机在文字处理方面已经改变了纸和笔的传统应用,它所产生的数据不但可以被存储、打印,而且可以使用计算机进行编辑、复制等。在信息处理方面一个最重要的技术就是计算机数据库技术,它在信息管理、决策支持等方面提高了管理和决策的科学性。
(3)实时系统
实时系统是指能够及时收集、检测数据,进行快速处理并自动控制被处理的对象操作的计算机系统。这个系统的核心是计算机控制整个处理过程,包括从数据输入到输出控制的整个过程。现代工业生产的过程控制基本上都以计算机控制为主,传统过程控制的一些方法如比例控制、微分控制、积分控制等都可以通过计算机的运算实现。计算机实时控制不但是一个控制手段的改变,更重要的是它的适应性大大提高,它可以通过参数设定、改变处理流程实现不同过程的控制,有助于提高生产质量和生产效率。
(4)计算机辅助
计算机辅助是计算机应用中一个非常广泛的领域。几乎所有过去由人进行的具有设计性质的过程都可以让计算机帮助实现部分或全部工作。计算机辅助也可称作计算机辅助工程,主要有:计算机辅助设计(Computer Aided Design,CAD)、计算机辅助制造(Computer Aided Manufacturing,CAM)、计算机辅助教育(Computer Based Education,CBE)、计算机辅助教学(Computer Aided Instruction,CAI)、计算机辅助技术(Computer Aided Technologies,CAT)、计算机模拟(Computer Simulation)等许多方面。
(5)网络和通信
将一个建筑物内的计算机和世界各地的计算机通过电话交换网等方式连接起来,就可以构成一个巨大的计算机网络系统,达到资源共享、相互交流促进的目的。计算机网络的应用所涉及的主要技术是网络互连技术、路由技术、数据通信技术、信息浏览技术及网络安全等。
计算机通信几乎就是现代通信的代名词。例如,目前发展势头已经超过传统固定电话的移动通信就是基于计算机技术的通信方式。
(6)人工智能
计算机可以模拟人类的某些智力活动。利用计算机可以进行图像和物体的识别,模拟人类的学习过程和探索过程。例如,机器翻译、智能机器人等,都是利用计算机模拟人类智力活动。人工智能是计算机科学发展以来一直处于前沿的研究领域,它的主要研究内容包括自然语言理解、专家系统、机器人以及定理自动证明等。
(7)游戏娱乐
运用计算机和网络进行游戏娱乐活动,对许多计算机用户来说是习以为常的事情。网络上有各种丰富的电影、电视资源,也有通过网络和计算机进行的游戏,甚至还有国际性的网络游戏组织和赛事。游戏娱乐的另一个重要方向是计算机和电视的结合,“数字电视”开始走入家庭,改变了传统电视的单向播放而进入交互模式。
(8)嵌入式系统
并不是所有计算机都是通用的。有许多特殊的计算机用于不同的设备中,包括大量的消费电子产品和工业制造系统,把处理器芯片嵌入其中,完成处理任务。例如,数码照相机、数码摄像机以及高档电动玩具都使用了不同功能的处理器。
2.计算机的发展趋势
世界计算机技术的迅速发展,使产品不断升级换代。未来的计算机将向巨型化、微型化、网络化、智能化、多媒体计算机方向发展。
基于集成电路的计算机短期内还不会退出历史舞台,但一些新的计算机正在加紧研究。未来的计算机将是微电子技术、光学技术、超导技术和电子仿生技术相结合的产物,这些计算机包括超导计算机、纳米计算机、光计算机、DNA计算机和量子计算机等。