Ja0.docx
《Ja0.docx》由会员分享,可在线阅读,更多相关《Ja0.docx(20页珍藏版)》请在冰豆网上搜索。
Ja0
2.计算机基础知识J02
2.1计算机系统的组成与工作原理J0201
2.1.1计算机系统的组成J020101
计算机系统由硬件系统和软件系统两部分组成,如图2.1所示。
图2.1计算机系统的组成
1.计算机硬件
计算机硬件是看得见、摸得着的物体,是组成计算机系统的各种部件的总称。
它是计算机系统快速、可靠、自动工作的物质基础。
2.计算机软件
计算机软件就是在计算机中执行某种操作任务的程序以及有关文档的集合,是计算机的灵魂。
3.硬件、软件和用户的关系
在计算机中,硬件和软件是不可缺少的两个部分。
图2.2表明了计算机硬件、软件和用户三者之间的关系。
计算机如果在没有安装任何软件,则称之为裸机。
裸机使用效率低,难以完成复杂的任务。
操作系统是直接运行在裸机上的最基本的系统软件,是对裸机的首次扩充,同时又是其他软件运行的基础。
应用软件的开发和运行要有系统软件的支持,而用户直接使用的是应用软件,即使用某一应用软件来解决实际问题。
图2.2计算机硬件、软件和用户三者之间的关系。
2.1.2计算机系统的硬件组成J020102
虽然计算机的种类很多,制造技术发生了很大的变化,但在基本的硬件结构方面,一直沿袭着冯·诺依曼的体系结构,从功能上都可以划分为五个基本组成部分,即输入设备、输出设备、存储器、运算器和控制器,如图2.3所示。
图2.3计算机的基本结构
在图2.3中,有两种信息流,一种是数据流,另一种是控制流。
1.输入设备和输出设备
从外部设备将信息(包括原始数据、程序等)传送到计算机内存储器称为输入,从计算机内部向外部设备传送信息称为输出。
输入设备接收用户提交给计算机的程序、数据及其他各种信息,并把它们转换成计算机能够识别的二进制代码,送给内存储器。
常用的输入设备有键盘、鼠标器、扫描仪等。
输出设备是把计算机的处理结果用人们能识别的数字、字符、图形、曲线、表格等形式输出。
常用的输出设备有显示器、打印机、绘图仪等。
磁盘等外存储器既可作为输入设备,又可作为输出设备。
2.存储器
存储器是用于存放原始数据、程序以及计算机运算结果的部件。
存储器是由大量的基本存储元件组成的,每一个基本存储元件存储一位二进制数据“0”或“1”。
凡是具有两个稳定状态的元件均可用作基本存储元件。
当前,一般都由半导体元件组成。
图2.4是存储器的组成框图。
大量的基本存储元件有规则地组合在一起就是存储器的存储体。
存储体被划分成许多存储单元,每个存储单元可以存放一个数据或一条指令。
为了能够按指定的位置进行存取,必须给每个存储单元编号,这个编号就称为存储单元的地址。
地址与存储单元一一对应,每一个存储单元都规定了一个惟一的地址。
要访问某一存储单元(向存储单元写入数据或从存储单元中读出数据),要给出这个存储单元的地址。
在微机系统中,内存是以字节作为一个单元的,在不同字长的系统中,一次可以对2个、4个或8个单元进行访问。
图2.4存储器组成框图
内存储器用来存放当前需要处理的原始数据及需要运行的程序,CPU可直接访问。
微型计算机的内存普遍采用了大容量的半导体存储器,根据使用功能的不同,半导体存储器可分为随机存取存储器(RandomAccessMemory,RAM)和只读存储器(ReadOnlyMemory,ROM)两种。
RAM的特点是:
用户既可以从中读出信息,又可以将信息写入其中;断电后RAM中所存储的信息将全部丢失。
ROM的特点是:
用户只能从中读出信息,不能将信息写入其中;断电以后,ROM中所存储的信息不会丢失。
外存储器用来存放当前暂不需要处理的原始数据及不需要运行的程序,不能被CPU直接访问,外存储器的数据只有先调入内存才能被CPU访问。
常见的外存主要有软盘、硬盘和光盘(CompactDiskReadOnlyMemory,CD-ROM),它们都必须通过各自的驱动器才能进行读写操作。
3.控制器
控制器是整个计算机的控制中心,它按照从内存储器中取出的指令,向其他部件发出控制信号,使计算机各部件协调一致地工作,另一方面它又不停地接收由各部件传来的反馈信息,并分析这些信息,决定下一步的操作,如此反复,直到程序运行结束。
4.运算器
运算器又称算术逻辑单元(ArithmeticLogicUnit,ALU)。
它接受由内存送到的二进制数据并对其进行算术运算和逻辑运算。
总结:
关于计算机组成的几个概念
•中央处理器:
运算器和控制器合称为中央处理器(CentralProcessingUnit,CPU)。
•主机:
CPU和内存储器合称为主机。
•裸机:
没有安装任何软件的计算机称为裸机。
•外部设备:
将输入设备和输出设备称为外部设备。
由于外存储器不能直接与CPU交换信息,而它与主机的连接方式和信息交换方式与输入输出设备没有很大差别,因此,一般把它列入外部设备的范畴,外部设备包括输入设备、输出设备和外存储器;但从外存在整个计算机的功能看,它属于存储系统的一部分,称之为外存储器或辅助存储器。
2.1.3计算机的基本工作原理J020103
1.指令和程序
指令(Instruction)是能被计算机识别并执行的二进制代码,通常一条指令对应着一种基本操作。
计算机所能直接执行的全部指令,就是计算机的指令系统(InstructionSet)。
指令通常包括操作码和操作数两大部分,操作码表示计算机执行什么操作,操作数指明参加操作的数的本身或操作数所在的地址。
因为计算机只认识二进制数,所以计算机指令系统中的所有指令都必须以二进制编码的形式来表示。
以二进制编码表示的指令叫机器指令。
程序即解题步骤。
计算机的解题程序必须用计算机能识别的语言来描述,因此程序是指令的集合,用指令描述的解题步骤就叫程序。
2.计算机的工作原理
按照冯·诺依曼的存储程序思想,利用计算机解题首先要把指挥计算机如何进行操作的指令序列(即程序)和原始数据通过输入设备输送到计算机内存储器中,计算机运行时,依次从内存中取出一条条指令,控制器对指令进行分析判断,按照指令要求,发出不同的控制信号,在控制器的指挥下完成规定的操作,直到完成全部操作为止。
所以,计算机的工作原理可以概括为存储程序和程序控制。
讨论:
理解计算机的工作原理有着深刻的理论意义。
电子计算机是在程序的控制下进行自动工作的,所以用计算机解题首先要准备好程序,然后将程序装入内存并执行。
2.1.4计算机系统的软件组成J020104
一般来说,软件是计算机程序以及与程序有关的各种文档的总称。
按软件的功能来分,软件可分为系统软件和应用软件两大类。
系统软件又可分为操作系统、语言处理程序、数据库管理系统和支撑软件等。
1.系统软件
(1)操作系统。
操作系统(OperatingSystem,OS)是为了控制和管理计算机的各种资源,以充分发挥计算机系统的工作效率和方便用户使用计算机而配置的一种系统软件。
操作系统是直接运行在计算机上的最基本的系统软件,是系统软件的核心,任何计算机都必须配置操作系统。
操作系统是管理和控制计算机系统软件、硬件和系统资源的大型程序,是用户和计算机之间的接口。
操作系统的主要作用是提高系统资源的利用率,为用户提供方便友好的用户界面和软件开发与运行环境。
(2)语言处理程序。
程序设计语言是人们为了描述解题步骤(即编程序)而设计的一种具有语法语义描述的记号。
按其发展分为机器语言、汇编语言和高级语言。
机器语言是由机器指令构成的二进制代码语言,是唯一能被计算机直接识别并执行的语言。
由于不同机器有不同的指令系统,所以机器语言程序没有通用性,而且机器语言不直观,难懂易错。
后来,人们用助记符来表示机器语言,这就是汇编语言。
用汇编语言编写的程序不能被机器直接执行,必须将其翻译成机器语言程序后计算机才能执行。
对汇编语言程序进行翻译的程序叫做汇编程序。
用汇编语言编写程序,直观性有了改善,但它仍是面向具体机器的低级语言。
后来出现了同自然语言和数学语言比较接近的高级语言。
用高级语言编制的程序也不能直接在计算机上运行,必须将其翻译成机器语言程序才能为计算机所理解并执行,其翻译过程有编译和解释两种方式。
解释是对用高级语言编写的源程序逐句进行分析,边解释、边执行并立即得到运行结果。
解释过程由计算机执行解释程序自动完成,但不产生目标程序。
编译是将用高级语言编写的源程序通过编译程序整个翻译成目标程序(.obj),然后通过连接程序,把目标程序与库文件连接形成可执行文件(.exe),运行时只要键入可执行文件名即可。
高级语言直观、通用、编程方便,但程序的执行效率不及机器语言和汇编语言。
汇编程序、解释程序和编译程序是完成源程序翻译任务的语言处理程序,属于系统软件。
(3)数据库管理系统(DatabaseManagementSystem,DBMS)。
数据库(Databases,DB)是指长期保存在计算机的存储设备上、并按照某种模型组织起来的、可以被各种用户或应用共享的数据的集合。
数据库管理系统(DatabaseManagementSystem,DBMS)是指提供各种数据管理服务的计算机软件系统,这种服务包括数据对象定义、数据存储与备份、数据访问与更新、数据统计与分析、数据安全保护、数据库运行管理以及数据库建立和维护等。
由于企业信息化的目的就是要以现代信息技术为手段,对伴随着企业生产和经营过程而产生的数据进行收集、加工、管理和利用,以改善企业生产经营的整体效率,增强企业的竞争力。
所以,数据库是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。
(4)支撑软件。
支撑软件是用于支持软件开发、调试和维护的软件,可帮助程序员快速、准确、有效地进行软件研发、管理和评测。
如编辑程序、连接程序和调试程序等。
编辑程序为程序员提供了一个书写环境,用来建立、编辑修改源程序文件。
连接程序用来将若干个目标程序模块和相应高级语言的库程序连接在一起,产生可执行程序文件。
调试程序可以跟踪程序的执行,帮助发现程序中的错误,以便于修改。
2.应用软件
应用软件是为满足用户不同领域、不同问题的应用要求而开发的软件。
应用软件可以拓宽计算机系统的应用领域,扩大硬件的功能,又可以根据应用的不同领域和不同功能划分为若干子类,例如,财务软件、办公软件、计算机辅助设计(CAD)软件等。
需要指出的是,计算机软件发展非常迅速,新软件层出不穷,系统软件和应用软件的界线正在变得模糊。
一些具有通用价值的应用软件,可以纳入系统软件之中,作为一种资源提供给用户。
2.2数制转换及运算J0202
在计算机内部,数据的存储和处理都是采用二进制数,而不使用人们习惯的十进制数,主要原因是:
(1)二进制数在物理上最容易实现。
例如,可以只用高、低两个电平分别表示“1”和“0”,也可以用脉冲的有无或者脉冲的正负极性表示它们。
(2)二进制数的运算规则简单,这将使计算机的硬件结构大大简化。
(3)二进制数的两个数字符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。
但二进制数书写冗长、易错、难记,所以为书写方便,一般用十六进制数或八进制数作为二进制数的简化表示。
学习计算机,需要了解这几种常用进制数以及它们之间的相互转换方法,同时也需了解数据在计算机中的不同表示方法和运算方法。
2.2.1进位计数制J020201
按进位的原则进行计数的方法称为进位计数制。
在采用进位计数的数字系统中,如果用r个基本符号(例如0,1,2,…,r-1)表示数值,则称其为基r数制(Radix-rNumberSystem),r成为该数制的基数(Radix),而数制中每一数字位置上对应的固定值称为权值(WeightValue)。
对于不同的数制,它们的共同特点是:
(1)每一种数制都有固定的符号集。
例如,日常生活中常用的十进制数,就是r=10,即基本符号为0,1,2,…,9。
对于二进制数,r=2,有0和1两个符号。
(2)每一个数字符号在不同的位置上具有不同的值。
如938.25,3在小数点左边第2位上,它代表的数值是3×101,权值为101,2在小数点右边第1位上,它代表的数值是2×10-1,权值为10-1,依次类推,其按权展开式为:
(938.25)10=9×102+3×101+8×100+2×10-1+5×10-2
可以看出,各种进位计数制的权值等于基数的某次幂,因此,对于任何一种进位计数制表示的数都可以写出按其权展开的多项式之和。
任意一个r进制数N可表示为:
N=(dm-1dm-2…d1d0.d-1d-2…d-k)r
=dm-1×rm-1+dm-2×rm-2+…+d1×r1+d0×r0+d-1×r-1+d-2×r-2+…+d-k×r-k
=
其中di为该数制采用的基本数符,r是基数,ri是数位的权值,m为整数部分的位数,k为小数部分的位数。
不同的基数,表示不同的进制数。
例如,八进制数467.52的按权展开式为:
(467.52)8=4×82+6×81+7×80+5×8-1+2×8-2
“位”和“基数”是进位计数制中的两个要素。
在十进位计数制中,是根据“逢十进一”的原则进行计数的。
在二进位计数制中,是根据“逢二进一”的原则进行计数的。
一般地,在基数为r的进位计数制中,是根据“逢r进一”即“逢基数进一”的原则进行计数的。
在计算机内部采用二进制数,而人们习惯的是十进制数。
另外,为了更加简洁地表示二进制数,又引入了八进制和十六进制。
所以,计算机中常用的几种进位数制是二进制(BinarySystem)、十进制数(DecimalSystem)、八进制(OctalSystem)和十六进制(HexadecimalSystem)。
八进制数有0~7共8个数字符号,逢八进一。
十六进制数有0,1,…,9,A,B,C,D,E,F共16个数字符号,其中A~F分别表示10~15,逢十六进一。
表2.1总结了常用的几种进位数制的特点。
表2.1计算机中常用的几种进位数制
进位制
计算规则
基数
数符
权值
表示形式
十进制
逢十进一
r=10
0,1,…,9
10i
D
二进制
逢二进一
r=2
0,1
2i
B
八进制
逢八进一
r=8
0,1,…,7
8i
O或Q
十六进制
逢十六进一
r=16
0,1,…,9,A,…,F
16i
H
为书写方便,经常用下标来表示数的进制。
另外,通常以字母D来表示十进制,以B来表示二进制,以O或Q来表示八进制,以H来表示十六进制。
例如,十进制数938.25可以写成(938.25)10或938.25D,二进制数101101.01可以写成(101101.01)2或101101.01B。
2.2.2不同进位计数制间的转换J020202
1.任意r进制数转换为十进制数
将r进制数按权展开后,再求和,所得结果即为这个r进制数所对应的十进制数。
例如
(11011.101)2=1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=(27.625)10
(123)8=1×82+2×81+3×80=(83)10
(1AB.5)16=1×162+10×161+11×160+5×16-1=(427.3125)10
2.十进制数转换为任意r进制数
将十进制数转换成r进制数时,要将数的整数部分和小数部分分别进行转换,分别按除r取余数和乘r取整数两种不同的方法来完成。
以十进制数转换成二进制数为例,对整数部分,用2去除,取其余数为转换后的二进制整数数字,直到商为0结束,且注意先得到的余数为所求结果的低位;对小数部分,用2去乘,取乘积的整数部分为转换后的二进制小数数字,注意先得到的整数为二进制小数的高位。
同样道理,当将十进制数转换成八进制或十六进制形式时,整数部分用除以8或16取余数处理,小数部分则用乘以8或16取整来处理。
3.二进制数与八进制数、十六进制数的转换
一位八进制数可用3位二进制数表示,一位十六进制数可用4位二进制数表示,因此八进制、十六进制只是二进制的一种简化表示形式。
它们的关系如表2.2所示。
表2.2几种数制对照表
十进制数
二进制数
八进制数
十六进制数
0
0000
0
0
1
0001
1
1
2
0010
2
2
3
0011
3
3
4
0100
4
4
5
0101
5
5
6
0110
6
6
7
0111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F
(1)二进制转换为八进制或十六进制
在把二进制数转换成八进制或十六进制表示形式时,应从小数点分别向左和向右按每3位或每4位进行划分,若小数点左侧(即整数部分)的位数不足3或4位,则在高位补0,对小数点右侧(即小数部分),则应在低位补0来补足3位或4位。
划分后,3位或4位二进制数用1位八进制数或十六进制数来表示。
(2)八进制或十六进制转换为二进制
与上述相反,将八进制数或十六进制数转换成二进制表示形式时,则每位分别用3位或4位二进制来表示。
2.2.3二进制数的运算J020203
二进制数之间可执行算术与逻辑运算,其运算规则与十进制数类似,但因二进制数只有0和1两个数字符号,故比十进制数要简单得多。
1.二进制数的算术运算
(1)加法运算
二进制数的加法规则:
0+0=00+1=1+0=11+1=10(向高位产生进位)
(2)减法运算
二进制数的减法规则:
0-0=00-1=1(向高位借位1次)1-0=11-1=0
(3)乘法运算
二进制的乘法规则为:
0×0=00×1=01×0=01×1=1
(4)除法运算
二进制除法运算与十进制除法类似,也由减法、上商等操作逐步完成。
2.二进制数的逻辑运算
计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。
二值逻辑很容易用二进制的0和1来表示,一般用1表示真,用0表示假。
逻辑值的每一位表示一个逻辑值,逻辑运算是按对应位进行的,每位之间相互独立,不存在进位和借位关系,运算结果也是逻辑值。
(1)与运算
与运算又称逻辑乘,通常用∧或˙表示。
运算规则为按位进行“与”运算,若进行“与”操作的两位均为1,则结果为1;两位中有一位为0,则结果为0。
具体规则如下:
0∧0=00∧1=01∧0=01∧1=1
(2)或运算
或运算又称逻辑加,通常用∨或+表示。
运算规则是按位进行“或”运算,若进行“或”操作的两位中有一位为1,则结果为1;两位均为0,则结果为0。
具体规则如下:
0∨0=00∨1=11∨0=11∨1=1
(3)非运算
非运算实现对单个逻辑值的处理,也称为逻辑取反操作,通常用ˉ表示。
运算规则如下:
=0
=1
(4)异或运算
上述与、或、非运算是三种最基本的逻辑操作,用它们可组合出任何逻辑功能。
有时还要用到异或运算,通常用⊕表示。
其规则为按位进行异或运算,若进行异或操作的两位不相同时,则结果为1;两位相同时,则结果为0。
具体规则如下:
0⊕0=00⊕1=11⊕0=11⊕1=0
例如,(11010110)2⊕(10010011)2=(1000101)2。
2.3数据在计算机中的表示J0203
计算机中的数据包括数值型和非数值型两大类。
数值型数据指的是可以参加算术运算的数据,非数值型数据是不能参与算术运算的数据,如字符数据。
除了数值和字符以外,还包含大量的图形、图像、视频、动画和声音等多媒体数据。
勿容置疑,为了要使计算机能够处理这些多媒体数据,必须先将它们转换成二进制信息,具体方法将在多媒体部分介绍。
2.3.1数值数据的表示J020301
1.机器数和真值
在计算机中只能用数字化信息来表示数的正、负,人们规定用0表示正号,用1表示负号。
例如,在机器中用8位二进制表示+90,其格式为:
0
1
0
1
1
0
1
0
↑
符号位,0表示正
而用8位二进制表示-89,其格式为:
1
1
0
1
1
0
0
1
↑
符号位,1表示负
在计算机内部,数字和符号都用二进制码表示,两者合在一起构成数的机内表示形式,称为机器数,而它真正表示的数值称为这个机器数的真值。
2.定点数和浮点数
在计算机中,一般用若干个二进制位表示一个数或一条指令,把它们作为一个整体来处理、存储和传送。
这种作为一个整体来处理的二进制位串,称为计算机字。
表示数据的字称为数据字,表示指令的字称为指令字。
计算机是以字为单位进行处理、存储和传送的,所以运算器中的加法器、累加器以及其他一些寄存器,都选择与字长相同位数。
字长一定,则计算机数据字所能表示的数的范围也就确定了。
例如使用8位字长计算机,它可表示无符号整数的最大值是(11111111)2=(255)10。
运算时,若数值超出机器数所能表示的范围,就会停止运算和处理,这种现象称为溢出。
计算机中运算的数,有整数,也有小数,如何确定小数点的位置呢?
通常有两种约定:
一种是规定小数点的位置固定不变,这时的机器数称为定点数。
另一种是小数点的位置可以浮动,这时的机器数称为浮点数。
微型计算机多选用定点数。
(1)定点数
数的定点表示是指数据字中的小数点的位置是固定不变的。
小数点位置可以固定在符号位之后,这时,数据字就表示一个纯小数。
假定机器字长为2个字节,符号位占1位,数值部分占15位,故下面机器数等效的十进制数为:
-2-15。
1
000000000000001
↑·(小数点)↑
符号位数值部分
如果把小数点位置固定在数据字的最后,这时,数据字就表示一个整数。
假设机器字长为2个字节,符号位占1位,数值部分占15位,故下面机器数其等效的十进制数为+32767。
0
111111*********
↑↑·(小数点)
符号位数值部分
定点表示法所能表示的数值范围很有限,为了扩大定点数的表示范围,可以通过编程技术,采用多个字节来表示一个定点数,例如,采用4个字节或8个字节等。
(3)浮点数
浮点表示法就是小数点在数中的位置是浮动的。
在以数值计算为主要任务的计算机中,由于定点表示法所能表示的数的范围太窄,不能满足计算问题的需要,因此就要采用浮点表示法。
在同样字长的情况下,浮点表示法能表示的数的范围扩大了。
计算机中的浮点表示法包括两个部分:
一部分是阶码,表示指数,记作E;另一部分是尾数,表示有效数字,记作M。
采用浮点表示法,二进制数N可以表示为:
N=M×2E,其中2为基数,E为阶码,M为尾数。
浮点数在机器中的表示方法如下:
阶符
E
数符
M
·(小数点)
阶码部分尾数部分
由尾数部分隐含的小数点位置可知,尾数总是小于1的数字,它给出该浮点数的有效数字。
尾数部分的符号位确定该浮点数的正负。
阶码给出的总是整数,它确定小数点浮动的位数,若阶符为正,则向右移动;若阶符为负,则向左移动。
假设机器字长为4个字节,阶码占1个字节,尾数占3个字节:
阶符
E
数符
M
↑↑·(小数点)
1位7位1位23位
其中左边1位表示阶码的符号,符号位后的7位表示阶码的大小。
后24位中,有一位表示尾数的符号,其余23位表示尾数的大小。
浮点数表示法要求尾数中第1位数不为零,这样的浮点数称