《微机原理 第5版ppt课件.pptx》由会员分享,可在线阅读,更多相关《微机原理 第5版ppt课件.pptx(29页珍藏版)》请在三一办公上搜索。
1、,微型计算机原理与接口技术第5版周荷琴 冯焕清 编著中国科学技术大学出版社 出版,微型计算机原理与接口技术第5版第1章 绪 论,本章主要内容:1.1 计算机中数的表示方法1.2 计算机的基本结构1.3 微型计算机结构和系统1.4 微型计算机的发展概况,1.1 计算机中数的表示方法,1.1.1 进位计数制1.1.2 二进制编码1.1.3 带符号数的表示方法,1.1.1 进位计数制,用一组固定的数字符号和特定的规则来表示数的方法,称为进位计数制。 平时,人们习惯上使用10进制,也可用其它进制,如: 60进制(时/分/秒) 24进制(天/小时)计算机中,采用0和1来表示数字、字母、符号、图形等。 原
2、因:计算机是电子设备,只能识别电平高低、开关通断、晶体管导通和截止,即两种状态0和1 缺点:二进制太长,不便书写和记忆因此,计算机中也采用10进制和16进制表示数,但最终都要转换成二进制数输入计算机,才能使机器运行。,不同进制的数,10进制数(Decimal)10个数字09,基数为10,各位权值10i 实际值=按权展开再相加例如,10进制数 347 = 3102+4101+710010进制数的表示 可加后缀D,如347D、15D等,但后缀D通常省略不写。,二进制数(Binary),二进制数只包含0、1两个数字,基数为2,各位的权值为2i。二进制数必须加后缀B。例如,二进制数 10110B =
3、124 +023 +122 +121 +020 = 22,16进制数(Hexadecimal),由09、A、B、C、D、E、F共16个数字组成,数字AF分别表示10进制的1015。其基数为16,各位权值16i。16进制数必须加后缀H。例如, 3A0FH = 3163 +10162 +0161 +15160 = 34096 +10256 +0 +15 = 1486316进制数字都可用4位二进制数表示。例如, 0AH=1010B,0FH=1111B。见表2.1。16进制数的长度只有二进制数的1/4,两者转换方便。编写汇编语言程序(如表示存储器地址和数据)以及打印程序清单时,常用16进制数。,8进制
4、数(Octal),由07共8个数字组成,基数为8,各位权值为8i。8进制数必须加后缀O或Q。例如,753Q = 782 +581 +380 = 491每位8进制数由3位二进制数组成,容易转换。例如,627Q=110 010 111B在1970、1980年代的小型机上,常用8进制数编写汇编语言程序和打印程序清单。当代计算机采用16进制计数法,通常不再使用8进制数。,不同进制间的转换,结果:25 = 11001B,二进制或16进制转换成10进制 如前所述,只要将各位按权展开再相加即可。 10进制转换成二进制 用除2求余数的方法。例如:将25转换成二进制,二进制数转换成16进制数由表1.1知,每4位
5、2进制数可用一个16进制数来表示。为便于阅读,书写2进制数时,从最低位(LSB)开始,每4位用空格隔开,但数据输入计算机时,不能留空格。例如,1000 1010B = 8AH例如,1011 0100 1101 1001B = B4D9H,计算机中的信息单位,Bit(比特),简称位 二进制数的每1位(0或1),是计算机和数字系统中信息存储、处理和传送的最小单位。Byte(字节) 8位二进制信息组成的信息单位 1 byte = 8 bitWord(字) 包含16位二进制数,即两个字节。 一个16位的字D15D0 = 高字节D15D8 + 低字节D7D0,计算机中信息的单位,Word Length(
6、字长)它决定计算机一次可处理的二进制数据的位数。它取决于计算机的运算器、通用寄存器和数据总线的位数。根据字长将计算机分为8位机、16位机、32位机和64位机等机型。字长越长,计算机一次能传送和处理的数据就越多,运算速度越快,精度也越高,但制造工艺也越复杂。,1.1.1 进位计数制1.1.2 二进制编码1.1.3 带符号数的表示方法,1.1.2 二进制编码,计算机中,数都用二进制表示,因此各种数字、英文字母、运算符号等,都要用特定的二进制码的组合来表示,即二进制编码。最常用的编码有BCD码和ASCII码两种。,BCD(Binary Coded Decimal)码,二进制码的BCD数,4位二进制,
7、取00001111中的前10个码表示0 9,各位的权值是8、4、2、1,也称 8421 BCD码。BCD码表示的数也是逢10进1。BCD数与10进制数的转换 例1.2 用8421 BCD码表示10进制数327。 327 =(0011 0010 0111)BCD码 例1.3 求BCD码的10进制数。 (1001 0101 1000)BCD码 = 958,10进制、二进制、16进制、BCD码 的关系,见表1.1 BCD码既照顾了人们使用10进制数的习惯,又考虑了计算机的特点,确实很好。但运算后需要对结果进行调整。由于计算机中有专门的调整电路,只要执行相应的调整指令,就能自动进行处理。,ASCII码
8、 American Standard Code for Information Interchange,美国标准信息交换码用7位代码007FH表示计算机中存储的字母、数字及符号,共可表示128个字符。ASCII码表见附录B。键盘键入的数、字母、送到CRT显示的字符都必须用ASCII码表示。例如,数字09(ASCII码为30H39H),字母AZ(41H5AH)、小写az(61H 7AH )等。包含若干控制字符。例如,控制符,如CR回车、LF换行、BEL响铃;串行异步通信控制符,如STX文本开始、ETX文本结束、ENQ询问。,1.1.1 进位计数制1.1.2 二进制编码1.1.3 带符号数的表示方
9、法,1.1.3 带符号数的表示方法,符号表示最高位做符号位对于长度8位的数(D7D0),用D7位作符号位,D7=1表示负数,D7=0表示正数。 例1.4 0101 1101B = +93 1101 1101B = 93对于长度16位的数(D15D0),D15=1表示负数,D15=0表示正数。带符号位的数称为机器数, 它表示的实际数值称为机器数的真值。,原码、反码和补码,为运算方便,机器数可表示成:原码反码补码,原码,正数的符号位用0表示,负数符号位用1表示,其余位为数值,这种表示方法称为原码。例1.5 X=+105,X原=0110 1001B X=105,X原=1110 1001B原码简单易懂
10、,与真值换算很方便。若要进行两个异号数相加,或两个同号数相减的运算,就要做减法操作。一般的计算机中没有减法运算部件,减法运算也要用加法部件实现,因此要引进反码和补码。,反码,正数的反码与原码相同,最高位为符号位用0表示,其余位为数值。例1.6 +4反=0000 0100B +31反=0001 1111B +127反=0111 1111B (最大值)负数的反码为它的正数按位取反,即连符号位一同取反。例1.7 4反 = 1111 1011B 31反 = 1110 0000B 127反 = 1000 0000B (最小值)8位二进制数的反码范围为127+127。带符号数用反码表示时,最高位为符号位,
11、当它为正数时,后7位为真正的值,它为负数时,后7位要取反后才能得到真正的值。例1.8 X反=1001 0100B X真值=110 1011= 107,补码,正数的补码同原码,符号位为0,其余位为真值;负数的补码符号位为1,数值部分为其反码加1。例1.9 +4原=0000 0100 = +4反 = +4补4原=1000 0100B 4反=1111 1011B (正数按位取反) 4补=1111 1100B (反码+1)+127原=0111 1111B = +127反 = +127补 127原=1111 1111B 127反=1000 0000B 127补=1000 0001B128补=1000 0
12、000B,8位二进制数能表示的补码范围为128+12716位二进制数能表示的补码范围为32768+32767带符号数用补码表示时,最高位是符号位当符号位=0,表示正数,后7位为其真正的数;当符号位=1,表示负数,要将后7位的最低位减1,求得反码,再按位取反,才能得到真正的数(真数)。例1.10 若已知X补=1001 0100B,求X的反码和原码。 X反 = X补1 = 1001 0100B 1= 1001 0011B X原 = 1110 1100B 因此, X = 110 1100B = (64+32+8+4)10 = 108,补码,可将补码连同符号位看成一个数,各位的权都是2i。其最高位=0
13、时为正,=1时为负,其余为数值。例1.11 128补 = 1000 0000B = 128+0 最高位的权为 27=128同样,4补 = 1111 1100B =128 +(64+32+16+8+4) = 4 +4补 = 0000 0100B = 4,补码,补码可看成“带符号位的数”, 符号位也参加运算。要减去一个数,只要加上其补码。例1.12 要做减法719,可用7+19补来完成。7补 = 0000 0111B +19补 = 0001 0011B 19补 = 1110 1101B0000 0111B - 7补 +1110 1101B - 19补 1111 0100B = F4H- 和的补码和的补码 = F4H = 1111 0100B和的反码 = F3H = 1111 0011B和的原码 = 1000 1100B,其真值为-12可见,7 +(19)= 12,答案正确。,补码,实数的表示,前面内容涉及的都是整数。实数(带小数点的数)通常用浮点数表示。浮点数在第14章32位机指令系统和程序设计中介绍,包括对浮点数编程的方法。,
链接地址:https://www.31ppt.com/p-1827624.html