1.1 计算机概述

计算机(Computer)俗称电脑,是20世纪最先进的科学技术发明之一,计算机技术是当代众多新兴技术中发展最快、应用最广的一项技术,对人类的生产活动和社会活动产生了极其重要的影响。它的应用从最初的军事计算扩展到社会的各个方面,遍及学校、机关、企事业单位等,进入寻常百姓家,成为人们生产生活必不可少的工具。本节主要介绍计算机的发展历程、发展趋势、特点、分类、应用领域等。

1.1.1 计算机的发展历程

计算机最早的诞生源于解决大量的科学计算问题。计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段,例如从“结绳记事”中的绳结到算盘、计算尺、机械计算机、电子计算器等。现代电子计算机的研制也经历了从简单到复杂,从低级到高级的过程。

1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。

1946年,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(Electronic Numerical And Calculator,简称ENIAC)在美国宾夕法尼亚大学问世。如图1-1所示。ENIAC(中文名:埃尼阿克)是为了满足武器试验场计算弹道需要而研制成的。这台计算器使用了近18000支电子管,占地170m2,重达28t,功耗为170kW,其运算速度可实现每秒5000次的加法运算,比当时最快的计算工具快300倍。ENIAC的问世具有划时代的意义,表明电子计算机时代的到来。

图1-1 世界上第一台电子数字积分计算机

自从第一台计算机问世以来,计算机技术以前所未有的速度迅猛发展。通常根据计算机所使用的“电子元件”,将计算机的发展划分为四个阶段,也称为四个时代,即电子管时代、晶体管时代、中小规模集成电路时代、大规模和超大规模集成电路时代。

第一代:电子管计算机(1946~1957年)

主要元件采用的是电子管,主存储器采用汞延迟线、阴极射线示波管静电存储器、磁鼓、磁芯;外存储器采用的是磁带;运行的软件多采用的是机器语言、汇编语言;应用领域以科学计算为主。特点是体积大、功耗高、可靠性差,速度慢、价格昂贵;第一代计算机为以后计算机的发展奠定了基础。

第二代:晶体管计算机(1958~1964年)

主要元件采用的是晶体管,主存储器采用磁芯,外存储器已开始使用更先进的磁盘;出现了各种各样的高级语言以及编译程序;应用领域以科学计算和事务处理为主,并开始进入工业控制领域;特点是体积缩小、能耗降低、可靠性提高、运算速度提高、性能比第1代计算机有很大的提高。

第三代:中小规模集成电路计算机(1965~1970年)

主要元件采用中、小规模集成电路,主存储器仍采用磁芯;出现了分时操作系统以及结构化、规模化程序设计方法;特点是速度更快,而且可靠性有了显著提高,价格进一步下降,产品走向了通用化、系列化和标准化等;应用领域开始进入文字和图形图像处理领域。

第四代:大规模和超大规模集成电路计算机(1971年至今)

主要元件采用大规模和超大规模集成电路;出现了数据库管理系统、网络管理系统和面向对象语言等;运算速度可达百万至数亿亿次/秒;应用领域从科学计算、事务管理、过程控制逐步应用于各个领域。

计算机的发展阶段及其特征如表1-1所示。

表1-1 计算机的发展阶段及其特征

3

1971年世界上第一台微处理器在美国硅谷诞生,开创了微型计算机的新时代。另一方面,利用大规模、超大规模集成电路制造的各种逻辑芯片,已经制成了体积并不很大,但运算速度可达每秒一亿甚至几十亿次的巨型计算机。1983年“银河-Ⅰ”亿次计算机研制成功,如图1-2所示,生产安装3台,是我国第一台自主研制的亿次计算机系统,使我国成为继美、日之后世界上第三个能研制巨型机的国家。继“银河-Ⅰ”这一巨型机以后,我国又于1993年研制成功运算速度更快的“银河-Ⅱ”巨型计算机。

图1-2 “银河-Ⅰ”计算机

1.1.2 计算机的发展趋势

(1)计算机的发展方向

随着科技的进步,各种计算机技术、网络技术的飞速发展,计算机的发展已经进入了一个快速而又崭新的时代。计算机已经从功能单一、体积较大发展到了功能复杂、体积微小、资源网络化等并朝着不同的方向延伸,当前计算机技术正向着微型化、网络化、智能化和巨型化的方向发展。

① 微型化 随着微处理器的出现,计算机中开始使用微型处理器,使计算机体积缩小了,成本降低了。20世纪70年来,从台式电脑到笔记本电脑再到掌上电脑、平板电脑,计算机的体积逐步微型化,为人们提供便捷的服务。计算机理论和技术上的不断完善促使微型计算机很快渗透到全社会的各个行业和部门中,并成为人们生活和学习的必需品。未来计算机仍会不断趋于微型化,体积将越来越小。

② 网络化 20世纪90年代以来,随着Internet的飞速发展,计算机网络已广泛应用于各个领域。互联网将世界各地的计算机连接在一起,从此进入了互联网时代,人们通过互联网共享资源,交换信息,协同工作,极大地提高了使用计算机的便捷性,计算机网络化彻底改变了人类世界,未来计算机将会进一步向网络化方面发展。

③ 智能化 现代计算机具有强大的功能和运行速度,但与人脑相比,其逻辑能力和自动化程度仍有待提高。人类不断在探索如何让计算机能够更好地反映人类思维,可以通过思考与人类沟通交流,抛弃以往的依靠通过编码程序来运行计算机的方法,直接对计算机发出指令。计算机人工智能化是未来发展的必然趋势。

④ 巨型化 巨型化是指为了适应尖端科学技术的需要,研制具有极快的运算速度,超大容量的存储空间,功能更加强大和完善的超级计算机。此类计算机主要应用于航空航天、生物工程、军事、人工智能等领域。计算机朝着巨型化方向发展也预示着计算机的功能更加的多元化。

(2)未来的新一代计算机技术

从计算机的产生及发展可以看出,目前计算机技术的发展都是以电子技术的发展为基础的,集成电路芯片是计算机的核心部件。然而,以硅为基础的芯片制造技术的发展不是无限的。利用纳米技术、光技术、生物技术和量子技术研究新一代计算机成为未来计算机研究的焦点。

① 分子计算机 分子计算机体积小、耗电少、运算快、存储量大。分子计算机完成一项运算,所需的时间仅为10×10−12s,比人的思维速度快100万倍;分子计算机具有惊人的存储能力,1m3的DNA溶液可存储1020个二进制数据;分子计算机消耗的能量也只有电子计算机的十亿分之一。

② 量子计算机 量子计算机是利用原子所具有的量子特性进行信息处理的一种全新概念的计算机。量子计算机处理数据时不是分步进行而是同时完成。只要40个原子一起计算,就相当于今天一台超级计算机的性能。

③ 光子计算机 光子计算机是一种由光信号进行数字运算、逻辑操作、信息存储和处理的新型计算机。如图1-3所示。由于光子比电子速度快,它的存储量是现代计算机的几万倍,还可以对语言、图形和手势进行识别与合成。随着现代光学与计算机技术、微电子技术相结合,许多国家都投入巨资进行光子计算机的研究,在不久的将来,光子计算机将成为人类普遍的工具。1990年初,美国贝尔实验室研制成世界上第一台光子计算机。

图1-3 光子计算机

④ 纳米计算机 纳米计算机是用纳米技术研发的新型高性能计算机。应用纳米技术研制的计算机内存芯片,其体积只有数百个原子大小,相当于人的头发丝直径的千分之一。纳米计算机不仅几乎不需要耗费任何能源,而且其性能要比今天的计算机强大许多倍。

⑤ 生物计算机 生物计算机是一种有知识、会学习、能推理的计算机,具有能理解自然语言、声音、文字和图像的能力,并且具有说话的能力,使人机能够用自然语言直接对话,它可以利用已有的和不断学习到的知识,进行思维、联想、推理,并得出结论。20世纪80年代以来,生物工程学家对人脑、神经元和感受器的研究倾注了很大精力,以期研制出可以模拟人脑思维、低耗、高效的第六代计算机—生物计算机。

1.1.3 计算机的特点及其分类

(1)计算机的特点

计算机可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。计算机不同于其它一般的计算工具,有其自身的特点,归纳起来主要表现在以下几个方面。

① 运算速度快 计算机的运算速度是指单位时间内所能执行指令的条数,一般用每秒钟能执行多少条指令来描述,其常用单位是MIPS(Million Instruction Per Second),即百万条指令每秒。当今计算机系统的运算速度已达到每秒1016次,微机也可达每秒108次以上,使大量复杂的科学计算问题得以解决。例如:大型桥梁工程的计算、气象问题的计算人工完成需要几年甚至几十年,而用计算机只需几分钟就可完成。

② 计算精度高 目前计算机的计算精度已达到小数点后上亿位,是任何其它计算工具所望尘莫及的。理论上通过一定的技术手段,计算机可以实现任何精度要求的计算,计算机的计算精度是不受限制的。

③ 存储容量大 计算机的存储能力是计算机区别于其它计算工具的重要特征。计算机内部的存储器具有记忆特性,可以存储大量数字、文字、图像、视频、声音等各类信息。目前计算机的存储容量越来越大,已高达千兆数量级。

④ 逻辑判断能力强 计算机不仅能解决数值计算问题,还能解决非数值计算问题。在相应程序的控制下,计算机能对信息进行比较和判断,分析命题是否成立,并可根据命题成立与否做出相应的处理。人是有思维能力的,思维能力本质上是一种逻辑判断能力,人类也在积极探索利用计算机的逻辑判断能力,让计算机也学会“思考”。

⑤ 自动化程度高 计算机的存储记忆能力和逻辑判断能力保证了计算机信息处理的高度自动化。人们可以将预先编好的程序输入计算机,在程序控制下计算机可以连续、自动地一步一步完成工作,不需要人的干预。

(2)计算机的分类

计算机及相关技术的迅速发展带动计算机类型也不断分化,形成了各种不同种类的计算机,可以按照不同的标准对其进行分类。

① 按照信息的表示方式分类 根据信息在计算机中的表示方式可分为数字计算机和模拟计算机。数字计算机是通过电信号的有无来表示数,并利用算术和逻辑运算法则进行计算的。它具有运算速度快、精度高、灵活性大和便于存储等优点,因此适合于科学计算、信息处理、实时控制和人工智能等应用。我们通常所用的计算机,一般都是指的数字计算机。

模拟计算机是通过电压的大小来表示数,即通过电的物理变化过程来进行数值计算的。其优点是速度快,在模拟计算和控制系统中应用较多,但通用性不强,信息不易存储,且计算机的精度受到了设备的限制。因此,不如数字计算机的应用普遍。

② 按照用途分类 按照计算机的用途分为专用计算机和通用计算机。专用计算机具有单一性、使用范围小甚至专机专用的特点,它是为了解决一些专门的问题而设计制造的。一般来说,模拟计算机通常都是专用计算机。通用计算机具有用途多、配置全、通用性强等特点,我们通常所说的以及本书所介绍的都是指通用计算机。

③ 按照性能分类 在对计算机进行分类时较为普遍的是按照计算机的运算速度、字长、存储容量、处理能力等综合性能指标来分,可分为巨型机、大型机、中型机、小型机、微型机和工作站。

巨型机运算速度快,存储量大,结构复杂,价格昂贵,主要用于尖端科学研究领域。大型机是对一类计算机的习惯称呼,本身并无十分准确的技术定义。其规模仅次于巨型机,通常人们称大型机为“企业级”计算机。中型机的标准是计算速度每秒10万至100万次,字长32位、主存储器容量为1兆以下的计算机,主要用于中小型局部计算机通信网中的管理。小型机机器规模小、结构简单、设计试制周期短,便于及时采用先进工艺。微型机(又称为个人计算机)目前发展最快,应用范围最广。工作站是一种高档的微机系统。它具有较高的运算速度,既具有大、中、小型机的多任务、多用户能力,又兼具微型机的操作便利和良好的人机界面。它的应用领域也已从最初的计算机辅助设计扩展到商业、金融、办公领域,并频频充当网络服务器的角色。

1.1.4 计算机的应用领域

(1)计算机的主要应用领域

计算机问世之初主要用于科学计算,因而得名“计算机”。而今计算机的应用领域已渗透到社会的各行各业,正在改变着人们传统的工作、学习和生活方式,推动着社会的发展。归纳起来计算机主要应用于以下几个方面。

① 科学计算 也称数值计算,是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算。在现代科学技术工作中,存在大量复杂的科学计算问题,利用计算机运算速度快、计算精度高、具有存储记忆功能等特点,可以实现人工无法解决的各种科学计算问题,达到事半功倍的效果,大大缩短工作周期,提高工作效率,节约人力、物力、财力。

② 数据处理 也称信息管理或事物处理,是指对各种数据进行收集、存储、整理、分类、统计、加工、传播等一系列活动的统称。据统计,80%以上的计算机主要用于数据处理。目前,数据处理已广泛地应用于办公自动化、企事业管理、电影电视动画设计、娱乐、游戏、会计电算化等各行各业。

③ 计算机辅助系统 计算机辅助系统是利用计算机辅助完成不同类任务的系统的总称。计算机辅助系统常用的有计算机辅助设计(CAD)、计算机辅助教学(CAI)、计算机辅助制造(CAM)、计算机辅助测试(CAT)等。

a.计算机辅助设计(Computer Aided Design,简称CAD) 计算机辅助设计是利用计算机系统辅助设计人员进行工程或产品设计,以缩短设计周期,提高设计质量,达到最佳设计效果的一种技术。它已广泛地应用于机械、电子、建筑和轻工等领域。例如,在机械设计过程中,可以利用CAD技术绘制机械零部件图纸,提高设计速度和设计质量。

b.计算机辅助教学(Computer Aided Instruction,简称CAI) 计算机辅助教学是利用计算机系统使用课件来进行教学。课件可以用制作工具或高级语言来开发制作,它能引导学生循环渐进地学习,使学生轻松自如地从课件中学到所需要的知识。CAI的主要特色是交互教育、个别指导和因材施教。

c.计算机辅助制造(Computer Aided Manufacturing,简称CAM) 计算机辅助制造是利用计算机系统进行生产设备的管理、控制和操作的过程。例如,在产品的制造过程中,用计算机控制机器的运行,处理生产过程中所需的数据,控制和处理材料的流动以及对产品进行检测等。使用CAM技术可以提高产品质量,降低成本,缩短生产周期,提高生产率和改善劳动条件。

d.计算机辅助测试(Computer Aided Test,简称CAT) 计算机辅助测试是指利用计算机协助进行测试。可应用于对教学效果和学习能力的测试,也可进行产品测试,软件测试等。

④ 过程控制 采用计算机进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。因此,计算机过程控制已在机械、冶金、石油、化工、纺织、水电、航天等行业得到广泛的应用。这不只是控制手段的改变,而且拥有众多优点。第一,能够代替人在危险、有害的环境中作业。第二,能在保证同样质量的前提下连续作业,不受疲劳、情感等因素的影响。第三,能够完成人所不能完成的有高精度、高速度、时间性、空间性等要求的操作。

⑤ 人工智能 人工智能是计算机模拟人类的智能活动,诸如感知、判断、理解、学习、问题求解和图像识别等。人工智能是计算机科学发展以来一直处于前沿的研究领域,现在人工智能的研究已取得不少成果,有些已开始走向实用阶段。例如,能模拟高水平医学专家进行疾病诊疗的专家系统,具有一定思维能力的智能机器人等。

⑥ 计算机网络 计算机技术与现代通信技术的结合构成了计算机网络。计算机网络的建立,不仅解决了一个单位、一个地区、一个国家中计算机与计算机之间的通信,各种软、硬件资源的共享,也大大促进了国际间的文字、图像、视频和声音等各类数据的传输与处理。通过网络,人们坐在家里通过计算机便可预定车票、可以购物,从而改变了传统服务业、商业单一的经营方式。通过网络,人们还可以与远在异国他乡的亲人、朋友实时地传递信息,大大地缩短了人们之间的距离。

(2)计算机新技术应用

随着计算机技术的发展,计算机的功能已远远超过最初作为“计算的机器”这样狭义的概念。近几年由于网络技术的进步,计算机领域出现的新技术也被越来越多地广泛应用于更多新兴领域。

① 人工智能 人工智能是研究用计算机来模拟人的思维过程和智力行为的学科,制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能就其本质而言,是对人的思维的信息过程的模拟。

进入21世纪,人工智能在计算机领域内,得到了愈加广泛的重视,以计算机为基础的人工智能技术取得了一些进展,典型的例子就是人机对弈。2016年3月,阿尔法围棋与围棋世界冠军、职业九段棋手李世石进行围棋人机大战,以4比1的总比分获胜。

② 云计算 云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。互联网上的云计算服务特征和自然界的云、水循环具有一定的相似性,因此,云是一个相当贴切的比喻。

近几年,云计算作为一个新的技术趋势已经得到了快速地发展和广泛应用,例如阿里云分担12306流量压力、浙江交通厅用阿里云大数据预测1小时后堵车、云上贵州公安交警云等。

③ 大数据 大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。大数据技术的战略意义不在于掌握数据信息的量有多庞大,而在于对这些含有意义的数据进行专业化处理,即如何提高对数据的加工能力,使数据经过加工后实现数据的增值。