1.1 计算机概述
计算机是一种能够按照程序自动运行,快速、高效地处理海量数据的现代化智能电子设备。计算机由硬件系统和软件系统组成,未安装任何软件的计算机称为裸机。在当今社会中,人们对各种信息的需求日益增强,计算机已成为人类活动中不可缺少的工具,它是人类进入信息时代的重要标志之一。学习必要的计算机知识,掌握一定的计算机操作技能,是现代大学生必备的基本素质。
计算机的诞生及发展过程
1.1.1 计算机的诞生和发展
计算工具的演化经历了从简单到复杂、从低级到高级的不同阶段,例如,从“结绳记事”中的绳结到算筹、算盘、计算尺、机械计算机等,这些不同的计算工具在不同的历史时期发挥了各自的历史作用,同时也孕育了电子计算机的雏形和设计思路。
1.第一台计算机
1946年2月14日,由美国军方定制的世界上第一台电子计算机——电子数字积分计算机(Electronic Numerical Integrator And Computer,ENIAC)在美国宾夕法尼亚大学问世,ENIAC如图1.1所示。
图1.1 ENIAC
ENIAC是美国奥伯丁武器试验场为了满足计算弹道需求而研制的,这台计算机使用了17 840个电子管,功耗为170 kW,每秒可进行5 000次的加法运算,造价为487 000美元。ENIAC的问世具有划时代的意义,它表明电子计算机时代的到来。在ENIAC诞生后的70多年里,计算机技术以惊人的速度发展。
2.计算机的分代
(1)第1代计算机:电子管数字计算机(1946—1958年)
硬件方面,逻辑元件采用真空电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯,外存储器采用磁带。软件方面,采用机器语言、汇编语言。应用领域以军事和科学计算为主。第1代计算机的特点是体积大、功耗高、可靠性差、速度慢(一般为每秒数千次至数万次)、价格昂贵,但为以后的计算机发展奠定了基础。
(2)第2代计算机:晶体管数字计算机(1958—1964年)
硬件方面,逻辑元件采用晶体管,主存储器采用磁芯,外存储器采用磁盘。软件方面,出现了以批处理为主的操作系统、高级语言及其编译程序。应用领域以科学计算和事务处理为主,并扩展至工业控制领域。第2代计算机的特点是体积缩小、能耗降低、可靠性提高、运算速度提高(一般为每秒数十万次,可高达300万次)、性能与第1代计算机相比有很大的提高。
(3)第3代计算机:集成电路数字计算机(1964—1970年)
硬件方面,逻辑元件采用中、小规模集成电路,主存储器仍采用磁芯。软件方面,出现了分时操作系统以及结构化、规模化程序设计方法。第3代计算机的特点是速度更快(一般为每秒数百万次至数千万次),可靠性显著提高,价格进一步下降,产品走向了通用化、系列化和标准化。应用领域扩展至文字处理和图形图像处理领域。
(4)第4代计算机:大规模集成电路计算机(1970年至今)
硬件方面,逻辑元件采用大规模和超大规模集成电路。软件方面,出现了数据库管理系统、网络管理系统和面向对象语言等。特别是1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机(简称微型机、微机或PC)的新时代。应用领域从科学计算、事务管理、过程控制逐步走向家庭。1981—1991年掀起了微型计算机的普及应用热潮;从1991年开始进入了以计算机网络为中心的新时代。
计算机的每个发展阶段在技术上都是一次新的突破,在性能上都是一次质的飞跃。Intel公司的创始人之一戈登·摩尔曾预言,集成电路中的晶体管数将每年(后来改成了每隔18个月)翻一番,芯片的性能也随之提高一倍。这一预测被计算机界称为摩尔定律,近代计算机的发展历史充分证实了这一定律。随着芯片集成度的日益提高和计算机体系结构的不断改进,将会不断出现性能更好、体积更小、价格更低的计算机产品。
3.计算机的发展趋向
目前计算机的发展方向主要有5个,即微型化、巨型化、网络化、智能化和多媒体化。
(1)微型化
目前微型机已经成为人们使用的计算机的主流,如笔记本电脑、掌上电脑、嵌入式控制芯片。今后计算机将会继续向微型化的方向发展,进入仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制过程的心脏,使仪器设备实现“微型化”。
(2)巨型化
为了适应尖端科学技术和大量信息处理的需要,如制药测试、地理测绘、航空航天等,需要研制一批高速度、大容量的巨型超级计算机。巨型机的制造和应用反映了一个国家的科学技术水平。
我国巨型机的研发取得了很好的成绩,推出了“曙光”“天河”“神威·太湖之光”等代表我国高水平的巨型机系统。作为高科技发展的要素,超级计算机早已成为世界各国经济和国防方面的竞争利器。经过我国科技工作者几十年的不懈努力,我国的高性能计算机研制水平显著提高,成为继美国、日本之后的第3大高性能计算机研制生产国。
2017年11月14日,在美国丹佛召开的SC2017国际高性能计算大会上,由我国国家并行计算机工程技术研究中心研制、基于国产众核处理器的“神威·太湖之光”超级计算机(见图1.2)以每秒12.5亿亿次的峰值计算能力以及每秒9.3亿亿次的持续计算能力,再次荣获世界超级计算机排名第一名。本次夺冠实现了“神威·太湖之光”超级计算机的4连冠,同时这是我国国产超算系统在世界超级计算机冠军宝座的10连冠。这也证明了我国全自主国产处理器构建的超级计算机“神威·太湖之光”不仅多项指标世界第一,而且依托其强大的运算能力可解算出世界一流的应用成果,为世界的科技创新做贡献。
图1.2 “神威·太湖之光”超级计算机
(3)网络化
从单机走向联网是计算机应用发展的必然结果。网络化的目的是使网络中的软件、硬件和数据等资源能被网络上的用户共享。由于计算机网络实现了多种资源的共享和处理,提高了资源的使用效率,因此深受广大用户的欢迎,得到了越来越广泛的应用。计算机网络化正在改变人类的生活和工作方式。
(4)智能化
智能化就是使计算机具有模拟人的感觉和思维的能力,第5代计算机要实现的目标就是“智能化”。智能化的研究包括模式识别、图像识别、自然语言的生成和理解、博弈、定理自动证明、自动程序设计、专家系统、学习系统和智能机器人等。第5代计算机的研制不仅激发了人工智能研究热潮,而且成为科技发展规划的重要组成部分。
(5)多媒体化
多媒体技术是20世纪80年代中后期兴起的一门跨学科的新技术,它把图、文、声、像等多种媒体融为一体,统一由计算机进行管理,并集成为一个具有人机交互性的系统,是当前计算机领域中引人注目的高新技术之一。目前,多媒体已成为一般微型机的基本功能。多媒体计算机将真正改善人机界面,使计算机朝着人类接受和处理信息的较自然的方式发展。
未来的计算机以超大规模集成电路为基础,整合网络化、智能化、多媒体化等各项技术,将出现遵循量子力学计算的量子计算机和光互联的光计算机,甚至是与生物基因结合的生物计算机。
1.1.2 计算机的特点
作为一种通用的信息处理工具,计算机具有以下5个主要特点。
1.运算速度快
计算机的运算速度是指单位时间内所执行指令的条数,一般用每秒能执行多少条指令来描述。现代计算机采用了高速的电子器件和线路,每秒可运行几百万、几千万条指令,数据处理的速度相当快,是其他任何工具都无法比拟的。运算速度的常用单位是每秒百万条指令。现代大型计算机的运算速度已经达到每秒数百万亿次到数亿亿次。例如,计算一个航天遥感数据,如果1 000名工程师手工计算需要用1 000年,改用大型计算机计算则只需要1~2min。
2.计算精确度高
计算机的运算精度取决于采用机器码的字长(二进制码),即通常所说的8bit、16bit、32bit和64bit 等,字长越长,有效位数就越多,精度就越高。取得几百亿分之一的精度轻而易举。例如,圆周率π的计算,历代科学家采用人工计算只能算出小数点后的500位,而目前利用计算机可算出小数点后的上亿位。
3.存储容量大
计算机的存储器类似于人的大脑,可以“记忆”(存储)大量的数据和计算机程序。计算机中的存储器(内存储器和外存储器)能够存储大量信息,它能把数据、程序存入,进行数据处理和计算,并把结果保存起来,当用户需要时又能准确无误地取出来。例如,过去在大型图书馆进行人工查阅犹如大海捞针,而现在大型图书馆的图书信息普遍采用计算机管理,所有的图书目录及索引都存储在计算机中,利用计算机的自动查询功能,查找到某本图书只需几秒钟。
4.逻辑判断能力强
计算机具有可靠的逻辑判断能力是其能实现信息处理自动化的重要原因。由于计算机能进行逻辑判断,因此它不仅能对数值数据进行计算,而且能对非数值数据进行处理,能广泛应用于非数值数据处理领域,如信息检索、图形识别以及各种多媒体应用等。有了这种能力,计算机才能求解各种复杂的计算任务,进行各种过程控制,完成各类数据处理任务。高级计算机还具有推理、诊断、联想等模拟人类思维的能力。
5.自动化程度高
利用计算机解决问题时,人们启动计算机,输入编制好的程序以后,计算机就可以自动执行,一般不需要人直接干预运算、处理和控制过程。计算机从正式开始工作到输出计算结果,整个工作过程都是在程序控制下自动进行的。例如,生产车间及流水线管理中的各种自动化生产设备,由于植入了计算机控制系统,因此使得工厂生产自动化成为可能。
进入21世纪后,微型计算机获得了飞速的发展,计算机的自动化功能在科研、航空航天、国防等领域获得了广泛的应用,通信时代的到来和互联网的崛起真正将人们带到了计算机信息时代。
1.1.3 计算机的分类
从不同的角度对计算机有不同的分类方法。
计算机的分类
1.按处理对象与数据表示方式分类
按照处理对象与数据表示方式的不同,计算机可分为数字计算机、模拟计算机和混合计算机3类。
(1)数字计算机
数字计算机处理的是非连续变化的数据,其输入、存储、处理和输出的数据都是数字量,这些数据在时间上是离散的,非数字量的数据(如字符、声音、图像等)必须经过编码后才能处理。数字计算机的基本运算部件是数字逻辑电路,其运算精度高、存储量大、通用性强,能胜任科学计算、数据处理、过程控制和智能模拟等工作。
数字计算机具有3大优点:一是它以数字化形式表示字符、声音、图形等各种信息,而数字形式便于利用各种存储设备加以存储,可以实现很大的存储容量;二是它有较大的数值范围,即较高的精度;三是它除了能进行数值计算外,还能进行逻辑计算,赋予计算机以思维判断能力。因此,数字计算机已成为当前信息处理设备的主流。(注:除非特别声明,以后所说的计算机一般指数字计算机。)
(2)模拟计算机
模拟计算机处理的是在时间上连续变化的数据,其输入、存储、处理和输出的数据都是模拟量(如电流、电压等)。模拟计算机的运算速度极快,十分适合连续系统的实时仿真,但受元器件精度限制和运算放大器零点漂移的影响,其整机的运算精度远低于数字计算机。因此,可以把模拟计算机与数字计算机结合起来,组成混合计算机。
(3)混合计算机
混合计算机是将模拟计算机与数字计算机结合在一起,应用于系统仿真的计算机系统。它兼有模拟计算机运算速度快与数字计算机运算精度高、逻辑和存储功能强等优点。混合计算机一般由3部分组成:通用模拟计算机、数字计算机和混合接口。混合计算机主要应用于严格要求实时的复杂大系统仿真,尤其是在航空航天方面的应用,如导弹系统、航天飞行器系统等。
2.按用途与使用范围分类
按照计算机的用途与使用范围的不同,计算机可分为通用计算机和专用计算机。
(1)通用计算机
通用计算机是为了能解决各种问题,具有较强通用性而设计的计算机。它具有一定的运算速度,有一定的存储容量,带有通用的外部设备,配备有各种系统软件和应用软件。一般的电子数字计算机多属于通用计算机。
(2)专用计算机
专用计算机是为解决一个或一类特定问题而设计的计算机。其硬件和软件的配置依据解决特定问题的需要而定,并不求全。专用机功能单一,配有解决特定问题的固定程序,能高速、可靠地解决特定问题。一般在过程控制、智能仪表中使用专用计算机。
3.按规模和性能分类
计算机的规模和性能主要是指其字长、运算速度、存储容量、外部设备配置及软件配置等。根据计算机规模和性能的不同,可将计算机分为高性能计算机、微型计算机、工作站、服务器和嵌入式计算机5类。
(1)高性能计算机
高性能计算机过去称为巨型计算机或大型机,是指目前速度超快、处理能力超强的计算机,其浮点运算速度已达每秒万亿次以上。这种计算机数量不多,但却有重要和特殊的用途。在军事上,高性能计算机可用于战略防御系统、大型预警系统、航天测控系统等;在民用方面,高性能计算机可用于大区域中长期天气预报、大面积物探信息处理系统、大型科学计算和模拟系统等。我国的天河系列计算机都属于高性能计算机。
(2)微型计算机(个人计算机)
微型计算机又称个人计算机,是使用微处理器作为CPU的计算机。微型计算机的种类很多,主要分为4类:桌面型计算机、笔记本计算机、平板计算机和种类繁多的移动设备。由于智能手机具有冯·诺依曼体系结构,配置了操作系统,可以安装第三方软件,所以智能手机也被归入移动设备,属于微型计算机范畴。
(3)工作站
工作站是一种介于微型计算机与小型机之间的高档微型计算机系统。自1980年美国Appolo公司推出世界上第一个工作站DN-100以来,工作站迅速发展,成为专长处理某类特殊事务的一种独立的计算机类型。工作站通常配有高分辨率的大屏幕显示器和大容量的内、外存储器,具有较强的信息处理功能和高性能的图形、图像处理功能以及联网功能,主要应用在计算机辅助设计/计算机辅助制造、动画设计、地理信息系统、图像处理、模拟仿真等领域。
(4)服务器
服务器是一种在网络环境中对外提供服务的计算机系统。从广义上讲,微型计算机可以充当服务器,关键是它要安装网络操作系统、网络协议和各种服务软件;从狭义上讲,服务器专指通过网络对外提供服务的高性能计算机。与微型计算机相比,服务器在稳定性、安全性、性能等方面要求更高,对硬件系统的要求也更高。根据提供的服务,服务器可分为Web服务器、FTP服务器、文件服务器、数据库服务器等。
(5)嵌入式计算机
嵌入式计算机是指作为一个信息处理部件嵌入到应用系统之中的计算机。嵌入式计算机与通用计算机相比,在基础原理方面没有原则性的区别,主要区别在于嵌入式计算机的系统和功能软件集成于计算机硬件系统之中,即嵌入式计算机系统的应用软件与硬件一体化。在各种类型的计算机中,嵌入式计算机应用最为广泛,数量超过PC,目前其广泛应用于各种家用电器之中,如电冰箱、自动洗衣机、数字电视机、数字照相机等。
1.1.4 计算机的应用
计算机的应用已渗透社会的各个领域,正在改变人们的工作、学习和生活方式,推动着社会的发展。归纳起来,计算机的应用可分为以下5个方面。
1.科学计算
科学计算又指数值计算,早期的计算机主要用于科学计算。目前,科学计算仍然是计算机应用的一个重要领域,如用于高能物理、工程设计、地震预测、气象预报、航天技术等的科学计算。应用计算机进行数值计算,速度快、精度高,可以大大缩短计算周期,节省人力和物力。
2.信息管理
信息管理即事务数据处理。信息管理是目前计算机应用中较广泛的领域,它利用计算机来加工、管理与操作任何形式的数据资料,如企业管理、物资管理、报表统计、账目计算、信息情报检索等。近年来,国内许多机构纷纷建设自己的管理信息系统;生产企业也开始采用制造资源规划软件,利用计算机进行生产情况统计、成本核算、库存管理、物资供应管理、生产调度等;计算机还可用于企业各部门的办公自动化、管理信息系统以及各种决策支持系统等。
3.过程控制
过程控制又称实时控制,是指计算机及时采集监测数据,利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入计算机,再根据需要对这些数据进行处理,用最佳方法对控制对象进行自动控制或自动调节。特别是仪器仪表引进计算机技术后所构成的智能化仪器仪表,将工业自动化推向了更高的水平。计算机广泛应用于石油化工、电力、冶金、机械加工、通信及轻工业各部门中的生产过程控制,如计算机数控车床、实时控制高炉炼铁过程、计算机控制汽车生产线等。计算机控制技术对现代化国防和空间技术具有重大意义,导弹、人造卫星、宇宙飞船等都是采用计算机控制的。
4.计算机辅助系统
计算机辅助系统主要包括以下6个方面。
(1)计算机辅助设计:指利用计算机来帮助设计人员进行设计工作,用辅助设计软件对产品进行设计,如飞机、汽车、船舶、机械、电子、土木建筑以及大规模集成电路等机械、电子类产品的设计。
(2)计算机辅助教学:指在计算机辅助下进行各种教学活动,以对话方式与学生讨论教学内容、安排教学进程、进行教学训练的方法与技术。计算机辅助教学为学生提供良好的个人化学习环境,它综合应用多媒体、超文本、人工智能和网络通信等计算机技术,克服了传统教学情景方式上单一、片面的缺点,它的使用能有效地缩短学习时间,提高教学质量和教学效率,实现最优化的教学目标。
(3)计算机辅助工程:指用计算机对工程和产品进行性能与安全可靠性分析,对其未来的工作状态和运行行为进行模拟,及早发现设计缺陷,并证实未来工程、产品功能和性能的可用性和可靠性。
(4)计算机辅助制造:指在机械制造业中,利用电子数字计算机通过各种数字控制机床和设备,自动完成离散产品的加工、装配、检测和包装等制造过程。
(5)计算机辅助翻译:类似于计算机辅助设计,它能够帮助翻译者优质、高效、轻松地完成翻译工作。
(6)计算机集成制造:指利用计算机技术把分散在产品设计制造过程中各种孤立的自动化子系统,有机地集成起来,形成适用于多品种、小批量生产,实现整体效益的集成化和智能化制造。
5.计算机网络
计算机网络技术是通信技术与计算机技术相结合的产物。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。计算机网络技术的发展大大促进和发展了地区间、国际间的通信,方便各种数据的传输及处理。