《《计算机导论》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《计算机导论》PPT课件.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 计算机导论计算机导论(2009)第第2章章 计算机基础知识计算机基础知识 2.1 计算机的运算基础计算机的运算基础2.2 命题逻辑与逻辑代数基础命题逻辑与逻辑代数基础2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理2.4 程序设计基础程序设计基础2.5 算法基础算法基础2.6 数据结构基础数据结构基础2.7 本章小结本章小结 计算机导论计算机导论(2009)基本要求:基本要求:v掌掌握握数数制制间间的的转转换换方方法法以以及及数数据据在在计计算算机机内内部部的的表示形式表示形式v理理解解逻逻辑辑代代数数、计计算算机机的的工工作作原原理理、程程序序设设计计以以及及算算法法与与数数据
2、据结结构构的的基基本本知知识识,为为学学习习本本书书的的以以下各章和后续课程打好基础下各章和后续课程打好基础 计算机导论计算机导论(2009)计算机中的数制计算机中的数制数值型数据的表示数值型数据的表示字符型数据的编码表示字符型数据的编码表示汉字的编码表示汉字的编码表示 2.1 计算机的运算基础计算机的运算基础 计算机导论计算机导论(2009)2.1.1 计算机中的数制计算机中的数制不同数制的表示不同数制的表示在计算机内部用二进制形式表示和存储数据。在计算机内部用二进制形式表示和存储数据。人们习惯于用十进制记数。人们习惯于用十进制记数。为了书写简单方便也使用八进制和十六进制。为了书写简单方便也
3、使用八进制和十六进制。用加后缀或角标的形式区别不同进制数据。用加后缀或角标的形式区别不同进制数据。B表示二进制数。表示二进制数。O或或Q 表示八进制数。表示八进制数。D表示十进制数(表示十进制数(D可省略)。可省略)。H表示十六进制数。表示十六进制数。计算机导论计算机导论(2009)2.1.1 计算机中的数制计算机中的数制二进制转换成其他进制二进制转换成其他进制二进制数转换成十进制数,按权展开相加即可。二进制数转换成十进制数,按权展开相加即可。二进制数转换成八进制数时,以小数点为界,分别向左二进制数转换成八进制数时,以小数点为界,分别向左向右分成向右分成3位一组,不够位一组,不够3位补位补0,
4、分完组后对应成八进制,分完组后对应成八进制数即可。数即可。二进制数转换成十六进制数时,以小数点为界,分别向二进制数转换成十六进制数时,以小数点为界,分别向左向右分成左向右分成4位一组,不够位一组,不够4位补位补0,分完组后对应成十六,分完组后对应成十六进制数即可。进制数即可。计算机导论计算机导论(2009)2.1.1 计算机中的数制计算机中的数制二进制转换成其他进制示例二进制转换成其他进制示例 (1011001.10111)2 =126+124+123+120+12-1+12-3+12-4+12-5 =64+16+8+1+0.5+0.125+0.0625+0.03125+0.015625 =(
5、99.734375)10 (1011001.10111)2 =(001 011 001 .101 110)2 =(131.56)8 (1011001.10111)2 =(0101 1001.1011 1000)2 =(59.B8)16 计算机导论计算机导论(2009)2.1.1 计算机中的数制计算机中的数制其他进制转换成二进制其他进制转换成二进制十进制数转换成二进制数,先把十进制数分解成若干个十进制数转换成二进制数,先把十进制数分解成若干个数相加数相加,每个数都是每个数都是2的若干次幂,然后对应成二进制数。的若干次幂,然后对应成二进制数。八进制数转换成二进制数时,每一个八进制位展开成八进制数转
6、换成二进制数时,每一个八进制位展开成3个个二进制位即可。二进制位即可。十六进制数转换成二进制数时,每一个十六进制位展开十六进制数转换成二进制数时,每一个十六进制位展开成成4个二进制位即可。个二进制位即可。计算机导论计算机导论(2009)2.1.1 数据表示数据表示其他进制转换成二进制示例其他进制转换成二进制示例 (98.75)10 =64+32+2+0.5+0.25 =(1100010.11)2 (276.15)8 =(010 111 110.001 101)2 =(10111110.001101)2 (3AC.1E)16 =(0011 1010 1100.0001 1110)2 =(1110
7、101100.0001111)2 计算机导论计算机导论(2009)2.1.2 数值型数据的表示数值型数据的表示无符号数据的表示无符号数据的表示按一定规则把无符号整数转换成二进制形式在计算机内按一定规则把无符号整数转换成二进制形式在计算机内部表示和存储。部表示和存储。带符号数据的表示带符号数据的表示带符号数中的正负号及小数中的小数点都以二进制形式带符号数中的正负号及小数中的小数点都以二进制形式表示。表示。需要考虑的因素需要考虑的因素机器数的范围机器数的范围。机器数的符号机器数的符号。机器数中小数点的位置机器数中小数点的位置。计算机导论计算机导论(2009)2.1.2 数值型数据的表示数值型数据的
8、表示机器数的范围机器数的范围机器数的表示范围由机器数的表示范围由CPU中的寄存器决定。中的寄存器决定。对于无符号数,对于无符号数,8位寄存器的表示范围是位寄存器的表示范围是0255,16位寄存器的表示范围是位寄存器的表示范围是065535。对于带符号数,对于带符号数,8位寄存器的表示范围是位寄存器的表示范围是-128+127,16位寄存器的表示范围是位寄存器的表示范围是-32768+32767。计算机导论计算机导论(2009)2.1.2 数值型数据的表示数值型数据的表示机器数的符号机器数的符号在计算机内部,任何数据(符号)都只能用二进制的两在计算机内部,任何数据(符号)都只能用二进制的两个数码
9、个数码0和和1来表示。来表示。带符号数的表示,除了用带符号数的表示,除了用0和和1的组合来表示数值的绝对的组合来表示数值的绝对值大小外,其正负号也必须用值大小外,其正负号也必须用0和和1来表示。来表示。最高位为符号位,并用最高位为符号位,并用0 表示正,用表示正,用1 表示负。表示负。有原码有原码/反码反码/补码等表示形式。补码等表示形式。计算机导论计算机导论(2009)2.1.2 数值型数据的表示数值型数据的表示机器数机器数示例示例无符号十进制数无符号十进制数57的机器数表示。的机器数表示。57的二进制形式为的二进制形式为111001。+57原原=00111001(正数的原码最高位为(正数的
10、原码最高位为0,数值位补足,数值位补足7位)位)-57原原=10111001(负数的原码最高位为(负数的原码最高位为1,数值位补足,数值位补足7位)位)+57反反=00111001(正数的反码与其原码相同)(正数的反码与其原码相同)-57反反=11000110(负数的反码,符号位不变,数值位为原码数值位取反)(负数的反码,符号位不变,数值位为原码数值位取反)+57补补=00111001(正数的补码与其原码相同)(正数的补码与其原码相同)-57补补=11000111(负数的补码在其反码的末尾加(负数的补码在其反码的末尾加1)计算机导论计算机导论(2009)2.1.2 数值型数据的表示数值型数据的
11、表示机器数中小数点的位置机器数中小数点的位置定点数(定点整数定点数(定点整数/定点小数)定点小数)浮点数浮点数0000000110000011hh数值部分符号位小数点位置11010000000000 00 hh数值部分符号位小数点位置 计算机导论计算机导论(2009)2.1.3 字符型数据的编码表示字符型数据的编码表示基本含义基本含义对于字符型数据,没有相应的转换规则可以使用。需要对于字符型数据,没有相应的转换规则可以使用。需要人们规定出每个字符对应的二进制编码形式。人们规定出每个字符对应的二进制编码形式。常用的字符型数据编码常用的字符型数据编码ASCII码码(美国标准信息交换码的简称)(美国
12、标准信息交换码的简称)使用一个字节表示一个使用一个字节表示一个ASCII码字符。码字符。主要用于小型机和微型机。主要用于小型机和微型机。EBCDIC码码(扩展(扩展BCD码)码)BCD 码又称码又称二二十进制编码十进制编码,用二进制编码形式表示十进制数。,用二进制编码形式表示十进制数。在在BCD码的基础上,又增加了一些符号和英文字母的表示。码的基础上,又增加了一些符号和英文字母的表示。主要用于超级计算机和大型计算机。主要用于超级计算机和大型计算机。计算机导论计算机导论(2009)BCDBCD码与码与ASCIIASCII码码vBCDBCD码码:是是一一种种二二十十进进制制的的编编码码,使使用用四
13、四位位二二进进制制数数表表示示一位十进制数。一位十进制数。v十十进进制制数数与与BCDBCD码码之之间间的的转转换换:可可按按位位(或或四四位位二二进进制制数数组组)直接进行。直接进行。vASCII(AmericanASCII(American Standards Standards Committee Committee of of IformationIformation)码码:是是由由美美国国信信息息交交换换标标准准委委员员会会制制定定的的、国国际际上上使使用用最最广广泛泛的的字符编码方案。字符编码方案。vASCIIASCII码码的的编编码码方方案案:采采用用7 7位位二二进进制制数数表
14、表示示一一个个字字符符,把把7 7位位二二进进制制数数分分为为高高三三位位(b b7 7b b6 6b b5 5)和和低低四四位位 (b b4 4b b3 3b b2 2b b1 1)v7 7位位ASCIIASCII编编码码表表:如如表表2-52-5所所示示,利利用用该该表表可可以以查查找找数数字字、运运算算符符、标标点点符符号号以以及及控控制制符符等等字字符符与与ASCIIASCII码码之之间间的的对对应应关系。关系。计算机导论计算机导论(2009)数据校验码数据校验码v奇奇偶偶校校验验码码:在在表表示示数数据据的的N N位位代代码码中中增增加加一一位位奇奇偶偶校校验验位位,使使N N1 1
15、位位中中“1”1”的的个个数数为为奇奇数(奇校验)或偶数(偶校验)。数(奇校验)或偶数(偶校验)。v海海明明校校验验码码:在在有有效效信信息息代代码码中中增增加加校校验验位位,用用来来校校验验代代码码中中“1”1”的的个个数数是是奇奇数数(奇奇校校验验)还还是是偶偶数数(偶偶校校验验),通通过过奇奇偶偶校校验验可可以以发发现代码传输过程中的错误并现代码传输过程中的错误并自动校正自动校正。v应应用用:用用于于计计算算机机各各部部件件之之间间信信息息传传输输以以及及计算机网络的信息传输。计算机网络的信息传输。计算机导论计算机导论(2009)2.1.4 汉汉字的字的编码编码表示表示与汉字处理有关的几
16、种编码与汉字处理有关的几种编码汉字输入码汉字输入码数字码:国标区位码。数字码:国标区位码。拼音码:全拼输入法拼音码:全拼输入法/紫光输入法紫光输入法/智能智能ABC输入法。输入法。字形码:五笔字型编码。字形码:五笔字型编码。汉字机内码(一个汉字占用汉字机内码(一个汉字占用2个字节,最高位置个字节,最高位置1)。)。计算机内部使用的汉字代码。计算机内部使用的汉字代码。汉字交换码:在不同信息处理系统之间进行信息交汉字交换码:在不同信息处理系统之间进行信息交换。换。国标码。国标码。BIG5码。码。汉字字形码汉字字形码 (用于显示和打印)(用于显示和打印)计算机导论计算机导论(2009)2.2 逻辑代
17、数基础逻辑代数基础命题命题命题公式命题公式命题公式的等价律命题公式的等价律逻辑函数的化简逻辑函数的化简 计算机导论计算机导论(2009)命题逻辑基础命题逻辑基础v命题:有具体意义且能够判断真假的陈述句。命题:有具体意义且能够判断真假的陈述句。v命命题题的的真真值值:命命题题所所具具有有的的值值“真真”(true(true,简简记记为为T)T)或或“假假”(false,false,简记为简记为F F)称为其真值。)称为其真值。v命命题题标标识识符符:表表示示命命题题的的符符号号,该该标标识识符符称称为为命命题题常量。常量。v原子命题:不能分解为更为简单的陈述句的命题;原子命题:不能分解为更为简单
18、的陈述句的命题;v复复合合命命题题:将将原原子子命命题题用用连连接接词词和和标标点点符符号号复复合合而而成的命题。成的命题。2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)连接词连接词“与与”()“与与”():两个命题两个命题A和和B的的“与与”(又称为又称为A和和B的的“合取合取”)是一个复合命题,记为是一个复合命题,记为AB。当且仅当。当且仅当A和和B同时为真时同时为真时AB为真,在其他的情况下为真,在其他的情况下AB的真值均为假。的真值均为假。AB的真值表的真值表:A A B B ABAB T T T T T T T T F F F F F F T T F F F F
19、F F F F2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)连接词连接词“或或”()v“或或”():两两个个命命题题A A和和B B的的“或或”(又又称称为为A A和和B B的的“析析取取”)是是一一个个复复合合命命题题,记记为为ABAB。当当且且仅仅当当A A和和B B同同时时为为假假时时ABAB为为假假,在在其其他他的的情情况况下下ABAB的真值均为真。的真值均为真。vABAB的真值表:的真值表:A A B B ABAB T T T T T T T T F F T T F F T T T T F F F F F F2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(
20、2009)连接词连接词“非非”()v“非非”():命命题题A A的的“非非”(又又称称为为A A的的“否否定定”)是是一一个个复复合合命命题题,记记为为 A A。若若A A为为真真,则则A A为假;若为假;若A A为假,则为假,则A A为真。为真。vA A的真值表:的真值表:A AA AT TF FF FT T2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)连接词连接词“异或异或”()“异异或或”():两两个个命命题题的的A和和B的的“异异或或”(又又称称为为A和和B的的“不不可可兼兼或或”)是是一一个个复复合合命命题题,记记为为A B。当当且且仅仅当当A和和B同同时时为为真
21、真或或者者同同时时为为假假时时A B为假,在其他的情况下为假,在其他的情况下A B的真值为真。的真值为真。vA B的真值表:的真值表:A A B B ABAB T T T T F F T T F F T T F F T T T T F F F F F F2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)连接词连接词“条件条件”()v“条条件件”():两两个个命命题题的的A A和和B B的的“条条件件”是是一一个个复复合合命题,记为命题,记为AB,AB,读读作作“如如果果A A,则则B”B”。当当且且仅仅当当A A的的真真值值为为真真,B B的的真真值值为为假假时时,ABAB为为
22、假假,在在其其他他的的情情况况下下ABAB的的真真值值均均为为真。真。vABAB的真值表:的真值表:A A B B A BA B T T T T T T T T F F F F F F T T T T F F F F T T2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)连接词连接词“双条件双条件”()“双条件双条件”():():两个命题的两个命题的A A和和B B的的“双条件双条件”(又称为(又称为A A当且仅当当且仅当B B)是一个复合命题,记为)是一个复合命题,记为A BA B,读作,读作“A A当且当且仅当仅当B”B”。当且仅当当且仅当A A的真值与的真值与B B的真
23、值相同时,的真值相同时,A BA B为为真,否则真,否则A BA B的真值均为假。的真值均为假。vA BA B的真值表:的真值表:A A B B A BA B T T T T T T T T F F F F F F T T T T F F F F T T2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)命题公式命题公式v命命题题公公式式:由由命命题题变变元元、连连接接词词和和括括号号组组成成的的合合式式的的式式子子称为命题公式。称为命题公式。v命命题题公公式式等等价价:如如果果两两个个不不同同的的命命题题公公式式P P和和Q Q,无无论论其其命命题题变变元元取取什什么么值值它它
24、们们的的真真值值都都相相同同,则则称称该该两两个个命命题题公公式式等等价价,记为记为P PQ Q。v例例2-252-25证明证明 (ABAB)与)与ABAB是等价的。是等价的。A AB B(ABAB)ABABT TT T F F F F T T F F T TT T F F T T F F F F F F F F F F F F 2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)命题公式的等价律命题公式的等价律其中其中A A、B B、C C等为命题变元,等为命题变元,T T表示表示“真真”,F F表示表示“假假”v零律:零律:AFAFA Av AF AFF Fv幺律:幺律:AT
25、ATT Tv A T A TA A v幂等律:幂等律:AAAAA Av A A A AA Av求补律:求补律:AAAAT Tv AA AAF Fv交换律:交换律:ABABBABAv AB ABBABA2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)命题公式的等价律(续)命题公式的等价律(续)v结合律:结合律:AA(BCBC)()(ABAB)C Cv A A(BCBC)()(ABAB)C Cv分配律:分配律:AA(BCBC)ABACABACv ABC ABC(ABAB)(ACAC)v吸收律:吸收律:ABABABABA A (ABAB)(ABAB)A Av狄摩根定律:狄摩根定律:
26、(ABAB)ABAB (ABAB)ABABv双重否定律:双重否定律:A AA A2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)证明狄摩根定律证明狄摩根定律例例2-262-26证证明明狄狄摩摩根根定定律律之之一一:(ABAB)ABAB。A AB ABAB(ABAB)A AB BABABT TT TT TF FF FF FF FT TF FF FT TF FT T T TF FT TF FT T T TF FT TF FF FF FT TT TT TT T2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)逻辑代数的等价律逻辑代数的等价律v零律:零律:A A0 0
27、A A A 0 A 00 0v幺律:幺律:A A1 11 1 A 1 A 1A A v幂等律:幂等律:A AA AA A A A A AA Av求补律:求补律:A A 1 1 A A 0 0 2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)逻辑代数的等价律(续)逻辑代数的等价律(续)B BB BB BB B(A+B)(A+B)A (A B)(A B)v交换律:交换律:A AB BB BA Av A B A BB AB Av结合律:结合律:A A(B BC C)()(A AB B)C Cv A A(B CB C)()(A BA B)C Cv分配律:分配律:A A(B BC C)
28、A BA BA CA Cv A AB CB C(A AB B)()(A AC C)v吸收律:吸收律:A BA BA A A Av (A AB B)()(A A )A Av狄摩根定律:狄摩根定律:v v双重否定律:双重否定律:A A A2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)逻辑函数的化简逻辑函数的化简例例2-272-27试将逻辑函数试将逻辑函数F FA A B B化简。化简。解:解:F FA A B B(A A )(A(AB)B)(分配律)(分配律)1(A1(AB)B)(求补律)(求补律)A AB B (幺律)(幺律)例例2-282-28试将逻辑函数试将逻辑函数F F
29、ABABA A B B 化简。化简。解:解:F F ABABA A B B A A(B B )(B B )(分配律)(分配律)A A (求补律)(求补律)1 1 (求补律)(求补律)BBBB (A B)(A B)(A B)(A B)2.2 逻辑代数基础逻辑代数基础 计算机导论计算机导论(2009)2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 辅助存储器辅助存储器内存储器内存储器运运 算算 器器 控制控制 器器输入设备输入设备输出设备输出设备 程序程序原始数据原始数据 运算运算 结果结果控制信息控制信息数据数据 计算机导论计算机导论(2009)运算器运算器v运运算算器器:对对二二
30、进进制制数数进进行行运运算算的的部部件件。它它在在控控制制器器的的控控制制下下执执行行程程序序中中的的指指令令,完完成成各各种种算算术术运运算算、逻逻辑辑运运算算、比比较较运运算算、移位运算移位运算以及字符运算等。以及字符运算等。v运运算算器器的的组组成成:算算术术逻逻辑辑部部件件(ALUALU)完完成成加加、减减、乘乘、除除等等四四则则运运算算以以及及与与、或或、非非、移移位位等等逻逻辑辑运运算算;寄寄存存器器用用来来暂暂存存参参加加运运算算的的操操作作数数或或中中间间结结果果,常常用用的的寄寄存存器器有有累累加加寄寄存器存器、暂存寄存器暂存寄存器、标志寄存器和通用寄存器标志寄存器和通用寄存
31、器等。等。v运运算算器器的的主主要要技技术术指指标标:运运算算速速度度,其其单单位位是是MIPSMIPS(百百万万指指令令/秒),通常是按照一定的频度执行各类指令的统计值。秒),通常是按照一定的频度执行各类指令的统计值。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)存储器存储器v存储器:存储器:用来存储数据和程序的部件。用来存储数据和程序的部件。v存存储储单单位位:“位位”(bitbit)、“字字节节”(bytebyte)、“字字”和和“字长字长”v存储容量:存储容量:存储器所包含的存储单元的总数,其单位为存储器所包含的存储单元的总数,其单位为K
32、 Kv (1K1K2 2101010241024)。)。v存储器的分类:存储器的分类:内内存存储储器器:又又称称为为主主存存储储器器,简简称称为为内内存存或或主主存存,用用来来存存放放现现行行程程序序的的指指令令和和数数据据。包包括括随随机机存存取取存储器(存储器(RAMRAM)和只读存储器()和只读存储器(ROMROM)等。)等。外外存存储储器器:又又称称为为辅辅助助存存储储器器,简简称称为为外外存存或或辅辅存,用来存放需要长期保存的信息。存,用来存放需要长期保存的信息。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)控制器控制器v控控制制器器:
33、是是指指挥挥计计算算机机的的各各个个部部件件按按照照指指令令的的功功能能要要求求协协调调工作的部件。工作的部件。v控制器的组成:控制器的组成:程程序序计计数数器器(PCPC):用用来来对对程程序序中中的的指指令令进进行行计计数数,使使控制器能依次读取指令;控制器能依次读取指令;指指令令寄寄存存器器(IRIR):在在指指令令执执行行期期间间暂暂时时保保存存正正在在执执行行的指令。的指令。指指令令译译码码器器(IDID):用用来来识识别别指指令令的的功功能能,分分析析指指令令的的操作要求。操作要求。时时序序控控制制电电路路:用用来来生生成成时时序序信信号号,以以协协调调在在指指令令执执行行周期内各
34、部件的工作。周期内各部件的工作。微操作控制电路:微操作控制电路:用来产生各种控制操作命令。用来产生各种控制操作命令。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)输入输入/输出设备输出设备v输输入入/输输出出设设备备:简简称称为为I/OI/O设设备备,是是外外部部与与计计算算机机交交换换信信息息的渠道。的渠道。v输输入入设设备备:用用于于输输入入程程序序、数数据据、操操作作命命令令、图图形形、图图像像以以及及声声音音等等信信息息。常常用用的的输输入入设设备备有有键键盘盘、鼠鼠标标器器、扫扫描描仪仪、光笔、数字化仪以及语音输入装置等。光笔、数字化仪
35、以及语音输入装置等。v输输出出设设备备:用用于于显显示示或或打打印印程程序序、运运算算结结果果、文文字字、图图形形、图图像像等等,也也可可以以播播放放声声音音。常常用用的的输输出出设设备备有有显显示示器器、打打印印机、机、XYXY绘图仪以及声音播放装置等。绘图仪以及声音播放装置等。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)计算机的指令系统计算机的指令系统v指指令令:能能被被计计算算机机识识别别并并执执行行的的二二进进制制代代码码,它它规规定定了了计计算算机能完成的某一种操作。机能完成的某一种操作。v指令系统:指令系统:一台计算机能执行的所有指
36、令的集合。一台计算机能执行的所有指令的集合。v指指令令的的格格式式:一一条条指指令令由由操操作作码码和和地地址址码码组组成成。操操作作码码规规定定了了该该指指令令进进行行的的操操作作种种类类;地地址址码码给给出出了了操操作作数数、结结果果以以及及下一条指令的地址。下一条指令的地址。v指令的分类:指令的分类:数据传送型指令数据传送型指令数据处理型指令数据处理型指令输入输出型指令输入输出型指令硬件控制指令硬件控制指令2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)计算机的工作原理计算机的工作原理见教材见教材5252页页 图图2-6 2-6 指令的执行过
37、程指令的执行过程2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)指令的执行过程指令的执行过程v取取指指令令:即即按按照照指指令令计计数数器器中中的的地地址址,从从内内存存储储器器中取出指令,并送往指令寄存器中。中取出指令,并送往指令寄存器中。v分分析析指指令令:即即对对指指令令寄寄存存器器中中存存放放的的指指令令进进行行分分析析,由由操操作作码码确确定定执执行行什什么么操操作作,由由地地址址码码确确定定操操作作数数的地址。的地址。v执执行行指指令令:即即根根据据分分析析的的结结果果,由由控控制制器器发发出出完完成成该该操操作作所所需需要要的的一一系
38、系列列控控制制信信息息,去去完完成成该该指指令令所所要求的操作。要求的操作。v上上述述步步骤骤完完成成后后,指指令令计计数数器器加加1 1,为为执执行行下下一一条条指指令令做做好好准准备备。如如果果遇遇到到转转移移指指令令,则则将将转转移移地地址址送送入指令计数器。入指令计数器。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)计算机组织与系统结构领域的一些主要技术计算机组织与系统结构领域的一些主要技术v1 1 精简指令集技术精简指令集技术v 在在指指令令系系统统中中仅仅包包含含(1 1)使使用用频频率率高高的的指指令令;(2 2)支持操作系统和高级
39、语言的程序设计的指令。)支持操作系统和高级语言的程序设计的指令。v精简指令计算机(精简指令计算机(reduced instruction set computer,RISC)v复杂指令计算机(复杂指令计算机(complex instruction set computer,CISC)v2 2 高速缓冲存储技术高速缓冲存储技术(cache)(cache)v 为为使使慢慢速速的的RAM与与快快速速的的CPU相相匹匹配配,采采用用cachecache技术。技术。v 方方法法:将将CPU从从RAM某某一一地地址址读读取取数数据据,自自动动将将该地址相近的整批数据读入该地址相近的整批数据读入cachec
40、ache中。中。2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)v3 3 虚拟存储技术虚拟存储技术v 利利用用硬硬盘盘的的支支持持以以小小的的物物理理内内存存模模拟拟大大的的内内存存,从从而而程程序能够使用整个内存地址空间的技术。序能够使用整个内存地址空间的技术。v4 4 指令流水线技术指令流水线技术v CPUCPU可可以以在在完完成成一一条条指指令令之之前前将将开开始始执执行行另另外外一一条条指指令令,以加快计算机的处理速度。以加快计算机的处理速度。v5 5 并行处理技术并行处理技术v 把把一一个个程程序序划划分分为为多多个个能能够够并并行行地地
41、有有单单独独处处理理器器执执行行的的进进程程,多多个个处处理理机机协协同同地地并并行行工工作作,达达到到甚甚至至超超过过了了巨巨型型机机的的高性能。高性能。v 并行计算机系统有:并行计算机系统有:v SISD(单指令流但数据流)、(单指令流但数据流)、SIMD、MISD、MIMD2.3 计算机的基本结构与工作原理计算机的基本结构与工作原理 计算机导论计算机导论(2009)机器语言机器语言汇编语言汇编语言高级语言高级语言结构化程序设计语言结构化程序设计语言 面向对象程序设计语言面向对象程序设计语言可视化程序设计语言可视化程序设计语言 人工智能程序设计语言人工智能程序设计语言学习语言是设计程序的基
42、础2.4 程序设计基础程序设计基础 计算机导论计算机导论(2009)2.4.1 机器语言机器语言机器语言的特点机器语言的特点 由二进制编码指令构成的语言。由二进制编码指令构成的语言。是一种依附于机器硬件的语言。是一种依附于机器硬件的语言。机器语言程序可以直接执行。机器语言程序可以直接执行。机器语言程序片段机器语言程序片段0001 0101 01101100 /把地址为把地址为01101100的内存单元中的数装入的内存单元中的数装入0101号号寄存器寄存器0001 0110 01101101 /把地址为把地址为01101101的内存单元中的数装入的内存单元中的数装入0110号号寄存器寄存器010
43、1 0000 01010110 /把把01101100和和01101101中的数相加中的数相加,结果存入结果存入0000号寄存器号寄存器0011 0000 01101110 /把把0000号寄存器中的数存入地址为号寄存器中的数存入地址为01101110的内的内存单元中存单元中 计算机导论计算机导论(2009)2.4.2 汇编语言汇编语言汇编语言的特点汇编语言的特点 由助记符指令构成的语言。由助记符指令构成的语言。也是一种依附于机器硬件的语言。也是一种依附于机器硬件的语言。汇编语言源程序需要汇编后才能执行。汇编语言源程序需要汇编后才能执行。汇编语言程序片段汇编语言程序片段 MOV R5,X /把
44、内存单元把内存单元X中的数装入中的数装入R5寄存器寄存器 ADD R5,Y /把把R5中的数与中的数与Y单元中的数相加,结果存入单元中的数相加,结果存入R5 MOV Z,R5 /把把R5中的数存入中的数存入Z单元中单元中 计算机导论计算机导论(2009)2.4.3 高级语言高级语言高级语言的特点高级语言的特点 由自然语言和数学公式表示的语言。由自然语言和数学公式表示的语言。是一种独立于机器硬件的语言。是一种独立于机器硬件的语言。高级语言程序需要编译后才能执行。高级语言程序需要编译后才能执行。高级语言程序片段高级语言程序片段 Z=X+Y /把内存单元把内存单元X中的数与中的数与Y中的数相加,结果
45、存入中的数相加,结果存入Z单元单元 计算机导论计算机导论(2009)2.4.3 高级语言高级语言常用高级语言常用高级语言 FORTRAN语言语言FORTRAN是是FORmula TRANslator(公式翻译器)的缩写。(公式翻译器)的缩写。主要用于复杂的科学计算领域。主要用于复杂的科学计算领域。ALGOL语言语言ALGOL是是ALGOrithm Language(算法语言)的缩写。(算法语言)的缩写。主要用于数学与科学计算。主要用于数学与科学计算。计算机导论计算机导论(2009)2.4.3 高级语言高级语言常用高级语言常用高级语言 COBOL语言语言 COBOL是是COmmon Busine
46、ss-Oriented Language(面向商业的通(面向商业的通用语言)的缩写。用语言)的缩写。主要用于企业管理和事务处理。主要用于企业管理和事务处理。BASIC语言语言 BASIC是是Beginners All-purpose Symbolic Instruction Code(初(初学者通用符号指令码)的缩写。学者通用符号指令码)的缩写。主要用于初学者和较小规模的程序开发。主要用于初学者和较小规模的程序开发。计算机导论计算机导论(2009)2.4.4 结构化程序设计语言结构化程序设计语言早期程序设计方法的不足早期程序设计方法的不足注重功能的实现注重功能的实现/注重内存的节省注重内存的节
47、省/注重执行效率的提高。注重执行效率的提高。不注重程序结构的清晰性。不注重程序结构的清晰性。不注重程序的可理解性和可修改性。不注重程序的可理解性和可修改性。结构化程序设计语言的特点结构化程序设计语言的特点 注重程序结构的清晰性。注重程序结构的清晰性。注重程序的可理解性和可修改性。注重程序的可理解性和可修改性。采用模块化程序设计方法。采用模块化程序设计方法。计算机导论计算机导论(2009)结构化程序设计结构化程序设计结构化程序设计:采用自顶向下逐步求精的结构化程序设计:采用自顶向下逐步求精的设计方法和单入口单出口的控制成分(顺序、设计方法和单入口单出口的控制成分(顺序、分支和循环)。分支和循环)
48、。T FT FT TF F条条件件A AA AB B(a a)顺序结构)顺序结构 (b b)选择型分支结构)选择型分支结构 (c c)循环结构)循环结构A AB B条条件件2.4.4 结构化程序设计语言结构化程序设计语言 计算机导论计算机导论(2009)良好的程序设计风格良好的程序设计风格标识符:按意命名、保留字用大写字母、使用统一标识符:按意命名、保留字用大写字母、使用统一的缩写规则。的缩写规则。表达式:使用括号、使用库函数、条件化简、函数表达式:使用括号、使用库函数、条件化简、函数与过程与过程模块化:模块的独立性(高内聚、低耦合)、模块模块化:模块的独立性(高内聚、低耦合)、模块的规模适中
49、。的规模适中。程序行的排列格式:排列格式美观、层次分明、使程序行的排列格式:排列格式美观、层次分明、使用统一的缩进格式,同一嵌套深度并列的语句对齐。用统一的缩进格式,同一嵌套深度并列的语句对齐。注释:添加必要的注释,以说明程序、过程和语句注释:添加必要的注释,以说明程序、过程和语句等的功能及注意事项。等的功能及注意事项。2.4.4 结构化程序设计语言结构化程序设计语言 计算机导论计算机导论(2009)2.4.4 结构化程序设计语言结构化程序设计语言常用结构化程序设计语言常用结构化程序设计语言 PASCAL语言语言 是在是在ALGOL语言的基础上发展起来的。语言的基础上发展起来的。以法国著名科学
50、家帕斯卡的名字命名。以法国著名科学家帕斯卡的名字命名。严格的语法格式与结构化形式。严格的语法格式与结构化形式。C语言语言 是在是在ALGOL60语言的基础上发展起来的。语言的基础上发展起来的。兼具低级语言和高级语言的特点。兼具低级语言和高级语言的特点。是最为流行的程序设计语言之一。是最为流行的程序设计语言之一。计算机导论计算机导论(2009)2.4.5 面向对象程序设计语言面向对象程序设计语言结构化程序设计方法的不足结构化程序设计方法的不足 面向过程的设计方法与人们习惯的思维方式仍然存在一面向过程的设计方法与人们习惯的思维方式仍然存在一定的距离,所以很难自然、准确地反映真实世界,因而定的距离,