第一节 计算机概述
电子计算机是一种能够按照事先存储的程序,自动、高速、精确地进行信息处理的现代化智能电子设备。计算机经过了60多年的发展历程,由于它在计算、数据和信息处理等方面比人类更快、更精确,因而已渗透到各个领域,成为人们生活和工作中不可缺少的伙伴。
一、电子计算机的发展简史
(一)第一台计算机的诞生
1946年2月,世界上的第一台全自动数字式电子计算机ENIAC(Electronic Numerical Integrator And Calculator)即“电子数字计算机”在美国宾西法尼亚大学诞生了,如图1-1所示。这台计算机是由美国物理学家约翰·莫克利(John Mauchly)和工程师普雷斯伯·埃克特(Presper Eckert)领导研制的,参见图1-2。1942年,在宾西法尼亚大学任教的约翰·莫克利提出了用电子管组成计算机的设想,这一方案得到了美国陆军导弹研究所的高尔斯特丹(Goldstine)的关注。当时正值第二次世界大战之际,新武器研制中的弹道问题涉及许多复杂的计算,手工计算已远远不能满足需求,急需能自动计算的机器。于是在美国陆军的资助下,1943年开始了ENICA的研制,并于1946年完成。
图1-1 第一台电子计算机ENICA
图1-2 莫克利(左)与埃克特(右)共同研制成功ENICA
ENICA展现了以往的计算工具无法比拟的性能,例如每秒钟能完成5000次加减运算,3毫秒可进行一次乘法运算,60秒钟射程的弹道计算时间由原来的20分钟缩短到30秒,大大提高了运算速度。
ENICA的缺点是体积庞大,使用了18800只电子管、1500多个继电器、70000只电阻及其他各类电器元件,耗电150KW,占地面积170m2,重量达30吨;它的存储容量很小,只能存储20个字长为10位的十进制数,不能存储程序,采用线路连接的方法来编程,因此每次解题都要靠人工改接连线,准备的时间大大超过实际的计算时间。由于ENICA使用了大量电子管,容易出现故障,可靠性也较差。
尽管如此,ENICA的研制成功为以后计算机科学的发展奠定了基础,而每克服它的一个缺点就会对计算机的发展带来很大的影响,其中影响最大的就是“存储程序”方案的采用。美国数学家冯·诺依曼(Von Neumann)将程序存储方式的设想确立为计算机体系结构,它的主要思想是:在计算机中设置存储器,将要执行的指令和需要处理的数据都采用二进制数制表示并存放在存储器中,然后依次取出存储的内容进行译码,并按照译码结果进行计算,从而实现计算机工作的自动化。
1945年,冯·诺依曼参与了新机器EDVAC(Electronic Discrete Variable Automatic Computer)的研制,EDVAC确立了构成计算机的五个基本组成部分:控制器、运算器、存储器、输入设备和输出设备,如图1-3所示。EDVAC于1950年完成,直至今天计算机的基本体系结构和基本作用机制都是采用的冯·诺依曼提出的“存储程序”设计思想。
图1-3 冯·诺依曼与EDVAC
(二)计算机发展的几个阶段
从第一台计算机的诞生到现在,计算机已经走过了近70年的发展历程。在这期间,计算机的系统结构不断发生变化,应用的领域也在不断地拓宽。人们根据计算机所使用的逻辑元件的种类对计算机的发展阶段进行了划分,习惯上把计算机的发展分为四代,如表1-1所示。四代产品的划分标志是它们所使用的电子器件,如图1-4所示。
表1-1 计算机发展的四代
图1-4 各时期的电子器件
第一代电子计算机是电子管计算机,时间大约为l946~l957年。其基本特征是采用电子管作为计算机的逻辑元件;数据表示主要是定点数形式;用机器语言或汇编语言编写程序。由于当时电子技术的限制,每秒运算速度仅为几千次,内存容量仅几K字节。第一代电子计算机体积庞大,造价很高,仅限于军事和科学研究工作。这一阶段的代表机型有IBM-650(小型机)、IBM709(大型机)等。
第二代电子计算机是晶体管电路电子计算机,时间大约为1958 ~l964年。它的基本特征是逻辑元件逐步由晶体管取代电子管,内存所使用的器件大都为磁芯存储器。外存储器有了磁盘、磁带,外设的种类也有所增加。运算速度可达每秒几十万次,内存容量扩大到几十K字节。与此同时,计算机软件也有了较大发展,出现了FORTRAN、COBOL、ALGOL等高级语言。与第一代计算机相比,晶体管电子计算机体积小、成本低、功能强、可靠性高。除了应用于科学计算外,还开始用于数据处理和事务处理。
第三代电子计算机是集成电路计算机,时间约为l965 ~1972年。1958年美国德州仪器厂的Jack Kilby发明了集成电路,将三种电子元件结合到一个小小的硅片上,更多的元件集成到单一的半导体芯片上,计算机变得更小,功耗更低,速度更快,软件也逐渐完善。这一时期,计算机同时向通用化、系列化、标准化发展。通用化是指计算机兼顾了科学计算、数据处理、实时控制等多方面的应用;系列化即在指令系统、数据格式、字符编码、中断系统、输入输出方式、控制方式等方面保持统一,使用户在低档机上编写的程序可以不加修改地运行在以后性能更好的高档机上,实现程序的兼容;标准化是指采用标准的输入、输出接口,这样各种机型的外部设备都是通用的。高级程序设计语言在这个时期也有了很大发展,并出现了操作系统和会话式语言,计算机开始广泛应用于各个领域。
第四代电子计算机为大规模集成电路和超大规模集成电路电子计算机,时间从1972年至今。20世纪70年代,计算机逻辑元件采用了大规模集成电路LSI(Large Scale Integration)和超大规模集成电路VLSI(Very Large Scale Integration)技术,在硅半导体上集成了100000个以上电子元器件。用集成度很高的半导体存储器取代了服役达20年之久的磁芯存储器。计算机的运算速度可以达到每秒几百万亿次至千万亿次。这一时期的计算机在系统结构方面发展了并行处理技术、分布式计算机系统和计算机网络等;在软件方面发展了数据库系统、分布式操作系统、高级语言以及软件工程标准化等,并逐渐形成软件产业部门。
图1-5 第一台晶体管计算机(左)、集成电路计算机(中)和大规模集成电路计算机(右)
1958年我国通过学习前苏联的技术,用两年时间研制出了我国第一台计算机,这台计算机的运行速度每秒1500次。
图1-6 中国第一台计算机
(三)未来计算机的发展方向
从第一台计算机诞生到今天,计算机的体积不断变小,但性能、运算速度却不断提高,从目前的研究方向来看,未来电脑向以下几个方向发展:
1. 超冯·诺依曼结构
冯·诺依曼结构采用存储程序的工作原理和二进制编码,随计算机应用领域的扩大,这种工作方式逐渐显露出局限性,所以科学家提出了非冯·诺依曼型计算机的设想。从20世纪60年代起,人们从两个方面开始努力,一是创建新的程序设计语言,即“非冯·诺依曼语言”;二是从电脑元件方面,提出了与人脑神经网络相类似的新型超大规模集成电路的设想,即“分子芯片”。
“非冯·诺依曼语言”语言主要有LISP、PROLOG和F.P三种。LISP语言使用最简单的词汇来表达非数值计算问题,具有自编译功能,广泛应用于数学中的符号微积分计算、定理证明、谓词演算和博弈论等,还扩展到计算机中进行符号处理、硬件描述和超大规模集成电路设计等。PROLOG是一种逻辑程序设计语言,核心思想是把程序设计变为逻辑设计,即程序等于逻辑,大大突破了传统程序设计概念。F.P是一种供理论研究用的理想语言。
2. 更高速的计算机
研究表明,计算机的运行速度与芯片之间信号传输的速度紧密相关。目前广泛使用的硅二氧化物在传输信号过程中会吸收一部分信号,从而延长了信息传输的时间。新近研制的“空气胶滞体”导线几乎不吸收任何信号,并可以降低能耗。在不改变计算机芯片的前提下,更换“空气胶滞体”导线,就可以成倍地提高计算机的运行速度。目前这种技术需要解决的问题是散热问题。
3. 生物计算机
20世纪40年代末,科学家们把逻辑中的真假值与人类神经元的兴奋与抑制加以类比,而建立了神经网络模型,并将这种神经网络模型与电子中的开关电路作了类比,创建了“生物控制论”学科,设想用计算机的电子元器件的0和1的运算来逐渐接近人脑神经元的兴奋与抑制。但人脑的神经元大约有1000亿个,即便是超大规模集成电路芯片也无法与人脑的神经元相比。这样,在20世纪80年代初,人们根据有机化合物分子结构存在“键合”与“离解”两种状态,提出了生物芯片的构想,并着手研究由蛋白质作为计算机元件而组成的生物计算机。由于蛋白质分子能够自我组合、再生新微型电路,这使得生物计算机具有生物体的特点,如能发挥生物本身的调节能力、自动恢复芯片的故障,还能模仿人脑的思考机制。
在这种芯片中,信息以波的形式传播,运算速度比现在新一代计算机快10万倍,而消耗的能量仅为普通计算机的十分之一,并拥有巨大的存储能力。
4. 光学计算机
所谓光学计算机就是利用光作为信息的传播媒体。与电子相比,光子有许多独特的优点:光子的速度永远等于光速,可以大大提高传输信息的能力;光信号不需要导线,抗干扰能力强等。
20世纪90年代中期,光子计算机的研究成果不断涌现,其中最著名的是由法国、德国等60余名科学家联合研制的世界上的第一台光计算机,其运算速度比目前最快的计算机快1000多倍,并且准确性极高。
5. 量子计算机
所谓量子计算机,是指利用处于多现实态下的原子进行运算的计算机。与传统计算机相比,量子计算机具有以下优点:
(1)运行速度快:传统计算机用“0”和“1”表示信息,而量子粒子可以有多种状态,使量子计算机能够采用更丰富的信息单位,从而加快处理速度。
(2)存储量大:电子计算机采用二进制存储数据,而量子计算机采用量子存储,具有叠加效应,例如,n个量子可以存储2n个数据。
(3)搜索功能强:量子计算机采用不同的量子位状态组合,分别检索数据库中的不同部分,其中必有一种状态组合会找到所需的信息。用量子超级网络引擎,可轻而易举地从大量的数据中快速搜索特定信息。
科学家们预言,21世纪将是量子计算机、生物计算机、光学计算机和情感计算机的时代,就像电子计算机对20世纪产生了重大影响一样,各种新颖的计算机也必将对21世纪产生重大影响。
二、计算机的特点
(一)自动运行程序
计算机可以在特定的程序下,自动控制并连续高速运算。用户只需要根据应用程序的需求事先编好程序并输入到计算机中就可以了。
(二)运算速度快
现在的普通微型计算机的运行速度每秒可以执行几十万条指令,巨型机的运算速度则可以达到每秒钟几千万亿次。
(三)运算精度高
计算机采用二进制数制进行运算,可以采用增加表示数字的设备和运算技巧等手段,使计算机的计算精度越来越高,可以根据需要获得千分之一到几百万分之一甚至更高的精度。
(四)具有记忆能力
利用计算机的存储器可以存储大量数据和程序,目前微型计算机的内存已达到GB,外存的容量也很惊人。
(五)具有逻辑判断能力
逻辑判断能力是计算机区别其他运算工具的主要标志之一,是计算机能实现信息自动处理的重要原因。根据冯·诺依曼的“存储程序”的计算机工作原理,预先将程序存储在计算机中,在程序执行过程中,计算机根据上一步的处理结果,运用逻辑判断能力自动决定下一步应执行哪一条指令。
(六)可靠性高
随着微电子学技术和计算机技术的发展,现代计算机无故障连续运行时间可达到几十万小时以上,具有极高的可靠性。
(七)支持人机交互
现在计算机具有多种输入输出设备,配备适当的软件后,可支持用户进行方便的人机交互。当这种交互性与声像技术结合形成多媒体用户界面时,用户的操作更加自然、方便。
(八)通用性强
计算机可以将任何复杂的信息处理任务分解成一系列的基本算术运算和逻辑运算,反映在计算机的指令操作中。按照各种规律要求的先后次序把它们组织成各种不同的程序,存入存储器中,也可以将这些数据、程序放入到不同的操作系统或者计算机中执行。
三、计算机的类型与用途
(一)电子计算机的分类
根据电子计算机的工作原理和运算方式的不同,以及计算机中信息的表示形式和处理方式不同,计算机可分为数字式电子计算机和模拟式电子计算机。数字式电子计算机通过由数字逻辑电路组成的算术逻辑运算部件对数字量进行算术逻辑运算。模拟式电子计算机通过由运算放大器构成的微分器、积分器,以及函数运算器等运算部件对模拟量进行运算处理。
计算机按其用途可以分为通用计算机和专用计算机两大类。通用计算机是能够解决多种类型问题、具有较强通用性的计算机。一般数字式电子计算机多属此类。专用计算机是为解决某些特定问题而专门设计的计算机。
根据计算机的总体规模,即按计算机的字长、运算速度、存储量大小、功能强弱、配套设备多少、软件系统的丰富程度对计算机分类,可分为巨型机、大型机、中型机、小型机、工作站、服务器和微型机等几类,下面分别介绍一下:
1. 微型计算机
以微处理器为中央处理单元而组成的计算机称为微型计算机,简称微型机或微机。包括个人计算机(PC)、便携式计算机和单片机,参见图1 -7。个人计算机主要是指台式机,是目前家庭、办公室中最常用的计算机。便携式计算机包括笔记本和掌上电脑,广泛用于移动作业。单片机将微处理器、存储器和输入输出接口电路集中在一个很小的芯片上,构成可以独立工作的计算机,广泛应用于仪器仪表、家用电器、工业控制和通信领域。
图1-7 微型计算机
2. 工作站
工作站是为了某种特殊用途由高性能的微型计算机系统、输入输出设备以及专用软件组成,是高档的微机系统。参见图1-8。具有较高的运算速度,既具有大、中、小型机的多任务、多用户能力,又具有微型机操作简便和良好的人机界面的特点。最突出的特点是图形功能强,具有很强的图形交互与处理能力,在工程设计及多媒体信息处理中有着广泛的应用。
3. 服务器
这是一种在网络环境下为多个用户提供服务的共享计算机,可以分为文件服务器、通信服务器、打印服务器等。参见图1-8。
4. 小型机
小型机可以为多个用户执行任务,是一个多用户系统。小型机的应用范围广泛,例如工业自动控制、定性分析仪器、测量仪器、医疗设备的数据采集和数据处理、分析计算、企业管理等。参见图1-8。
5. 大型机
大型机具有较高的运算速度和较大的存储容量以及较好的通用性,但价格较高,一般作为银行、铁路等大型应用系统中的计算机网络主机来使用。参见图1-8。
6. 巨型机
巨型机又称为超级计算机,是运行速度最快、性能最高、存储容量和体积最大、技术最复杂的计算机。巨型机可以同时被多个用户访问,主要用于国家高科技领域和国防尖端技术中的科学计算和科学研究,核武器、反导弹武器、空间技术、大范围的天气预报、石油勘探等,都要求计算机具有很高的速度和很大的容量,因此一些国家竞相投入巨资开发速度更快、性能更强的超级计算机。
例如,由我国国防科技大学研制的“银河”和“曙光”系列就属于这类计算机。1983年12月22日,我国第一台每秒钟运算一亿次以上的“银河”巨型计算机问世,2008年成功推出峰值230万亿次的“曙光5000 A”高性能计算机系统,参见图1-8。2010年4月,我国第一台千万亿次计算机系统诞生。
图1-8 工作站(左1)、服务器(左2)、大型机(右2)、巨型机曙光5000(右1)
(二)电子计算机的用途
目前计算机的应用已渗透到社会的各行各业,正在改变着传统的工作、学习和生活方式,极大地推动着社会的发展。计算机的应用主要表现在以下几个方面:
1. 科学计算
科学计算也称为数值计算,指用于完成科学研究和工程技术中提出的数学问题的计算。它是电子计算机的重要应用领域之一,也是发明计算机的初衷,世界上第一台计算机的研制就是为科学计算而设计的。计算机高速度、高精度的运算是人工计算所望尘莫及的。随着科学技术的发展,使得各种领域中的计算模型日趋复杂,人工计算已经无法解决这些复杂的计算问题。例如在天文学、量子化学、空气动力学、核物理学和天气预报等领域中都需要依靠计算机进行复杂的运算。科学计算的特点是计算量大和数值变化范围大。
2. 数据处理
数据处理也称为非数值计算、事务处理,是指对大量的数据进行加工处理,例如经过分析、合并、分类、统计等,从而得到有用的信息。与科学计算不同的是,数据处理涉及的数据量大,但计算方法较简单。在社会发展的进程中,人类在很长一段时间内,只能用自身的感官去收集信息,用大脑存储和加工信息,用语言交流信息。而现在的社会正从工业化社会进入信息化社会,面对的是积聚起来的浩如烟海的各种信息,为了能够全面、深入、精确地认识和掌握这些信息所反映的事物本质,必须用、且只能用计算机处理各种数据。目前,数据处理广泛应用于办公自动化、企业管理、事务管理、情报检索等,数据处理已成为计算机应用的一个重要方面。
3. 过程控制
过程控制又称为实时控制,指用计算机及时采集数据、处理数据后,按最佳值迅速地对控制对象进行控制。
现代工业由于生产规模不断扩大,生产技术、工艺也日趋复杂,因而对控制生产过程自动化的系统要求也日益增高。利用计算机系统进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高质量、节约能源、降低成本。计算机过程控制已在冶金、石油、化工、纺织、水电、机械、航天等部门得到广泛的应用。
4. 计算机辅助系统
计算机辅助系统包括CAD、CAM、CBE等。
计算机辅助设计CAD(Computer-Aided Design),就是用计算机帮助各类设计人员进行各种设计。由于计算机有快速的数值计算、较强的数据处理以及模拟的能力,使CAD技术得到广泛应用。例如,飞机、船舶、建筑、机械、大规模集成电路等设计。采用计算机辅助设计后,不但降低了设计人员的工作量,提高了设计的速度,而且更重要的是提高了设计的质量。
计算机辅助制造CAM(Computer-Aided Manufacturing)是指用计算机进行生产设备的管理、控制和操作的技术。例如,在产品的制造过程中,用计算机控制机器的运行、处理生产过程中所需的数据、控制和处理材料的流动以及对产品进行检验等。使用CAM技术可以提高产品的质量、降低成本、缩短生产周期、降低劳动强度。
计算机辅助教育CBE(Computer-Based Education),包括计算机辅助测试CAT(Computer-Aided Test)、计算机辅助教学CAI(Computer-Assisted Instruction)和计算机管理教学CMI(Com-puter-Management Instruction)。近年来由于多媒体技术和网络技术的发展,推动了CBE的发展,网上教学和远程教学已在许多学校展开。开展CBE不仅使学校教育发生了根本变化,还可以使学生在学校里就能体验计算机的应用,培养出跨世纪的复合型人才。
5. 人工智能
人工智能AI(Artificia1 Intelligence)一般是指用计算机模拟人脑进行演绎推理和采取决策的思维过程。在计算机中存储一些定理和推理规则,然后设计程序让计算机自动探索解题的方法。人工智能是计算机应用研究的前沿学科。
6. 信息高速公路
1991年,美国当时的参议员、时任副总统戈尔提出建立“信息高速公路”的建议,即将美国所有的信息库及信息网络连成一个全国性的大网络,把大网络连接到所有的机构和家庭中去,让各种形态的信息(如文字、数据、声音、图像等)都能在大网络里交互传输。这项项计划引起了世界各发达国家、新兴工业国家和地区的极大震动,纷纷提出了自己的发展信息高速公路计划的设想,积极加入到这场世纪之交的大竞争中去,我国也不例外。例如,上海这个国际大都市也做出了相应的计划,提出用l5~20年的时间完成上海“信息港”的全面建设,2000年完成基础结构框架,到2010年基本建成,将成为全国率先建成的地区“信息高速公路”和信息化的国际大都市。
7. 电子商务(E-Business)
所谓“电子商务”,是指通过计算机和网络进行商务活动。电子商务是在Internet的广阔联系与传统信息技术系统的丰富资源相结合的背景下应运而生的一种网上相互关联的动态商务活动,在Internet上展开,并且进行相互间的联系。他们在网络上进行业务往来,其业务量往往超出正常方式。电子商务系统也面临诸如保密性、可测性和可靠性等挑战。但这些挑战将随着技术的发展和社会的进步是可以战胜的。电子商务旨在通过网络完成核心业务,改善售后服务,缩短周转时间,从有限的资源中获取更大的收益,从而达到销售商品的目的,它向人们提供新的商业机会和市场需求,也对有关政策和规范提出挑战。
电子商务始于1996年,起步虽然不长,但其高效率、低支付、高收益和全球性的优点,很快受到各国政府和企业的广泛重视,发展势头不可小觑。目前,全球已有52 %的企业先后开展了“电子商务”活动。据统计1998年,全球电子商务营业额高达80亿美元。
(三)计算机在体育中的应用
随计算机技术、多媒体技术的发展,计算机在体育中的应用越加广泛,如辅助体育训练。
计算机辅助体育训练的核心技术,是计算机图像处理和图形技术。首先用计算机分析运动员的动作录相,在显示器上显示成慢速、步进式观察动作的历程,并且给出各种运动数据,例如各个动作的时间、坐标、速度、频率等,还可以进行两方运动员或运动员与教练员之间动作的对比,设计和改进动作的具体要求。还可以利用计算机模拟运动员的动作,按生物力学研究的结果设计理想动作。
美国加州南部的科托研究中心研制出一种电脑控制的训练机,运动员坐在电脑面前的一张椅子上,反复推拉一根手柄,训练腿、胸、腹、臂、肩和手,电脑监控训练动作,自动改变训练强度。还可由固定在胸部的传感器向微型电脑手表发出信号,测量运动员的心跳率,若训练过度,手表会发出警报。科研中心还研制出一种仪器,用电子笔把运动员动作输入电脑,便能转化成数字形象,可以精确地研究运动员的动作及相互配合等问题。这个中心利用拍摄田径运动员在比赛中的每一个动作,测量他们每一次呼吸和心跳,然后用电脑进行分析。该中心将刘易斯的跳远动作以每秒2000个镜头摄下来,用电脑做精确的分析,作为其他运动员训练的样板。
法国射箭协会在训练射手时使用了示波器、摄像机、红外线镭射等大量先进设备。当射手在参赛时,一组仪器会自动记录下80个参数,如装箭前、装箭、瞄准、发射等等,电脑系统会据此分析出每次射击与最佳轨迹之间的误差。
电子竞技可以说是一个新兴的比赛项目。诞生于网络游戏的电子竞技,与网络游戏却有着明显的区别。根据国家体育总局给出的定义,电子竞技是利用信息技术为核心的软硬件(如网络、计算机、鼠标、键盘)作为器械进行的、在体育规则下实现的人与人之间的对抗性运动。从定义看,集计算机技术、通信技术、自动控制技术和人工智能技术之大成的电子竞技,与足球运动员借助草地、球门和足球进行对抗,篮球运动员借助篮球场、篮球和球框进行的体育竞技项目并无不同,最大的区别就是电子竞技只有在信息技术足够成熟的情况下才产生,20年前信息技术没有这么发达时,没有人能预料到会出现“电子竞技”这个名词。