1、2019/2/25,1,计算机应用基础 微型计算机原理与接口技术,它是为非计算机专业的学生开设的。 主要以8086/8088CPU为例,分析了微处理器的基本结构、指令系统、存储系统及输入输出接口电路。 还介绍了部分新型CPU技术、总线构成等。,2019/2/25,2,课程要求,总学时为50学时:教学42,试验8; 采用课堂教学、实验室试验、课后练习三结合的教学方法; 考试采用闭卷的方式。结业成绩主要依据考试成绩,结合试验报告和作业的完成情况进行综合评定; 参考书:计算机硬件基础杨庆源、沈长妹、刘子良编著;第1.4.5章。,2019/2/25,3,教学安排,2019/2/25,4,计算机基础知识
2、,微处理器:微型机的核心芯片,简称P或MP(micro processor),也称为中央处理单元CPU (central processing unit),它包括运算器和控制器。 二极管晶体管逻辑电路 小规模集成电路(small scale integration,SSI) 金属氧化物半导体(mental oxide semiconductor, MOS) 大规模集成电路(large scale integration,LSL),2019/2/25,5,微处理器,2019/2/25,6,2019/2/25,7,十进制 具有的数码符号为:0、1、28、9 基数为:10 其特点是:逢十进一 权:1
3、0 i 表示形式:D 二进制 具有的数码符号为: 0、1 基数为:2 其特点是:逢二进一 权:2 i 表示形式:B,常用的进位记数制,2019/2/25,8,八进制 具有的数码符号为: 0、1、27 基数为:8 其特点是:逢八进一 权:8 i 表示形式:O 十六进制 具有的数码符号为: 0、1、28、9、A、B、C、D、E、F 基数为:16 其特点是:逢十六进一 权:16 i 表示形式:H,2019/2/25,9, 1.2 计算机中的数制,二进制、八进制、十进制、十六进制,都是进位计数制:即按进位的原则进行记数的方法。 共同的特点: 都使用位置表示法两个要素:位权,基数 数制中每一固定位置对应
4、的单位值称为“位权” 例:(3436.12)10 =3*103+4*102 +3*101+6*100+1*10-1 +2*10-2,2019/2/25,10,对任何一种进位计数制表示的数都可以写出按其权展开的一个多项式,任意一个K进制数S可以表示为: (S)K=Sn-1Kn-1+Sn-2Kn-2+S1K1+S0K0+S-1K-1+S-mK-m= SiKi其中:Si是数码,K是基数,Ki是权;不同的基数,表示是不同的进制数。 例如:在十进制数中,678.34可表示为: (678.34)D61027101810031014102,2019/2/25,11,例1:(1101101.0101)B126
5、125024123122021120021122023124(109.3125)D例2:(12321.2)O184283382281180281409610241921610.25(5329.25)D例3:(3AF.2A)H31621016115160216110162(943.1640625)D,K进制数转换为十进制,2019/2/25,12,十进制数转换为K 进制数,将十进制数转换为K进制数:分两步:整数转换、小数转换 整数转换:采用除K取余法。 即将十进制整数不断除以K取余数,直到商为0,余数从右到左排列,首次取得的余数最右。 小数转换:采用乘K取整法。 将十进制小数不断乘以K取整数,直
6、到小数部分为0或达到所求的精度为止;所得的整数在小数点后自左往右排列,首次取得的整数最左。,2019/2/25,13,十进制数 转换成二进制数 1、整数转换:除2取余法。除2取余直到商是0或1为止,第一个余数是二进制数的最低位。 2、小数转换: 乘2取整法。乘2取整数直到小数部分为0或达到要求的精度为止,首次取得的整数最左。 3、整数和小数部分合并在一起。例如:将(112.25)D转换为二进制数;,整数部分:,56,余数,2,112,2,2,28,2,14,2,7,2,3,2,1,0,(112)D =(1110000)B,低,高,除二取余法,除2取余直到商是0或1为止;,第一个余数是二进制数的
7、最低位;,2019/2/25,15,小数部分:,0.25,2,0.5,取走整数,2,1.0,0,1,a-1,a-2,高,低,(0.25)D=(0.01)B,转换结果:(112.25)D (a6a5a4a3a2a1a0.a1a2)B(1110000.01)B,乘2取整数直到小数部分为0或达到要求的精度为止;,首次取得的整数最左;,乘2取整法,2019/2/25,16,十进制转换为八进制:除八取余法 十进制转换为十六进制:除十六取余法,2019/2/25,17,二进制、八进制、十六进制数间的相互转换,二进制、八进制和十六进制之间存在特殊关系: 823、1624 一位八进制数相当于三位二进制数; 一
8、位十六进制数相当于四位二进制数。 转换:110100110.101101B=? 2A8F.6DH=?,2019/2/25,18, 1.3 无符号二进制数的算术运算和逻辑运算,1.3.1 二进制的算术运算 加法运算:0+0=0,0+1=1,1+0=1,1+1=0减法运算:0-0=0, 0-1=1, 1-0=1, 1-1=0乘法运算:0x0=0,0x1=0,1x0=0,1x1=11100Bx1001B=?除法运算:转换为减法和右移位的运算,若乘数位为0,则中间结果加0; 若乘数位为1,则照抄被乘数,在相加时要将被乘数的最低位与相应的乘数位对齐;,2019/2/25,19,移位加,1100 +110
9、00001101100,乘法运算转换为加法和左移位的运算,除法运算转换为减法和右移位的运算,2019/2/25,20,1.3.1 无符号数的表示范围,一个n位的无符号二进制数X的表示范围:0X2n-1 如:一个8位的二进制数的表示范围:028-1 计算10110111B+01001101B=? 00000100183+77=260 溢出: 无符号二进制数的溢出判断:最高有效位Di的进位Ci,2019/2/25,21,1.3.3 二进制数的逻辑运算,逻辑运算是对二进制数按位进行操作,所以没有进借位; 基本逻辑运算包括与、或、非、异或四种运算;“与”运算 1 1=1,1 0=0,0 1=0,0 0
10、=0计算 10110110B 10010011B=?,2019/2/25,22,“或”运算:0 0=0,0 1=1,1 0=1,1 1=1 计算 11011001B 10010110B=? “非”运算:按位取反 计算 11011001B=? “异或”运算:相异为1,相同为0,0 0=0,1 1=0,0 1=1,1 0=1 计算 11010011B 10100110B=?,2019/2/25,23,1.3.4 基本逻辑门,组成计算机硬件的最小细胞为逻辑门电路; 定义:把输入和输出电路间,具有某种特定的逻辑关系的单元电路,称为逻辑门电路。 特点:具有多个输入端和一个输出端;只有单一逻辑功能;,20
11、19/2/25,24,与门(AND gate):对两个或多个逻辑变量实现与运算的门电路。有两个逻辑变量A和B的与门电路,其逻辑关系表达式为: Y=A B 含义:仅当A和B都是高电平时,输出Y才是高电 平;受低电平控制,只要将任意输入端接低电平时,该与门就被封锁,输出低电平;,A B,Y,国际符号,国标符号,2019/2/25,25,或门电路(OR gate)或门电路是实现或运算的门电路。有两个逻辑变量A和B的或门电路,其逻辑关系表达式为:Y=A B 特点:受高电平控制,只要将任意输入端接高电平时,该或门就被封锁,输出高电平。,+,2019/2/25,26,非门电路(NOT gate)非门电路是
12、实现非运算的电路,又称反相器。它只有一个输入端和一个输出端。,输入 输出A B0 11 0,2019/2/25,27,具有两种或两种以上逻辑功能的门电路为组合门电路。常用的有: 1.“与非”门电路 2.“或非”门电路 3.“与或非”门电路 4.“异或”门电路,组合逻辑门电路,2019/2/25,28,1.“与非”门电路,由“与”门电路和“非”门电路组合而成的电路。 逻辑规则是:只有当全部输入端均为逻辑1时,输出才为逻辑0,否则输出为逻辑1。 逻辑功能:Y=A B 逻辑符号: “与非”门真值表:,A B,Y,2019/2/25,29,2.“或非”门电路,由“或”门电路与“非”门电路组合而成的电路
13、。 逻辑规则是:当一个或多个输入端为逻辑1时,输出为逻辑0,只有当全部输入端均为逻辑0时,输出才为逻辑1。 逻辑功能:Y=A B 逻辑符号: “或非”门真值表:,A B,Y,2019/2/25,30,3.“与或非”门电路,由“与”门电路“或”门电路与“非”门电路组合而成的电路。 逻辑功能: 逻辑符号:计算机内大量使用“与非”门电路、 “与或非”门电路构成组合逻辑电路和时序逻辑电路,如译码器、触发器等。,2019/2/25,31,4.“异或”门电路,逻辑规则:输入相同时,输出为0,输入不同时, 输出为1; 逻辑功能:Y=A B 逻辑符号:,“异或”门电路是实现二进制加法的逻辑门电路,也叫半加器。
14、它是ALU部件的基本电路。,A B,Y,2019/2/25,32,数字逻辑电路,组合逻辑电路:是数字逻辑电路的一类,在组合逻辑电路中,任何时刻电路的稳定输出只与当时的输入有关,而与输入信号作用前的电路所处的状态无关。 常用的有编码器、译码器和采样器。 时序逻辑电路:是数字逻辑电路的另一类。主要有触发器、寄存器、计数器,他们通常被认为具有记忆功能的部件。,2019/2/25,33,编码及编码器:用二进制代码表示特定信号的过程称编码,实现编码的电路叫编码器。 编码器的约定:输入信号之间,每次只允许有一个输入信号有效。 译码及译码器:译码是编码的逆过程。它是把输入的代码变为一个控制信息或特定信号。实
15、现这种功能的电路,为译码器。 应用范围:指令代码进行译码、对存储器的地址进行译码等。它以 与非门为核心。,2019/2/25,34,38译码器符号,74LS138,A,B,C,G2a,G2b,G1,3-8 译 码 器,Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7,74LS138,G1 G2b G2a C B A,2019/2/25,35,38译码器,A,B,C,输出端,Y0,Y3,Y4,Y5,Y6,Y7,Y1,Y2,G1,G2A,G2B,2019/2/25,36,表38译码器真值表,100,100,100,100,100,100,100,100,G1 G2A G2B,111,101,110,
16、011,001,010,100,000,C B A,Y0Y1Y2Y3Y4Y5Y6Y7,0 1 1 1 1 1 1 1,1 0 1 1 1 1 1 1,1 1 0 1 1 1 1 1,1 1 1 0 1 1 1 1,1 1 1 1 0 1 1 1,1 1 1 1 1 0 1 1,1 1 1 1 1 1 0 1,1 1 1 1 1 1 1 0,2019/2/25,37,1.4 带符号二进制数的表示及运算:,机器数:把符号数值化了的数称为机器数。 机器数所表示的实际数值为机器数的真值。 以8位字长为例: +21,+10101B,00010101B -21, -10101B, 10010101B 以1
17、6位字长为例: +21,00000000 00010101B - 21,10000000 00010101B 带符号数的表示方法有三种:原码、反码、补码、它们都是由符号位和数值部分组成。,2019/2/25,38,原码,最高位为符号位,数值部分为原数的绝对值。真值X的原码记为X原 已知真值X=+42,Y=-42,求X原和Y原 X原 =00101010B Y原 =10101010B,优点:数的真值和原码表示之间的对应关系简单,相互 转化容易。用原码实现乘除运算规则简单。 缺点:数值0有两个编码值,+0和-0,不利于运算。 尤其是加减运算。00000000B= +0原10000000B =-0原,
18、2019/2/25,39,反码,正数的反码和原码相同;负数的反码是对其原码除符号位外的逐位求反。 真值X的反码记为X反 已知真值X=+42,Y=-42,求X反和Y反X反 = 00101010原 反 = 00101010BY反 = 10101010原 反 = 11010101B,缺点:数值0有两个编码值,+0和-0,不利于运算。 00000000B= +0反11111111B =-0反,2019/2/25,40,补码,正数的补码和原码相同,负数的补码是在其反码的基础上加1。 已知真值X=+0110100B,Y=-0110100B 求X补和Y补X补=00110100BY补= Y反 +1=11001
19、011B+1=11001100B 数值0的补码,如下:+0补= +0反= +0原=00000000B-0补= -0反+1=11111111B+1=00000000B 所以+0补= -0补=00000000B 数值0的补码是唯一的,11001011 + 1,2019/2/25,41,原码反码补码举例(以8位字长为例),2019/2/25,42,例1:设机器字长8位,分别写出37和37的补码,并用16 进制表示。 解: + 37= + 010 0101+37补=0 010 0101=25H37=010 0101 -37补=11 0110 11=DBH 例2:设机器字长为8位,试分别写出0.375和
20、0.6875的原码解: +0.375=0.25 + 0.125=2-2 + 2-3=0.011+0.375原=0.011 0000 0.6875=(0.5 + 0.125 + 0.0625)=0.1011 0.6875原=1.1011000,2019/2/25,43,例4: 设X19/128,字长8位(含符号位)求X原?X补? 解: X原0001 0011/1000 00000.0010011X补 0.001001127,2019/2/25,44,1.4.3 补码运算,在计算机中,二进制四则运算是补码运算,结果是补码。 补码运算的规则如下: X+Y补=X补+Y补 X-Y补=X补-Y补 X-Y补
21、=X补+-Y补 -Y补=对Y补的每一位包括符号位在内,按位取反并加一;,2019/2/25,45,补码如何转换成真值呢?,结果为正数,则不用转换; 结果为负数,则取补; 如:X= X补补,2019/2/25,46,例1,设X=+66,Y=+51,求X-Y补=? 根据X-Y补 =X补+-Y补 首先求X=+1000010B, X补=01000010Y=+51=+110011B,-Y补=11001101 所以X-Y补=01000010+ 1100 1 1011 00001 1 11B,在字长为8位的机器中,该进位自然丢失。,-Y=-51=-110011B,-Y补=11001101,2019/2/25
22、,47,例2,设X=+51,Y=+66,求X-Y补=? 根据X-Y补 =X补+-Y补 首先求X=+110011B, X补=00110011 Y=66=1000010B, -Y补=10111110 所以X-Y补= 00110011 + 1011 1 110 1 111 0001,2019/2/25,48,溢 出,8位带符号二进制数的取值范围: 原码 11111111B01111111B (-127+127) 反码 10000000B01111111B (-127+127) 补码 10000000B01111111B (-128+127) 当8位二进制数的运算结果超出以上范围时,就会产生溢出。 运
23、算结果超出计算机部件所容纳的数值范围,数值部分上扩充到符号位、改变了符号的性质、导致运算结果错误。 十六位数的取值范围:?32767,2019/2/25,49,例27,用二进制补码计算(-83)+(-80)=(?) 解: (-83)10=-1010011B, (-83)补=10101101 (-80)10=-1010000B,(-80)补=101100001010 1 10 1+ 101 1 0000,1 0101110 1=93,C6=0,C7=1; C7 C6=1,自然丢失,2019/2/25,50,如何判断溢出,如果次高位D6向最高位D7有进位C6 ,而最高位D7向前无进位C7 ,则结果
24、发生溢出; 反过来,如果次高位D6向最高位D7无进位C6 ,而最高位D7向前有进位C7 ,则结果也发生溢出; 利用CPU中状态标志寄存器中的溢出标志位OF来判断:OF=1,溢出;OF=0 无溢出。,Ci Ci-1=1,2019/2/25,51,小数点的处理,定点数表示: 小数点固定。 1、小数点固定于最低位的右边:定点整数。 2、小数点固定于数的左端:定点小数。,浮点数表示 阶码、尾数,它们都有各自的符号位。,阶符,阶码,数符,尾数,XX,XXXX,2019/2/25,52,例如:,N=10101 * 0.1011101的浮点形式表示如下:,0,101,0,1011101,阶符,阶码,数符,尾
25、数,2019/2/25,53,BCD码(二 十进制编码),例如: (387.24)D=(0011 1000 0111.0010 0100)BCD (0110 0011 1001.0101 0010) BCD =? 例如:1、将(0001 0001.0010 0101) BCD转换为二进制数。 2、将二进制数0001 0001转换为BCD码。,十进制数用二进制编码表示; 仍然是十进制; 4位二进制数表示一位十进制数;,压缩BCD码 非压缩BCD码,2019/2/25,54,美国信息交换标准码ASCII码,2019/2/25,55,美国信息交换标准码ASCII码,0-9:48-57,A-Z:65-90,a-z:97-122,ASCII码的十进制表示:,