第 3章 信息处理工具 ——
计算机系统
计算机是信息处理的主要工具。计算机系统由硬件系统和软件系统两部分组成。计算机软件包括系统软件和应用软件两大类。计算机软件技术的发展将呈现平台网络化、技术对象化、
系统构件化、产品领域化、开发过程化、生产规模化。
3.1 计算机的过去、现在与未来
3.1.1 计算模型与图灵机图灵机计算模型控制器
0 000 01 1111 11
图灵机是一种抽象计算模型,用来精确定义可计算函数。图灵机由一个控制器,一条可以无限延伸的带子和一个在带子上左右移动的读写头组成。这个概念如此简单的机器,理论上却可以计算任何直观可计算函数。图灵在设计了上述模型后提出,凡可计算的函数都可用这样的机器来实现,这就是著名的图灵论题。
3.1.2 存储程序式计算机的基本结构与工作原理从某种意义上讲,图灵机模型与真正的计算机结构之间还有一段距离。在计算机上运行的计算机程序实际上就是计算机指令序列。软件开发的主要任务就是根据人们的需要把特定的计算机指令序列编制出来。经过不断努力,冯,诺依曼确定了现代存储程序式电子数字计算机的基本结构和工作原理;主要由 5部分组成:存储器、运算器、
控制器、输入设备、输出设备。
3.1.3 现代计算机的,史前,时代 ( —
1946)
计算机的,史前,史 (指第一台数字式电子计算机诞生以前的历史 )应该从最早计算工具的出现开始,至少可以追溯到我们祖先用石头或手指帮助计数的远古时代 。 现代计算机的前身是帕斯卡在 1642年建造的第一台机械式的计算机,后来,巴贝奇在 1823年建造了机械式的数字微分机,这些都是在现代电子计算机诞生前,人类创造计算工具的重要实践 。
3.1.4 第一台现代电子数字计算机的诞生
1946年 2月 5日,是人类文明历史上的重要转折 。 世界上第一台真正的现代电子数字计算机
,ENIAC”研制成功了 。 它用电子管代替继电器和其他半机械式装置,使运行速度一下子可以提高数千倍 。,ENIAC”共用了 18000多只电子管,
耗电 150kW,占地 170m2。 为了给这个庞然大物散热,专门为它配备了一台重约 30t的冷却装置 。
3.1.5 现代计算机发展的 4个阶段
采用电子管的第一代计算机( 1946— 1957)
采用晶体管的第二代电子计算机( 1958—
1964)
采用集成电路的第三代计算机( 1965—
1970)
使用超大规模集成电路的第四代计算机
( 1970年至今)
3.1.6 计算机有智能吗 —— 关于第五代计算机下一代计算机,即第五代电子计算机也被称为
,智能计算机,。 究竟什么是,智能计算机,,
到目前为止人们还有不同的理解 。 但一般认为,
智能计算机是一种有知识,会学习,能推理的计算机,具有能理解自然语言,声音,文字和图像的能力,具有使人机能够用自然语言直接对话 。
它可以利用已有的和不断学习到的知识,进行思维,联想,推理,并得出结论,能解决复杂问题,
具有汇集,记忆,检索有关知识的能力 。
3.1.7 巨型计算机与矢量计算现代巨型电子计算机已普遍采用矢量运算。矢量计算机的出现,是计算机工业中的一项新的技术进步。矢量计算机也被称为,向量计算机,,它是一种能够进行矢量运算,以流水处理为主要特征的电子计算机。对多组数据
(每组一般为两个数据)成批地进行同样的运算,得到一批结果的运算方法,即被称为,矢量运算,。
3.2 计算机系统
3.2.1 计算机系统的组成计算机系统由硬件系统和软件系统两部分组成。硬件系统主要由中央处理器、内存储器、输入 /输出设备(包括外存储器、多媒体配套设备)
等组成。所谓软件系统则是指管理计算机软件系统和硬件系统资源、控制计算机运行的程序、命令、指令、数据等,广义地说,软件系统还包括电子的和非电子的有关说明资料,说明书、用户指南、操作手册等。
3.2 计算机系统
3.2.2 微型计算机系统根据计算机的综合指标,可以将计算机划分为巨型机,大型机,中型机,小型机和微型机等五大类 。 微型机具有体积小,重量轻,维护简单方便,价格低廉,软件丰富和操作简便等优点,
特别是高档微型机的性能已经超过了一般小型机,
因此它的发展极为迅速,应用与普及最广,数量也最多 。 微型机根据工艺结构,外观形式和应用目的,可分为台式机和便携式两类 。
3.2 计算机系统
3.2.3 微型计算机的总线及标准总线 ( BUS) 是计算机内部传输指令,数据和各种控制信息的高速通道,是计算机硬件的一个重要组成部分 。 根据用途不同,分成内部总线和外部总线 。
3.2.4 计算机与外部设备的接口及标准
3.2 计算机系统接口,顾名思义就是设备与计算机或其他设备联接的端口。它其实是一组电气联接和信号交换标准。接口主要是用来传送电气信号的,
在信号中,有一部分是数据信号,其余是控制信号,它们都是为传输数据服务的。数据的传输方式基本分为两种,一种是用一条线(或一对线)用来传送数据,这种叫串行传输接口。
3.2 计算机系统
除了传统接口形式外,随着计算机技术的发展,
现在又出现了许多新的接口标准。如 SCSI、
USB等。 USB( Universal Serial Bus)是一种通用串行总线接口,它最大的好处在于能支持多达 127个外设,并且可以独立供电(可从主板上获得 500mA的电流),并且支持热拔插
(开机状态下插拔),真正做到即插即用。
USB接口可同时支持高速和低速 USB外设的访问。
3.3 微型计算机的硬件系统
3.3.1 主机微型计算机的主机由 CPU,主板及内存储器组成。 CPU是中央处理单元的缩写,又被称做微处理器 (Microprocessor),CPU作为计算机系统的核心,主要包括运算器和控制器两个部件。
CPU的内部结构可以分为控制单元、逻辑单元和存储单元 3大部分,3个部分相互协调。计算机在运 3行时,对系统内存、存储设备和其他 I/O设备的操作控制控制都必须通过主板来完成,因此计算机的整体运行速度和稳定性在相当程度上取决于主板的性能。
3.3 微型计算机的硬件系统主板 (Mainboard)是微机系统中最大的一块电路板。主板上布满了各种电子元件、芯片及芯片组、插槽、接口等。内存 (Memory) 是计算机内部存储器的简称,用于存放 CPU正在处理、即将处理或处理完毕的数据,是 CPU可以直接访问的存储器。内存储器分为随机存储器( RAM) 和只读存储器 (ROM)两类。
3.3 微型计算机的硬件系统
3.3.2 外存储器软盘,硬盘,光盘等存储器都是 CPU不能直接访问的存储器,需要经过内存以及 I/O
设备交换信息,统称外部存储器 。
3.3 微型计算机的硬件系统
3.3.3 输入设备输入设备是人们和计算机系统之间进行信息交换的主要装置之一。计算机输入设备在不同时代是不相同的。在 DOS( 一种过时的操作系统)时代,
键盘几乎是惟一的输入设备;到了 Windows时代,鼠标大行其道,成了与键盘并驾齐驱的重要输入设备;
到了多媒体时代,扫描仪、光笔、压感笔、手写输入板、游戏杆、语音输入装置、数码相机、数码摄相机、光电阅读器等都成为常用的输入设备。
3.3 微型计算机的硬件系统
3.3.4 输出设备输出设备的作用是把计算机处理的中间结果或最终结果用人所能识别的形式 (如字符、
图形、图像、语音等 )表示出来,它包括显示设备、打印设备、语音输出设备、图像输出设备等。
3.4 计算机软件系统
3.4.1 软件的定义及其性质现在,被普遍接受的软件定义是:计算机软件是在计算机上运行的各种程序,要处理的各类数据以及有关文档的总称 。 其中程序是按照事先设计的功能和性能要求执行的指令序列;数据是是程序能正常操纵信息的数据结构;文档是与程序开发维护和使用有关的各种图文资料 。 文档是软件的,质,的部分,程序则是文档代码化的表现形式 。 相对于计算机硬件而言,软件是计算机的无形部分,但它的作用是很大的 。
3.4 计算机软件系统
3.4.2 软件危机与软件工程软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的原因,
一方面是与软件本身的特点有关;另一方面是由软件开发和维护的方法不正确有关。
软件工程是针对软件危机提出来的。软件工程的成果不是供最终用户使用的一般工具产品,
而是为软件设计和开发人员提供的思想方法和工具。软件工程包括两方面内容:软件开发技术和软件项目管理。软件工程的最终目的就在于软件自动化。
3.4 计算机软件系统
3.4.3 软件技术的历史回顾与发展计算机的数学理论基础是图灵于 1937年提出的图灵机模型,而现代电子计算机的体系结构及实际计算模型则是来自冯,诺依曼 1946年提出的,程序放入内存,顺序执行,的思想,
因此,现在的计算机通常被称为冯 · 诺依曼计算机。计算机语言的发展历程也从此正式开始,
计算机语言的使用人员也开始被称为程序员。
软件技术的发展经历了五代历程。
3.5 程序设计方法
3.5.1 计算机程序的性质
目的性
分步性
有序性
有限性
操作性
3.5.2 什么是算法算法就是问题的求解方法。一个算法由一系列求解步骤组成。算法的描述由一组简单指令和规则组成,计算机按规则执行其中的指令能在有限的步骤内解决一个问题或者完成一个函数的计算。算法可以被定义为一个运算序列。
3.5.3 程序、数据结构、算法及其关系数据结构是指数据对象及其相互关系和构造方法,程序的数据结构描述了程序中的数据间的组织形式和结构关系。程序的构成是和数据结构不可分割的。程序在描述算法的同时,
也必须完整地描述作为算法的操作对象的数据结构。程序 =数据结构 +算法
3.5.4 结构化程序设计
3.5.5 程序设计的步骤
1.分析问题
2.建立数学模型
3.选择算法
4.编写程序
5.调试运行
6.分析结果
7.写出程序的文档
3.5.6 从面向过程 (OP)到面向对象 (OO)
面向过程的程序设计 (Process Oriented
Programming,PO)是指采用面向过程的程序设计语言进行编程,实现软件设计流程图所描述的信息处理过程的功能 。 面向对象的程序设计方法 (Object-Oriented Programming,OOP)基于面向对象模型 。 采用面向对象的程序设计语言编程实现 。
3.5.7 第四代语言第 4代语言 (Fourth- Generation
Language,以下简称 4GL)这个词是在 80年代初期出现的。 4GL是非过程化程序设计语言,对于需要处理的问题,只需告知计算机,做什么,,而不必告知计算机,怎么做,。用 4GL
编程使用的代码量较之传统编程明显减少,并可成数量级地提高软件生产率。