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

1.1 计算机的基本概念与发展

电子计算机(Electronic Computer)简称计算机,诞生于20世纪40年代。计算机的研制成功是20世纪的一项重大科学技术成就,计算机与以往任何机器相比,具有本质的差别。纵观历史,无论是蒸汽机、电动机,还是内燃机,都只是人的动作器官的延伸,它们放大了人的体力,而计算机能自动进行数值计算、信息处理、自动化管理……且工作效率比人高千百万倍。

1.1.1 计算概述

计算可分为基本计算、复合计算和基于计算机模型的计算。基本计算包括:

①数值计算,即加、减、乘、除、微分、积分等。

②字符计算,包括并串(例如,在网上搜索时为了提高效率,往往需要将几个关键词组合在一起进行搜索,组合关键词的操作称为并串计算)、取串(例如,在身份证编号中提取出生年月的操作,称为取串计算)、找串(例如,文本编辑中对词的替换操作的第一步,就是在文本中找到与指定字符相同的字符,称为找串操作)等。

③图像计算,包括图像分割和图像压缩。图像分割指的是将数字图像细分为多个图像子区域(像素的集合,也称超像素)的过程。图像分割的目的是简化或改变图像的表示形式,使得图像更容易理解和分析,它常用于卫星定位、医学影像分析、指纹识别。图像压缩是指图像的数据量非常大,为了有效地传输和存储图像,有必要压缩图像的数据量。随着现代通信技术的发展,要求传输的图像信息的种类和数据量越来越大,若对此不进行数据压缩,便难以推广应用,因为原始图像数据是高度相关的,存在很大的冗余。数据冗余造成数据存储与传输的资源浪费,消除这些冗余可以节约码字,也就达到了数据压缩的目的。除此之外,图像计算还包括图像解压等。

严格、确定、精确的计算称为硬计算。在处理现实生活中的许多问题时,硬计算并不适用。用不确定、不精确及不完全真值的容错来取代低代价的解决方案称为软计算,它模拟自然界中智能系统的生化过程(人的感知、脑结构、进化和免疫等)来有效地处理日常工作。软计算包括模糊逻辑、人工神经网络、遗传算法和混沌理论几种计算模式。这些模式是互补及相互配合的,因此在许多应用系统中组合使用。

1.1.2 计算机的定义

计算无处不在,人类进行运算所使用的工具,也经历了从简单到复杂,由低级到高级的转变;从结绳计数到制定历法,指导农业生产,到算盘的出现,再到电子计算机诞生,直到大型主机时代的来临。高性能集群计算对人类社会的进步起到了推波助澜的作用,随着人类的发展脚步越来越快,人类社会也进入了一个崭新的计算时代。

计算机是由一系列电子元器件组成的机器,在软件的控制下进行数值计算和信息处理。它能按照程序引导的确定步骤,对输入数据进行加工处理、存储或传送,以便获得所期望的输出信息,从而利用这些信息提高社会生产率。

顾名思义,计算机首先具有计算能力。计算机不仅可以进行加、减、乘、除等算术运算,而且可以进行逻辑运算并对运算结果进行判断从而决定执行何种操作。正是由于具有这种逻辑运算和推理判断的能力,使计算机成为一种特殊机器的专用名词,而不再是简单的计算工具。为了强调计算机的这些特点,有人将它称为“电脑”,以说明它既有计算能力,又有逻辑推理能力。

计算机还具有逻辑判断能力。计算机具有可靠的判断能力,以实现计算机工作的自动化,从而保证计算机控制的判断可靠、反应迅速、控制灵敏。至于有没有思维能力,这是一个目前人们正在深入研究的问题。

计算机还具有记忆能力。在计算机中有容量很大的存储装置,它不仅可以长久性地存储大量的文字、图形、图像、声音等信息资料,还可以存储指挥计算机工作的程序。当用计算机进行数据处理时,首先将事先编写的程序存储到计算机中,然后按程序的要求一步一步地进行各种运算,直到程序执行完毕为止。因此,计算机必须是能存储源程序和数据的装置。

除了具有计算功能之外,计算机还能进行信息处理。在信息社会中,各行各业随时随地都会产生大量的信息。人们为了获取、传送、检索信息,必须对信息进行有效的组织和管理。这一切都可以在计算机的控制之下实现,所以说计算机是信息处理的工具。

因此,计算机是一种能按照事先存储的程序,自动、高速、准确地进行大量数值计算和各种信息处理的现代化智能电子装置。

1.1.3 计算机的诞生与发展历程

计算机诞生至今,以惊人的速度发展着,首先是晶体管取代了电子管,继而是微电子技术的发展,使得计算机处理器和存储器上的元件越来越小,数量却越来越多。计算机的运算速度和存储容量迅速增加,各方面的功能也越来越强大。随着计算机的微型化和网络化,计算机已渗透到了人们生活中的各个领域,被普遍地应用到科学技术、文化教育、工农业生产、国防建设以及日常生活中,有力地推动了信息社会的发展。计算机作为获取、加工、存储、处理与管理信息的工具,已成为21世纪人们重要的生活、工作工具。

1.计算机的诞生

在20世纪40年代,由于当时进行的第二次世界大战亟需高速准确的计算工具来解决弹道计算问题,因此,在美国陆军部的主持下,美国宾夕法尼亚大学莫尔学院的莫克利(Mauchly)、艾克特(Eckert)等人于1946年设计并制造了世界上第一台电子数字积分计算机(Electronic Numerical Integrator and Calculator,ENIAC)供美国军方使用,如图1-1所示。

图1-1 第一台电子数字计算机ENIAC

ENIAC的功能在当时是出类拔萃的,与手工计算机相比速度得到了极大的提升。但ENIAC也存在着明显的缺点,如体积庞大、耗电量大、字长短、不能存储程序、编程困难等。这些缺点极大地限制了机器的运行速度,急需更合理的结构设计。随后,数学家冯·诺依曼(John von Neumann)在新型计算机的研制过程中,提出了一种全新的存储程序式通用电子计算机设计方案,即现在所称的“冯·诺依曼型”计算机。从此,计算机从实验室研制阶段进入工业化生产阶段,其功能从科学计算扩展到数据处理,计算机产业化趋势开始形成。

2.计算机的发展历程

以计算机物理器件的变革作为标志,可以将计算机的发展划分为4个重要的发展阶段。

第一阶段(1946—1957年)为电子管计算机时代,计算机应用的主要逻辑元件是电子管。电子管计算机的特点是:体积庞大、运算速度低(一般每秒几千次到几万次)、成本高、可靠性差、内存容量小。这一时期的计算机主要用于科学计算,被应用于军事和科学研究工作。其代表机型有ENIAC、IBM 650(小型机)、IBM 709(大型机)等。

第二阶段(1958—1964年)为晶体管计算机时代,计算机应用的主要逻辑元件是晶体管。晶体管计算机的应用被扩展到数据处理、自动控制等方面。计算机的运算速度已提高到每秒几十万次,体积已大大减小,可靠性和内存容量也有较大的提高。其代表机型有IBM 7090、IBM 7094、CDC 7600等。

第三阶段(1965—1970年)为集成电路计算机时代,计算机的主要逻辑元件是集成电路。计算机的运算速度提高到了每秒几十万次到几百万次,可靠性和存储容量进一步提高。这一时期的计算机外围设备种类繁多,计算机和通信密切结合起来,广泛地应用到科学计算、数据处理、事务管理、工业控制等领域。其代表机型有IBM 360系列、富士通F230系列等。

第四阶段(1971年至今)为大规模和超大规模集成电路计算机时代,计算机的主要逻辑元件是大规模和超大规模集成电路。计算机的运算速度可达到每秒上千万次到亿万次。计算机的存储容量和可靠性有了很大提高,功能更加完备。计算机的类型除小型、中型、大型机外,开始向巨型机和微型机(个人计算机)两个方向发展。计算机已进入办公室、学校和家庭。

从计算机工作原理来看,以上4代计算机都是基于数学家冯·诺依曼提出的“存储程序”的思想:将程序和数据以二进制数的形式预先存储在计算机的存储器中,执行程序时,计算机从存储器中逐条取出指令进行相应操作,完成数据的计算处理和输入/输出。这种“存储程序”的思想是计算机科学发展历史上的里程碑,对于计算机科学的发展具有根本性的指导意义,通常将基于这一原理的计算机称为冯·诺依曼型计算机。

1.1.4 微型计算机的发展

大规模集成电路的发展为计算机的微型化打下了坚实的基础,20世纪70年代初在美国硅谷诞生了第一片微处理器(Micro Processor Unit,MPU)。MPU将运算器和控制器等部件集成在一块大规模集成电路芯片上作为中央处理部件。微型计算机就是以MPU为核心,再配上存储器、接口电路等芯片构成的。短短的40多年中,微处理器集成度几乎每18个月增加1倍,产品每2~4年更新换代一次。微型计算机以微处理器的字长和功能为主要划分依据,经历了6代演变。

第一代(1971—1973年):4位和8位低档微型计算机。字长为4位的微处理器的典型代表是Intel公司的4004,由它作为微处理器的MCS-4计算机是第一台微型计算机。随后,Intel公司又推出了以8位微处理器8008为核心的MCS-8微型计算机。这一阶段的微型计算机主要用于处理算术运算、家用电器及简单的控制等。

第二代(1974—1977年):8位中高档微型计算机。在这个阶段,微处理器的典型代表有Intel公司的Intel 8080、Zilog公司的Z-80和Motorola公司的MC 6800。采用这些中高档微处理器的微型计算机其运算速度提高了一个数量级,主要用于教学和实验、工业控制、智能仪器等。

第三代(1978—1984年):16位微型计算机。在这个阶段,微处理器的典型代表有Intel公司的Intel 8086/8088、Zilog公司的Z-8000和Motorola公司的MC 68000。IBM选择Intel 8086作为微处理器,于1981年成功开发了个人计算机(IBM PC),从此开始了个人计算机大发展的时代。1982年2月,Intel公司推出了超级16位微处理器Intel 80286,能够实现多任务并行处理。

第四代(1985—1992年):32位微型计算机。在这个阶段,微处理器的典型代表有Intel公司的Intel 80386。该微处理器集成了27.5万个晶体管,数据总线和地址总线均为32位,具有4GB的物理寻址能力。1989年4月,Intel公司又推出了Intel 80486微处理器,其芯片内集成了120万个晶体管。从此,PC的功能越来越强大,可以构成与20世纪70年代大、中型计算机相匹敌的计算能力,并有取而代之之势。

第五代(1993—2005年):奔腾(Pentium)系列微处理器时代。典型产品是Intel公司的奔腾系列芯片及与之兼容的AMD的K6系列微处理器芯片。内部采用了超标量指令流水线结构,并具有相互独立的指令和数据高速缓存。随着MMX(Multi Media eXtended)微处理器的出现,使微机的发展在网络化、多媒体化和智能化等方面跨上了更高的台阶。

第六代(2005年至今):酷睿(Core)系列微处理器时代。“酷睿”是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,也就是所谓的能效比。2010年6月,Intel发布第二代Core i3/i5/i7处理器,基于全新的SNB(Sandy Bridge)微架构。SNB是重新定义了“整合平台”的概念,与处理器“无缝融合”的“核芯显卡”终结了“集成显卡”的时代,SNB采用了更加先进的32nm制造工艺,使CPU功耗进一步降低,并使电路尺寸和性能显著优化,进而为将“核芯显卡”与CPU封装在同一块基板上创造了有利条件。此外,第二代酷睿还加入了全新的高清视频处理单元,其视频处理速度大大提高。

1.1.5 计算机的发展方向

21世纪是人类走向信息社会的世纪、是网络的时代。现代计算机的发展表现在两个方面:一是电子计算机的发展趋势更加趋向于巨型化、微型化、网络化和智能化;二是非冯·诺依曼结构化。

1.电子计算机的发展趋势

(1)巨型化

巨型化是指计算机的运算速度更快、存储容量更大、功能更强,而不是指计算机的体积大。巨型计算机运算速度通常在每秒一亿次以上,存储容量超过太字节。例如,1997年中国成功研制了“银河-Ⅲ”巨型计算机,如图1-2所示,其运算速度已达到130亿次/s。巨型机主要应用于天文、军事、仿真等需要进行大量科学计算的领域。

图1-2 银河系列巨型计算机

(2)微型化

微型化是指进一步提高集成度,目的是利用超大规模集成电路研制质量更加可靠、性能更加优良、价格更加低廉、整机更加小巧的微型计算机。微型计算机现在已大量应用于仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制过程的心脏,使仪器设备实现“智能化”。

(3)网络化

网络化是用通信线路将各自独立的计算机连接起来,以便进行协同工作和资源共享。例如,通过Internet,人们足不出户就可以获取大量的信息,进行网上交易等。今天,网络技术已经从计算机技术的配角地位上升到与计算机紧密结合、不可分割的地位,产生了“网络电脑”的概念。

(4)智能化

计算机的智能化就是要求计算机具有人的智能。能够像人一样思维,使计算机能够进行图像识别、定理证明、研究学习、探索、联想、启发和理解人的语言等,它是新一代计算机要实现的目标。智能化使计算机突破了“计算”这一初级的含义,从本质上扩充了计算机的能力,可以越来越多地代替人类的脑力劳动。

2.非冯·诺依曼结构计算机

近年来通过进一步的深入研究发现,由于电子电路的局限性,理论上基于冯·诺依曼原理的电子计算机的发展也有一定的局限,因此,人们提出了制造非冯·诺依曼结构计算机的想法。该研究主要有两大方向:一是创造新的程序设计语言,即所谓的“非冯·诺依曼”语言;二是从计算机元件方面进行研究,如研究生物计算机、光计算机、量子计算机等。

1982年,日本提出了“第五代计算机”,其核心思想是设计一种所谓的“非冯·诺依曼”语言——PROLOG语言。PROLOG语言是一种逻辑程序设计语言,主要是将程序设计变成逻辑设计,突破传统的程序设计概念。

20世纪80年代初,人们着手研究由蛋白质分子或传导化合物元件组成的生物计算机。研究人员发现,遗传基因——脱氧核糖核酸(DNA)的双螺旋结构能容纳大量信息,其存储量相当于半导体芯片的数百万倍。两个蛋白质分子就是一个存储体,而且阻抗低、能耗小、发热量极小。人们基于这一特点,研究如何利用蛋白质分子制造基因芯片。尽管目前生物计算实验距离使用还很遥远,但是鉴于人们对集成电路的认识,其前景十分看好。

光计算机是用光子代替电子来传递信息。1984年5月,欧洲研制出世界上第一台光计算机。光计算机有三大优势:①光子的传播速度非常快,电子在导线中的运行速度与其无法相比,采用硅、光混合技术后,其传送速度可达到每秒万亿字节;②光子不像带电的电子那样相互作用,因此经过同样窄小的空间通道可以传送更多数据;③光无须物理连接。如果能将普通的透镜和激光器做得很小,以至于能安装在微芯片的背面,那么未来的计算机就可以通过稀薄的空气传送信号。

量子计算机是一种基于量子力学原理,利用质子、电子等亚原子微粒的某些特性,采用深层次计算模式的计算机。这一模式只由物质世界中一个原子的行为决定,而不是像传统的二进制计算机那样将信息分为0和1(对应于晶体管的开和关)进行处理。在量子计算机中最小的信息单元是一个量子比特,量子比特不只有开和关两种状态,而是能以多种状态同时出现,这种数据结构对使用并行结构计算机来处理信息是非常有利的。量子计算机还具有一些近乎神奇的性质:信息传输几乎不需要时间(超距作用),信息处理所需的能量可以接近于零。

1.1.6 计算机的特点

计算机作为一种通用的信息处理工具之所以具有很强的生命力,并以飞快的速度发展,是因为本身具有许多特点,具体表现在以下5个方面:

1.运算速度快

运算速度是衡量计算机性能的重要指标之一,现在高性能计算机的运算速度已达到每秒几十万亿次,甚至千万亿次,微型计算机也可达每秒上亿次。

2.计算精确度高

现在计算机对数据处理的结果精度可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是其他任何计算工具无可比拟的。而且在理论上计算机的计算精度并不受限制,通过一定的技术手段可以实现任何精度要求。

3.记忆能力强

随着计算机存储容量的不断增大,可存储记忆的信息越来越多。目前,计算机不仅提供了大容量的主存储器,同时提供了海量的外部存储器,只要存储介质不被破坏,就可以使信息永久保存,永不丢失。

4.具有逻辑判断能力

计算机不仅能进行数值计算,而且能进行各种逻辑运算,具有逻辑判断能力。因此,可以处理各种非数值数据,如语言、文字、图形、图像和音乐等。

5.具有自动控制能力

计算机的内部操作是根据人们事先编写的程序自动控制进行的。用户可根据需要,事先设计好运行步骤与程序,计算机十分严格地按程序规定的步骤操作,整个过程不需要人工干预。这也是计算机区别于其他工具的本质特点。

1.1.7 计算机的分类

计算机已经发展成为一个庞大的家族,并表现出不同的特点。根据其特点,可以从不同的角度对计算机进行分类。总的来说,计算机根据其功能可分为通用计算机和专用计算机。专用计算机功能单一,适应性较差,但是在特定的用途下,配备解决特定问题的软、硬件可以高效、快速、可靠地解决特定问题。通用计算机功能齐全、通用性强,通常人们所说的计算机就是指通用计算机。通用计算机又可按照计算机的运算速度、存储容量、指令系统的规模等综合指标将其划分为巨型机、大型机、小型机、微型机、服务器及工作站等几大类。

1.巨型机

巨型机运算速度快,可达每秒几百亿次;主存容量大,最高可达几百兆字节甚至几百万兆字节;结构复杂,一般采用多处理器结构,价格昂贵。巨型机的生产和研制是衡量一个国家经济实力和科技水平的重要标志。中国自行研制的银河系列巨型机的运算速度已达每秒上万亿次,从而成为世界上能研制巨型机的少数几个国家之一。巨型机主要应用于复杂、尖端的科学研究领域,特别是军事科学领域。

2.大型机

大型机是指通用性能好、外围设备负载能力强、处理速度快的一类计算机。在运算速度、主存容量等性能指标方面仅次于巨型机。大型机主要应用于大公司、银行、政府部门、制造企业等大型机构中,进行事务处理、商业处理、信息管理、大型数据库处理和数据通信等。

3.小型机

小型机具有规模小、结构简单、价格较低、易于操作和维护等优点,既可用于科学计算、数据处理,也可用于工业自动控制、数据采集及分析处理。

4.微型机

微型机采用微处理器、半导体存储器和输入/输出接口等部件,体积小、性能价格比高、灵活性好、使用方便,是当今世界上使用最广泛、数量最多的一类计算机。

5.服务器

服务器是在计算机网络环境下为多用户提供服务的共享设备,一般分为文件服务器、打印服务器、计算服务器和通信服务器等。服务器一般具有大容量、可靠的存储设备及丰富的外围设备。服务器上的资源可供网络用户共享。

6.工作站

工作站是介于微型机和小型机之间的一种高档微型计算机,具有较强的图形功能和数据处理能力,一般配有大屏幕显示器和大容量的内存和外存。主要应用于图形、图像处理。

随着大规模集成电路的发展,目前,微型计算机与工作站、小型计算机乃至大型机之间的界限越来越模糊,现在微处理器的速度已经达到甚至超过了过去一些大型机CPU的速度。