第一章 计算机应用基础知识.docx
《第一章 计算机应用基础知识.docx》由会员分享,可在线阅读,更多相关《第一章 计算机应用基础知识.docx(16页珍藏版)》请在冰豆网上搜索。
第一章计算机应用基础知识
第一章
计算机应用基础知识
1.1计算机的发展、应用与组成
1.1.1计算机的发展与应用
1.计算机的发展历程
第一台数字电子计算机ENIAC于1946年在美国宾夕法尼亚大学诞生,人们习惯于以计算机主机所使用的元器件为着眼点,把计算机的发展划分成为四代。
表1.1是第一代至第四代计算机主要特点的对比。
表1.1第一代至第四代计算机的对比
代别
年代
使用的主要元器件
使用的软件类型
主要应用领域
第一代
20世纪40年代中期—50年代末期
GPU:
电子管内存:
磁鼓
使用机器语言和汇编语言编写程序
科学和工程计算
第二代
20世纪50年代中、后期—60年代中期
GPU:
晶体管内存:
磁芯
使用FORTRAN等高级程序设计语言
开始广泛应用于数据处理领域
第三代
20世纪60年代中期—70年代初期
GPU:
SSI、MSI内存:
SSI、MAI的半导体存储器
操作系统、数据库管理系统等开始使用
在科学计算、数据处理、工业控制等领域得到广泛应用
第四代
20世纪70年代中期以来
GPU:
LSI、VLSI内存:
LSI、VISI的半导体存储器
软件开发工具和平台、分布式计算、网络软件等开始广泛使用
深入到各行各业,家庭和个人开始使用计算机
2.计算机的发展趋势
1计算机性能不断提高
2计算机体积不断缩小
3计算机价格持续下降
4计算机信息处理功能走向多媒化
5计算机与通信相结合,计算机应用进入“网络计算时代”
1.1.2计算机的分类与PC的组成
1.计算机的分类
计算机的分类有多种方法。
从技术角度可以按其逻辑结构进行分类,如单处理机与多处理机(并行机)、16位机、32位机或64位计算机等。
从应用角度可以按其性能和价格进行分类,把计算机分成下面的5大类。
①巨型计算机(supercomputer),也称为超级计算机,它采用大规模并行处理的体系结构,由数以百计、千计甚至万计的CPU共同完成系统软件和应用软件的运行任务,有极强的运算处理能力,速度达到每秒数万亿次以上。
②大型计算机(mainframe),指运算速度快、存储容量大、通信连网功能完善、可靠性高、安全性好、有丰富的系统软件和应用软件的计算机,通常含有4、8、16、32甚至更多个CPU。
③小型计算机(minicomputer),是一种供部门使用的计算机,以IBM公司AS/400为代表。
近些年来,小型机逐步被高性能的服务器(部门级服务器)所取代。
④个人计算机(PersonalComputer,PC),也称为个人电脑或微型计算机,它们是20世纪80年代初由于单片微处理器的出现而开发成功的。
个人计算机的特点是价格便宜,使用方便,软件丰富,性能不断提高,适合办公或家庭使用。
有一种特殊的个人计算机,称为工程工作站或简称工作站(workstation),它们具有高速的运算能力和强大的图形处理功能,通常运行UNIX操作系统,特别适合于工程与产品设计使用。
⑤嵌入式计算机(embeddedcomputer),是安装在其他设备中的计算机,例如安装在智能仪表、电子玩具、计算机外部设备、家用电器、汽车、手机、数码相机、MP3播放器等产品中,它们执行着特定的任务。
2.PC的组成
无论系统多么复杂,任何计算机系统都是由硬件和软件组成的。
计算机硬件是计算机系统中所有实际物理装置的总称。
计算机软件则是指在硬件上运行的程序和相关的数据及文档,其中程序是指计算机硬件完成特定功能的指令序列,数据则为程序处理的对象。
PC的硬件主要包括中央处理器(centralprocessingunit,CPU)、内存储器、外存储器、输入设备和输出设备等,它们通过总线互相连接。
(1)中央处理器(CPU)
迄今为止,我们所使用的计算机都是基于“存储程序”的原理进行工作的,计算机中能够按照各种指令的要求完成对数据运算处理的部件称为处理器。
处理器主要由运算器和控制器两部分组成。
运算器用来对数据进行各种算术运算和逻辑运算,它也称为执行单元。
控制器是指挥中心,它能解释指令的含义,控制运算器及其他部件的工作。
PC中通常包含多个不同的微处理器,它们各有不同的分工和任务,其中承担系统和应用软件运行任务的处理器称为CPU,它是任何一台计算机必不可少的核心部件。
(2)内存储器和外存储器
计算机中的存储器分为两大类:
内存储器(简称内存)和外存储器(简称外存)。
内存是存取速度快而容量相较小(因容量太大,成本将十分昂贵)的一类存储器,外存则是存取速度慢而容量相对很大的一类存储器。
内存直接与CPU相连接,是计算机中的工作存储器,当前正在运行的程序与数据都必须存储在内存中。
CPU工作时,所执行的指令及操作数都是从内存中取出的,处理的结果也存放在内存中。
外存储器也称为辅助存储器,其存储容量很大,存放着计算机系统中几乎所有的信息。
计算机执行程序和处理数据时,外存中的信息需要先调入内存后才能被CPU使用。
(3)输入设备
输入(input)是把信息送入计算机的过程,作为名词使用时,指的是向计算机输入的内容。
输入可以由人、外部环境或其他计算机来完成。
用来向计算机输入信息的设备通称为输入设备。
输入设备有多种,例如鼠标器、键盘、扫描仪、麦克风等。
不论信息的原始形态如何,输入到计算机中的信息都使用二进位(0和1)来表示。
(4)输出设备
输出(output)表示把信息送出计算机,作为名词使用时,指的是计算机所产生的结果。
计算机的输出可以是文本、语音、音乐、图像、动画等多种形式。
(5)总线
总线(bus)是连接计算机中CPU、内存、外存、各种输入/输出控制部件的一组信号线及其相关的控制电路,它是计算机中用于在各部件间运载信息的公共设拖。
3.计算机的分类
计算机的分类有多种方法。
从技术角度可以按其逻辑结构进行分类,如单处理机与多处理机(并行机)、16位机、32位机或64位计算机等。
从应用角度可以按其性能和价格进行分类,把计算机分成下面的5大类。
①巨型计算机(supercomputer),也称为超级计算机,它采用大规模并行处理的体系结构,由数以百计、千计甚至万计的CPU共同完成系统软件和应用软件的运行任务,有极强的运算处理能力,速度达到每秒数万亿次以上。
②大型计算机(mainframe),指运算速度快、存储容量大、通信连网功能完善、可靠性高、安全性好、有丰富的系统软件和应用软件的计算机,通常含有4、8、16、32甚至更多个CPU。
③小型计算机(minicomputer),是一种供部门使用的计算机,以IBM公司AS/400为代表。
近些年来,小型机逐步被高性能的服务器(部门级服务器)所取代。
④个人计算机(PersonalComputer,PC),也称为个人电脑或微型计算机,它们是20世纪80年代初由于单片微处理器的出现而开发成功的。
个人计算机的特点是价格便宜,使用方便,软件丰富,性能不断提高,适合办公或家庭使用。
有一种特殊的个人计算机,称为工程工作站或简称工作站(workstation),它们具有高速的运算能力和强大的图形处理功能,通常运行UNIX操作系统,特别适合于工程与产品设计使用。
⑤嵌入式计算机(embeddedcomputer),是安装在其他设备中的计算机,例如安装在智能仪表、电子玩具、计算机外部设备、家用电器、汽车、手机、数码相机、MP3播放器等产品中,它们执行着特定的任务。
2.PC的组成
无论系统多么复杂,任何计算机系统都是由硬件和软件组成的。
计算机硬件是计算机系统中所有实际物理装置的总称。
计算机软件则是指在硬件上运行的程序和相关的数据及文档,其中程序是指计算机硬件完成特定功能的指令序列,数据则为程序处理的对象。
PC的硬件主要包括中央处理器(centralprocessingunit,CPU)、内存储器、外存储器、输入设备和输出设备等,它们通过总线互相连接。
(1)中央处理器(CPU)
迄今为止,我们所使用的计算机都是基于“存储程序”的原理进行工作的,计算机中能够按照各种指令的要求完成对数据运算处理的部件称为处理器。
处理器主要由运算器和控制器两部分组成。
运算器用来对数据进行各种算术运算和逻辑运算,它也称为执行单元。
控制器是指挥中心,它能解释指令的含义,控制运算器及其他部件的工作。
PC中通常包含多个不同的微处理器,它们各有不同的分工和任务,其中承担系统和应用软件运行任务的处理器称为CPU,它是任何一台计算机必不可少的核心部件。
(2)内存储器和外存储器
计算机中的存储器分为两大类:
内存储器(简称内存)和外存储器(简称外存)。
内存是存取速度快而容量相较小(因容量太大,成本将十分昂贵)的一类存储器,外存则是存取速度慢而容量相对很大的一类存储器。
内存直接与CPU相连接,是计算机中的工作存储器,当前正在运行的程序与数据都必须存储在内存中。
CPU工作时,所执行的指令及操作数都是从内存中取出的,处理的结果也存放在内存中。
外存储器也称为辅助存储器,其存储容量很大,存放着计算机系统中几乎所有的信息。
计算机执行程序和处理数据时,外存中的信息需要先调入内存后才能被CPU使用。
(3)输入设备
输入(input)是把信息送入计算机的过程,作为名词使用时,指的是向计算机输入的内容。
输入可以由人、外部环境或其他计算机来完成。
用来向计算机输入信息的设备通称为输入设备。
输入设备有多种,例如鼠标器、键盘、扫描仪、麦克风等。
不论信息的原始形态如何,输入到计算机中的信息都使用二进位(0和1)来表示。
(4)输出设备
输出(output)表示把信息送出计算机,作为名词使用时,指的是计算机所产生的结果。
计算机的输出可以是文本、语音、音乐、图像、动画等多种形式。
(5)总线
总线(bus)是连接计算机中CPU、内存、外存、各种输入/输出控制部件的一组信号线及其相关的控制电路,它是计算机中用于在各部件间运载信息的公共设拖。
3.PC的性能参数
(1)CPU的性能
计算机的性能在很大程度上依赖于CPU。
CPU的性能主要体现为它的运算速度。
测量CPU运算速度的传统方法是看它每秒钟能执行多少条指令。
由于不同类型的指令所需要的执行时间不同,因而运算速度的计算比较复杂,也有许多不同的方法。
例如,可以以单字长定点指令的平均执行时间来计算,单位是MIPS(millioninstructionspersecond),也可以以单字长浮点指令的平均执行速度来衡量,单位是MFLOPS(millionfloatinginstructionspersecond)。
CPU的运算速度与它的工作频率、cache容量、指令系统、运算器的逻辑结构等都有关系。
CPU的工作频率也称为CPU的主频,它决定着CPU内部数据传输和指令执行的每一步的快慢。
(2)内存容量与速度
计算机中内存的容量是越大越好,速度是越快越好。
内存的速度用存取周期来衡量。
存储器执行一次完整的读(写)操作所需要的时间称为存取周期,通常情况下也就是从存储器中连续存(写)或取(读)两个字所用的最小时间间隔。
(3)硬盘存储器性能
磁盘存储器的主要技术指标是磁盘的存储容量和平均访问时间。
(4)总线的传输速率
总线的传输速度直接影响到计算机内部各个部件相互间传输数据的速度,它与总线中的数据线宽度、总线工作频率、每次数据传输需要的总线周期数目等有关,以MBps或GBps为单位。
(5)系统的可靠性
系统的可靠性常常用平均无故障时间(meanrimebetweenfailures,MTBF)、平均故障修复时间(meantimetorepair,MTTR)来表示,它们的单位是“小时”。
若MTBF值很高,且MTTR值很低,则称该计算机具有高的可用性(availability)。
1.1.3PC软件
1.软件的功能与分类
目前绝大多数计算机都是按照冯•诺依曼“存储程序”的思想设计的。
软件大致划分为系统软件和应用软件两大类。
2.系统软件
系统软件中最重要的是操作系统、语言处理程序、实用程序与工具软件等。
(1)操作系统
操作系统(operationgsystem,OS)是直接运行在裸机上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
它已成为计算机系统必不可少的基本组成部分。
操作系统负责对计算机系统的各类资源(包括硬件与软件资源)进行统一控制、管理、调度和监督,合理地组织计算机的工作流程(故被称为操作系统),其目的是提高各类资源的利用率,方便用户使用,并为其他软件的开发提供必要的服务和相应的接口。
(2)程序设计语言及其处理程序
计算机硬件可以直接执行的指令是由0和1所组成的一串二进位代码,这是硬件唯一能直接理解的语言,称为机器语言。
所谓汇编语言,是一种与计算机的机器语言相当接近的符号语言,其本质是采用有助于人们记忆的文字符号来表示机器语言,再加上一些用来控制程序执行和便于定义数据的命令。
汇编语言通常依赖于特定计算机的指令集,受到了计算机指令的限制,它与机器语言一样,还是一种低级语言。
所谓高级程序设计语言,是指比较接近于人们日常所使用的书面语言(英语)的用来编制程序的一类语言。
比如已流行多年的FORTRAN、COBOL、BASIC、Pascal、C等程序设计语言都是高级语言。
任何一个语言处理系统通常包含一个翻译程序,它把一种语言的程序翻译成等价的另一种语言的程序。
被翻译的语言和程序分别称为源语言和源程序,而翻译生成的语言和程序分别称为目标语言和目标程序。
按照不同的翻译处理方法,可以将翻译程序分为以下3类:
①从汇编语言到机器语言的翻译程序称为汇编程序。
②按源程序中语句的执行顺序,逐条翻译并立即执行其功能的处理程序称为解释程序。
③先将高级语言源程序翻译成目标语言程序,然后与需调用的库函数连接成为可执行程序,此类翻译程序称为编译程序。
除了翻译程序外,语言处理系统通常还包括编辑程序(用于编写源程序)、连接程序(将多个分别编译或汇编过的目标程序和库文件进行组合)和装入程序(将目标程序装入内存并启动执行)等。
(3)实用程序
实用程序(utilitiesprogram)指用户完成一些日常任务所使用的工具程序,它多半应用于软件和硬件的日常维护、管理和安全控制等方面。
1.2二进制与数值信息的表示
1.2.1二进制
1.什么是二进制
日常生活中人们最熟悉十进制数,一个数用10个不同的符号来表示,每一个符号处于十进制数中不同位置时,它代表的实际数值是不一样的。
例如,1997.82代表的实际值是
1997.82=1×103+9×102+9×101+7×100+8×10-1+2×10-2
在十进制记数制中,基数是10,它表示这种记数制一共使用10个不同数字符号,低位记满10之后就要向高位进一,即日常所说的“逢十进一”。
二进制和十进制相仿,也是一种进位记数制。
但它的基数是2,它只使用两个不同的数字符号,即0和1,而且二进制数是“逢二进一”。
例如,二进制数(10101)2代表的实际数值是
(10101)2=1×24+0×23+1×22+0×21+1×20=(21)10
对于二进制小数,也有类似情况,例如(101.01)2的实际数值是
(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2=(5.25)10
从十进制和二进制的概念出发,可以进一步推广到更一般的任位制的情况。
最常用的有八进制和十六进制两种。
八进制数使用0、1、2、3、3、4、5、6、7这8个数字,逢八进一。
(365.2)8=3×82+6×81+5×80+2×8-1=(245.25)10
十六进制数使用0、1、2、4、5、6、7、8、9、A、B、C、D、E、F这16个符号,其中A、B、C、D、E、F分别代表十进制的10、11、12、13、14、15。
在十六进制数中,低位逢十六进一,高位借一当十六。
(F5.4)16=15×161+5×160+4×16-1=(245.25)10
3.不同进位制数之间的转换
例1.1二进制数转换成十进制数。
(111.001)2=(1×22+1×21+1×20+0×2-1+0×2-2+1×2-3)10=(7.125)10
例1.2八进制数转换成十进制数。
(34.6)8=(3×81+4×80+6×8-1)10=(28.75)10
例1.3十六进制数的转换成十进制数
(2AB.C)16=(2×162+10×161+11×160+12×16-1)10=(68.375)10
4.二进制信息的计量单位
二进制的每一位(即0或1)称为“二进制位”,英文是binarydigit,缩写为bit,中文直译为比特,也称为“二进位”,在含义不发生混淆时简称“位”,一般用小写的字母“b”表示。
比特是计算机处理、存储、传输信息的最小单位。
在计算机系统中,存储容量是用它能存储多少字节的二进制信息作为度量单位的。
内存容量的度量单位有:
千字节(KB),1KB=210B=1024B
兆字节(MB),1MB=220B=1024KB
吉字节(GB),1GB=230B=1024MB
太字节(TB),1TB=240B=1024GB
1.2.2整数在计算机内的表示
1.整数(定点数)的表示
整数不使用小数点,或者说小数点是隐含在个位数右面的,所以它也称为定点数。
计算机中的整数分为两类:
不带符号的整数(unsignedinteger),此数整数一定是正整数;带符号的整数(signedinteger),此类整数既可表示整数,又可表示负整数。
不带符号的整数常常用于表示地址等正整数,它们可以是8位、16位甚至32位。
8个二进位所能表示的正整数其取值范是0~255(28-1),16个二进位所能表示的正整数其取值范围是0~65535(216-1),32个二进位所能表示的正整数其取值范围是0~232-1。
带符号的整数必须使用一个二进位作为其符号位,一般总是最高位(最左面的一位),0表示“+”(正数),1表示“-”(负数),其余名位则用来表示数值的大小。
例如:
00101011=+4310101011=-43
可见,8个二进位所能表示的带符号整数其取值范围是-127~+127(-27+1~+27-1),16个二进位所能表示的带符号整数其取值范围是-32767~+32767(-215+1~+215-1),32个二进位所能表示的带符号整数其取值范围是-231+1~+231-1,64个二进位所能表示的带符号整数其取值范围也可类似地推算出来。
为了内部运算处理方便,数值为负的整数在计算机内不止一种表示方法。
上面的表示法称为“原码”,另外的两种表示方法分别称为反码和补码。
负数使用反码表示时,符号位为1,但绝对值部分却正好与原码相反(0变为1,1变为0)。
例如:
(-43)原=10101011
(-43)反=11010100
负数使用补码表示时,符号位也是1,但绝对值部分却是反码的个位加1后所得到的结果。
例如:
(-43)原=10101001
(-43)反=11010100
(-43)补=11010101
还有一种整数也经常在计算机内使用,称为“二进制编码的十进制”整数(binarycodeddecimal,BCD整数),它使用4个二进位表示1个十进制数字,符号的表示仍与上相同。
例如:
(-56)BCD=101010110
2.整数的运算
(1)不同长度整整之间的转换
一般而言,短整数可以转换成长整数表示而保持其数值不变,而反过来却不行。
短整数转换成长整数表示的方法是,把符号位向左扩充至所需要的长度为止。
(2)整数的变号操作
所谓“变号操作”,是指将该整数变成绝对值相同符号相反的另一个整数。
变号操作又称为“取负”运算,它的处理方法是,将该整数的每一个二进位变反,然后在最末位(个位)加1,其结果即为所求。
(3)整数的移位操作
移位操作有多种。
按照移位方向来分,移位操作可分成左移、右移两大类;按照操作性质则又可区分为算术移位、逻辑移位和循环移位等不同类型。
①算术移位
当乘数或除数是2n时,算术移位用来快速地完成对整数进行乘法或除法的运算。
算术左移n位相当于乘以2n,执行方法是把原来的数中每一位都向左移n个位置,左面移出的高位丢弃,右面低位空出的位置上全部补0。
若正数左移过程中移出的位中包含1,或者负数移出的位中包含0时,则表示运算结果超出了可表示的数值范围,即发生了溢出,结果不正确。
②逻辑移位
逻辑左移n位的执行方法是,把原来的数中每一位都向左移动n个位置,左面移出的高位丢弃,右面低位空出的位补0。
逻辑右移n位的执行方法是把原来的每一位都向右移动n个位置,右面移出的低位丢弃,左面高位的位置上全部补0。
③循环移位
循环移位是一种逻辑操作,它仅仅移动操作数中二进位信息的位置,不会丢弃任何一位信息。
循环左移n位是把原来的数中每一位都向左移动n个位置,左面移出的高位放在右面低位空出的位置上。
循环右移n位则把原来数中的每一位都向右移动n个位置,右面移出的低位放到左面高位空出的位置上。
(4)逻辑运算
逻辑运算(又称为布尔运算)总是按位进行处理的,即对应位之间进行规定的逻辑运算,不考虑位与位之间的进位。
常用的基本逻辑运算有4种:
“非”运算(NOT)、“或”运算(OR)、“与”运算(AND)、“按位加”运算(XOR),它们都非常简单。
(5)整数加法
两个带符号整数相加的运算方法很简单,只需从低位到高位把所有位(包括符号位)相加,逢二进一,最高位产生的进位忽略不计。
做加法运算时判断有无溢出的规则是,两个同号的整数相加,若结果的符号却相反,则发生溢出。
注意,是否发生溢出并不取决于最高位有无进位。
(6)整数减法
两上带符号整数相减的运算方法也很简单,只需先把减数变号,然后再与被减数相加即可。
做减法运算时判断有无溢出的规则是,两个异号的整数相减,若结果的符号与被减数符号相反,则发生益出。
当然,是否发生溢出也并不取决于最高位有无进位。
1.2.3实数在计算机内的表示
1.实数(浮点数)的表示
实数也称为浮点数,因为它的小数点位置不固定。
实数是既有整数又有小数的数,整数和纯小数可以看做是实数的特例。
任意一个实数在计算机内部都可以用“指数”(整数)和“尾数”(纯小数)来表示,这种用指数和尾数来表示实数的方法称为“浮点表示法”。
所以,在计算机中实数也称为浮点数,而整数则称为定点数。
以流行的Pentium系列微处理器中的浮点数为例,它表示为如下形式。
(-1)s2E(b0△b1b2b3…bp-1)
可以看出,pentium系列微处理器中的浮点数具有如下性质。
①最高位是符号位,它表示该浮点数(实数)的正负。
②规格化浮点数的尾数的最高位(第1位)总是1,它不必在尾数表示出来。
③浮点数的0有两种,+0和-0。
+0表示成全0,即000000000000000000000000000000000,-0表示成10000000000000000000000000000000。
④浮点数的表示范围虽然很大,但运算中还是可能出现超出它允许范围的一些结果,这种情况称为“向上溢出”。
⑤浮点数能表示绝对值很小的数,当运算中出现绝对值更小的数时,这种情况称为“向下溢出”,这时,处理器只能用0来表示。
2.实数的运算
浮点数的加、减运算要比定点数(整数)复杂得多。
下面只作简要介绍。
设浮点数A=As×2Ea,B=Bs×2Eb
则和数C=(As×2Ea-Eb+Bs)×2Eb,差D=(As×2Ea-Eb-Bs)×2Eb(若Ea≤Eb)
或者:
和数C=(As+Bs×2Eb-