1.1 计算机基础
计算机自20世纪40年代诞生以来,经过60多年的发展,其应用已经遍及世界各地,深入到人类活动的各个领域,意义巨大。面对这一伟大发明,人们迫切需要了解其发展历史、工作原理和应用现状等知识。本节深入浅出地介绍了计算机的发展历程、计算机的基本组成以及计算机应用方面的基础知识,为读者了解计算机基础提供了便捷途径。
1.1.1 计算机的发展概况
1946年,世界上第一台计算机ENIAC诞生于美国宾夕法尼亚大学实验室。ENIAC是Elec-tronic Numerical Integrator And Calculator的缩写,中文为“电子数字积分器和计算器”。ENIAC用了18000个电子管、70000个电阻、10000个电容和6000个开关,整个机器长39m、高3m、宽1 m、重30 t,运行时耗电140 kW,运算速度达5000次/s,其目的是为了计算炮弹、导弹等武器的弹道轨迹。第一台计算机的计算速度在当时比人工计算速度快20万倍,比手摇计算机的计算速度快1000倍。
从ENIAC的诞生到现在的60多年时间里,计算机科学技术发展迅速,已经成为迄今为止发展最快、应用最广泛的一门学科。计算机的发展经历了4个阶段。
第一个阶段是1946~1957年的电子管计算机阶段。在这个阶段,计算机的主要元器件是电子管,使用磁带作为外存储器,用机器语言和汇编语言来编写程序,具有体积大、能耗高、价格昂贵、可靠性差、容易出故障的缺点。主要应用于科学计算、军事和科研等方面的工作。主要代表机型是IBM701。
第二个阶段是1958~1964年的晶体管时代。在这个阶段,计算机的主要逻辑单元更新为晶体管,主存储器采用了磁芯,外存储器采用磁带和磁盘。开始使用管理程序,并出现了操作系统,出现了FORTRAN、COBOL等高级语言。这时的计算机除了进行的数字计算外,还扩展到了数据、事务处理等方面,计算机的体积是第一代体积的1/1000,而寿命和速度提高了100倍。主要代表机型有IBM7090等。
第三个阶段是1965~1971年的集成电路时代。在这个阶段,计算机主要使用了中小规模集成电路取代了原来的分立元器件,采用了半导体存储器,使用磁盘作为外存储器。这个阶段计算机的操作系统日益完善、高级程序设计语言进一步完善和发展,出现了结构化和模块化的程序设计方法。计算机的体积比第二代的体积又缩小了上百倍,其速度、操作系统的精确度、容量和可靠性大大提高。第三代计算机主要广泛地应用于科学计算、数据处理、事务管理、工业控制等领域。主要代表机型有IBM360、IBM370等。
第四个阶段是从1972年到现在的大规模和超大规模集成电路时代。在这个阶段,计算机主要逻辑元器件是大规模和超大规模集成电路,主存储器采用了半导体存储器,外存储器主要采用大容量的软、硬磁盘。操作系统不断完善和发展,同时数据库技术、通信软件也得到了广泛的应用和发展。计算机的运行速度每秒可达上千万次到万亿次,计算机的存储容量和可靠性大大提高,功能也愈加完善。这时计算机应用于社会各个领域,其特点是体积更小、集成度更高的微型化、并行化、网络化、智能化,具有高扩展性和海量存储功能。主要代表机型有IBM-PC、曙光2000等。
计算机作为一种通用的数据处理工具,具有运算速度快、计算精度高、具有记忆力和自动操作功能的特点。其应用于社会的各个领域,包括科学与研究计算、数据处理、生产过程控制、计算机辅助功能、人工智能、多媒体技术、计算机网络的应用等领域,改变了人们工作、学习和生活的方式,推动了人类的发展。
1.1.2 计算机的基本组成
从1946年第一台以电子管为基本元器件的计算机的诞生到今天超大规模集成电路的广泛应用,计算机已经经过了几代的更新换代,形成了一个庞大的计算机家族。尽管计算机在应用领域、硬件配置和工作速度上有着很大的差别,然而从组成结构上来看,计算机系统是由硬件和软件两部分组成的。
所谓硬件(Hardware)是指计算机的物理存在,包括计算机的物理设备和外围设备。所谓软件(Software)是指计算机程序、方法、文档和数据的集合。虽然计算机经历了几代的发展,但各种计算机的硬件结构基本上是相同的,这就是由美籍匈牙利数学家冯·诺依曼提出的“冯·诺依曼”体系结构,这个结构沿用至今。冯·诺依曼认为计算机是由运算器、控制器、存储器、输入设备和输出设备5个基本部分组成,这5个部分也称为计算机的5大部件。它们的结构和功能如图1-1所示。
图1-1 计算机硬件结构和功能
冯·诺依曼体系结构计算机的基本设计思想是存储程序和程序控制,它具有以下特点:
(1)采用二进制形式表示数据和指令
在存储程序的计算机中,数据和指令都是以二进制形式,即由0和1组成的代码序列存储在存储器中的。计算机在读取指令时,把从计算机读到的信息看作是指令;而在读取数据时,把从计算机读到的信息看作是操作数。把存储在存储器中的数据和指令统称为数据,因为程序信息本身也可以作为被处理的对象进行加工处理,如对程序进行编译,就是将源程序当作被加工处理的对象。
(2)采用存储程序方式
冯·诺依曼思想的核心是先编制程序,然后将程序(包含指令和数据)存入主存储器中,计算机在运行程序时就能自动地、连续地从存储器中依次取出指令并执行。这是计算机能高速自动运行的基础,许多具体工作方式也是由此派生的。
(3)计算机系统5大部件
由运算器、控制器、存储器、输入设备和输出设备5大部件组成计算机系统,并规定了这5部分的基本功能。下面具体介绍这5大部件的功能。
1)运算器。运算器主要由算术逻辑单元(Arithmetic Logic Unit,ALU)、寄存器(包括通用寄存器、暂存寄存器、标志寄存器等)以及一些控制数据传送的电路组成。运算器是对数据进行运算的部件,它能够快速地对数据进行加、减、乘、除等基本算术运算以及与、或、非等逻辑运算。在运算过程中,运算器不断得到由存储器提供的数据,运算后把结果(包括中间结果)送回存储器保存起来。整个运算过程是在控制器统一指挥下,按程序中编排的操作次序进行。
2)控制器。控制器是计算机的控制中心,主要由程序计数器(Program Counter,PC)、指令寄存器(Instruction Register,IR)、指令译码器(Instruction Decoder,ID)、时序电路及操作控制器等电路组成。控制器通过地址访问内存储器,逐条取出选中单元的指令,然后分析指令,并根据指令产生相应的控制信号作用于其他部件,控制这些部件完成指令所要求的操作,保证了计算机能自动、连续地工作。计算机就是在控制器的控制下有条不紊地协调进行工作。
3)存储器。存储器具有记忆功能,用来保存数据、指令和运算结果等。存储器分为内存储器(也称主存储器,简称内存)和外存储器(也称辅助存储器,简称外存)两种。
内存储器直接与中央处理器(CPU)相连,可由CPU直接读写信息,是CPU能根据地址线直接寻址的存储空间。它一般用来存放正在执行的程序或正在处理的数据。由于内存的数据交换非常频繁,因此内存的速度会直接影响整机的性能。目前的内存大多是由半导体存储器芯片组成,其特点是耗电低、体积小、可靠性好、存取速度快、集成度高,但成本越来越低。因此,即使是个人计算机也可配置较大的内存(如1GB或2GB)。目前各类计算机的内存普遍采用半导体存储器。按读写功能来划分,半导体存储器可分为只读存储器(ReadOnly Memory,ROM)和随机存储器(Random Access Memory,RAM)。ROM需要预先写入程序或数据,写入的程序称为固化程序,具有很高的可靠性,在计算机正常工作时,其内容可以反复被读出,但不能改写,断电后片内信息不会丢失。ROM适用于数据写入后不变或极少需要改变的应用场合,如固定的数据和程序、存放字库等。ROM又分为掩模型、可编程型、可擦写可编程型等多种类型。RAM的特点是在计算机正常工作时,可随时对存储器写入或读出信息,读写信息的时间和地址都是任意、无关的,但RAM存储的信息在断电后会丢失。RAM常用于存放频繁访问或频繁更新的程序或数据。计算机的内存就是由随机存储器构成的。
外存储器不能与CPU直接交换信息,这部分存储空间需要CPU按输入输出方式访问。存放在外存的程序必须调入内存后才能运行。外存一般用来存放暂时不用但又需长期保留的程序或数据,一般是由磁性介质材料(如磁盘、磁带)或光盘制成的,其存放的信息不会因断电而丢失。与内存相比,外存的存储容量较大,价格也相对便宜,但存取速度较慢。常用的外存有软盘、硬盘、磁带及光盘等。
存储器所能存取的二进制信息的位数叫作存储容量,一般以字节为单位。一个字节(Byte,B)可以存放8位(bit,b)二进制数。在此基础上,有下面的换算关系:
1KB=210B=1024B,1MB=210KB=1024KB,1GB=210MB=1024MB
4)输入/输出设备。输入/输出设备简称为I/O(Input/Output)设备。I/O设备是用来输入/输出程序和数据的部件,微型计算机是通过I/O接口电路与I/O设备相连接的。不同的I/O设备,物理性能相差极大,它们有各自的工作特点,因此这些实际的I/O设备不能直接与主机交换信息,而必须在主机与I/O设备之间插入一块称为“接口电路”的硬件电路,通过它实现主机与I/O设备之间的信息交换。常用的输入设备有键盘、鼠标、扫描仪、数字化仪等,常用的输出设备有显示器、打印机、绘图仪等。
1.1.3 计算机的应用
计算机的应用已经深入到科学、技术、社会的各个领域,按照计算机应用问题处理的状态,可将计算机的应用分为以下几部分。
(1)科学计算(Scientific Computing)
计算机最初发明的目的主要用于科学计算,直到今天,科学计算仍然是它的一个重要的应用领域。许多用手工难以完成的计算自从有了计算机就变得非常容易,利用计算机来计算,可以节省大量的时间、人力和物力。例如,计算机应用在地质勘测时对大量地质资料进行计算、地震预测中对大量数据的计算、气象预报对大量云图等气象信息的计算等,这些必须由计算机来实现。因此,计算机是现代科学发展必不可少的工具,科学技术的不断发展,也促进了计算机的发展。
(2)数据处理(Data Processing)
从20世纪60年代以来,人们发现应用计算机不仅仅能进行科学计算,还可以进行数据处理,由此,数据处理技术逐渐发展成计算机应用领域中占的比例最大的领域。数据处理即用计算机收集、记录数据,经处理产生新的信息形式,主要包括数据的采集、转换、分组、组织、计算、排序、存储、检索等。例如,对企业信息的管理,对会计、统计、仓库、档案等资料的整理等,它的特点是计算方法比较简单,但处理的数据量大,输入/输出操作频繁。
(3)过程控制(Process Control)
计算机可以对连续的工业生产的过程进行自动化控制。例如,在汽车制造业中使用计算机控制整个装配流水线;在钢铁、化工等生产中控制生产流程;利用计算机控制机器人可以代替人们进行危险作业等,这些可以大大提高生产自动化水平,减轻人们的劳动强度,还可以提高控制的准确性、产品质量及成品的合格率。
(4)计算机辅助系统(Computer Aided System)
计算机还可以辅助人们进行设计,其中包括先进的制造技术(Advanced Manufacturing Tech-nology,AMT)和计算机辅助教学(Computer Assisted Instruction,CAI)。AMT包括计算机辅助设计(Computer Aided Design,CAD)、计算机辅助制造(Computer Aided Manufacture,CAM)、计算机辅助工艺设计(Computer Aided Process Planning,CAPP)和现代集成制造系统(Contemporary Integrated Manufacturing Systems,CIMS)。
(5)人工智能(Artificial Intelligence,AI)
人工智能是研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新兴的科学技术,主要任务是建立智能信息处理理论,设计可展现人类智能行为的计算机系统,是计算机技术的前沿科技领域。人工智能包括知识表示、知识发现、信息获取及处理、机器学习、自然语言理解、计算机视觉、智能机器人、人工神经网络等,人工智能具有广泛的用途。
(6)办公自动化(Office Automation,OA)
办公自动化(OA)是办公信息处理的自动化。它利用先进的技术,使人们的办公业务活动逐步由各种设备、各种人机信息系统来协助完成,充分达到信息的合理应用,提高工作效率和工作质量。办公自动化不仅仅包括利用计算机进行文书的书写、排版和输出,还包括人与人、部门与部门、人与部门之间利用计算机实现信息的共享、交换、组织、分类、传递和处理等活动。例如,电子邮件系统为办公自动化提供了良好的支持。人们可以根据不同的情况、不同的工作状态采取相应的措施,更好地处理事务。
此外,计算机还应用到文化娱乐、家用电器、数字图书馆、远程医疗诊断、金融保险、交通运输等社会生活的方方面面。