原理.PPT

上传人:本田雅阁 文档编号:3265053 上传时间:2019-08-07 格式:PPT 页数:74 大小:683.04KB
返回 下载 相关 举报
原理.PPT_第1页
第1页 / 共74页
原理.PPT_第2页
第2页 / 共74页
原理.PPT_第3页
第3页 / 共74页
原理.PPT_第4页
第4页 / 共74页
原理.PPT_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《原理.PPT》由会员分享,可在线阅读,更多相关《原理.PPT(74页珍藏版)》请在三一文库上搜索。

1、1,微机原理与接口技术,吉林大学计算机教学与研究中心,计算机应用基础A,2,课程目标 微机原理是学习和掌握微机硬件知识和汇编语言程序设计的入门课程: 微型计算机的基本工作原理 汇编语言程序设计 微型计算机接口技术 建立微型计算机系统的整体概念,形成微机系统软硬件开发的初步能力。,3,教学大纲 第一章 基础知识 4学时 第二章 微型计算机基础 8学时 第三章 指令系统 6学时 第四章 汇编语言程序设计 6学时 第五章 存储器系统 5学时 第六章 I/O接口与中断技术 5学时 第七章 常用数字接口 6学时 第八章 模拟量的输入输出 2学时,4,主要参考书 计算机硬件基础杨庆源、沈长妹、刘子良编著;

2、1.4.5,考核方式 考勤 10% 实验 10% 期末考试 80%,5,第1章 基础知识,主要内容: 各种常用记数制和编码以及它们相互间的转换; 无符号数的算术运算和逻辑运算; 带符号数的表示及运算; 带符号数运算中的溢出问题,6,1.1 概 述,世界上第一台现代意义的电子计算机是1946年美国宾夕法尼亚大学设计制造的“ENIAC” 占地上百平方米 重量几千吨 功耗几十千瓦,7,计算机的发展及分类,计算机的发展: 电子管计算机(1946-1956) 晶体管计算机(1957-1964) 中小规模集成电路计算机(1965-1970) 超大规模集成电路计算机(1971-今) 计算机按其性能分类: 大

3、型计算机/巨型计算机(Mainframe Computer) 中型计算机 小型计算机(Minicomputer) 微型计算机(Microcomputer) 单片计算机(Single-Chip Microcomputer),8,9,1.2 常用计数制,了解 特点; 表示方法; 相互间的转换。,10,一、常用计数法,十进制符合人们的习惯 二进制便于物理实现 十六进制便于识别、书写 八进制,11,3135,二进制、八进制、十进制、十六进制,都是进位计数制: 即按进位的原则进行记数。 共同的特点: 都使用位置表示法 两个要素:位权,基数 数制中每一固定位置对应的单位值称为“位权” 用基数表示数制;,1

4、2,十进制,特点:以十为基数,逢十进一; 共有0-9十个数字符号。 表示: 3436.12 =3*104-1+4*104-2+3*104-3+6*104-4+1*10-1+2*10-2,权表达式,13,2. 二进制,特点:以2为基数,逢2进一; 只有0和1两个符号。 表示:,14,3. 十六进制,特点:以16为基数,逢16进一; 有0-9及A-F共16个数字符号。 表示:,15,例1:(1101101.0101)B 126125024123122021120021122023124 (109.3125)D 例3:(3AF.2A)H 31621016115160216110162 (943.16

5、40625)D,16,进位计数制的一般表示,一般地,对任意一个K进制数S都可表示为 :,其中: Si - S的第i位数码,可以是K个符号中任何一个; n,m - 含义同前; K - 基数; Ki - K进制数的权,17,二、各进制数间的转换,1. 非十进制数转换为十进制数 按相应进位计数制的权表达式展开,再按十进制求和。 例:10110010B = (?)10 13FAH = (?)10,18,2. 十进制到非十进制数的转换,十进制 二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 十进制 十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为开始点求得整数和小

6、数的各个位。,19,十进制数转换成二进制数 1、整数转换:除2取余法。 除2取余直到商是0或1为止,第一个余数是二进制数的最低位。 2、小数转换: 乘2取整法。 乘2取整数直到小数部分为0或达到要求的精度为止,首次取得的整数最左。 3、整数和小数部分合并在一起。 例如:将(112.25)D转换为二进制数;,1110000.01B,20,3. 二进制与十六进制间的转换,用4位二进制数表示1位十六进制数 例: 10110001001.110 = (?)H 0101 1000 1001.1100 5 8 9 . C,21,1.3 二进制数的运算,无符号数 算术运算 有符号数 逻辑运算,22,1、二进

7、制数的算术运算,加法运算: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=1 1100Bx1001B=? 除法运算:转换为减法和右移位运算 100100001100 =?,若乘数位为0,则中间结果加0; 若乘数位为1,则照抄被乘数,在与中间结果相加时要将被乘数的最低位与相应的乘数位对齐;,23,移位加 1100Bx1001B=?,被乘数,部分积,乘数,1001,1100,0000,乘数为1:部分积加被乘数; 将被乘数左移1位;,乘数为0:部分积不加被乘数; 被乘数左移1位;,乘

8、数为0;部分积不加被乘数; 被乘数左移1位;,乘数为1:部分积加被乘数;,11000,1100,110000,1100000,1100000,1100 +1100000 1101100,乘法运算转换为加法和左移位的运算,除法运算转换为减法和右移位的运算,24,规则,加法:1+1=0(有进位), 减法:0-1=1(有借位), 乘法:, 乘以2相当于左移一位; 除法:, 除以2则相当于右移1位。 例:001011100000010 = ? 00101110/00000010 = ?,25,2、无符号数的表示范围,一个n位的无符号二进制数X,其表示范围为 0 X 2n-1 若运算结果超出这个范围,则

9、产生溢出。 无符号二进制数的溢出判断:加减运算时,当最高位Di向更高位有进位Ci(或借位)时,即Ci=1则产生溢出。,26,例:,10110111 183 + 01001101 77 1 00000100 4 结果超出位(最高位有进位),发生溢出。(结果为256,超出位二进制数所能表示的范围255),27,3、 逻辑运算,与()、或()、非() 、异或() 特点:按位运算,无进借位 运算规则 ,28,1、“与”运算 1 1=1,1 0=0,0 1=0,0 0=0 计算 10110110B 10010011B=? 2 、“或”运算: 0 0=0,0 1=1,1 0=1,1 1=1 计算 1101

10、1001B 10010110B=?,29,3、“非”运算:按位取反 计算 (11011001B)=? 4、“异或”运算:相异为1,相同为0, 0 0=0,1 1=0,0 1=1,1 0=1 计算 11010011B 10100110B=?,30,4. 逻辑门,掌握: 与、或、非门逻辑符号和逻辑关系(真值表); 与非门、或非门的应用。,31,与门(AND Gate),AB = Y,A B,Y,含义:仅当A和B都是高电平时,输出Y才是高电平;受低电平控制,只要将任意输入端接低电平时,该与门就被封锁,输出低电平;,32,或门,AB = Y,Y,A B,特点:受高电平控制, 只要将任意输入端接高电平时

11、,该或门就被封锁,输出高电平。,33,非门(NOT Gate),1,A,Y,34,异或门(exclusive OR Gate),AB = Y,Y,A B,“异或”门电路是实现二进制加法的逻辑门电路,也叫半加器。它是ALU部件的基本电路。,35,“与非”门电路,由“与”门电路和“非”门电路组合而成的电路。 逻辑规则是:只有当全部输入端均为逻辑1时,输出才为逻辑0,否则输出为逻辑1。 逻辑功能:Y=A B 逻辑符号: “与非”门真值表:,A B,Y,36,“或非”门电路,由“或”门电路和“非”门电路组合而成的电路。 逻辑规则是:当一个或多个输入端为逻辑1时,输出为逻辑0,只有当全部输入端均为逻辑0

12、时,输出才为逻辑1。 逻辑功能:Y=A B 逻辑符号: “或非”门真值表:,A B,Y,Y,A B,1,37,5. 译码器,74LS138译码器:,译码输出,译码输入,译码使能,38,74LS138真值表,39,A,B,C,3:8译码器,输出端,38译码器,Y0,Y3,Y4,Y5,Y6,Y7,Y1,Y2,G1,G2A,G2B,40,1.4 带符号二进制数的表示及运算,计算机中有符号数的表示 把二进制数的最高位定义为符号位 符号位为 0 表示正数,符号位为 1 表示负数 把符号数值化了的数,称为机器数。 机器数所表示的真实的数值,称为真值。 (在以下讲述中,均以位二进制数为例),41,例:,+5

13、2 = +0110100 = 0 0110100 符号位 数值位 -52 = -0110100 = 1 0110100,真值,机器数,42,1. 带符号数的表示方法,对于带符号数,常用的表示方法有原码、反码和补码三种。数X的原码记作X原,反码记作X反,补码记作X补。 注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。,43,原码X原,原码:最高位为符号位,数值部分为原数的绝对值。 已知真值X=+42,Y=-42,求X原和Y原 X原 =00101010B Y原 =10101010B,X原,44,原码的例子,真值,X=+18=+0010010,X=-18=-0010010,原码,X原,

14、=0 0010010,X原,=1 0010010,符号,符号位,n位原码表示数值的范围是 对应的原码是1111 0111。,45,数0的原码,8位数0的原码:+0 = 0 0000000 - 0 = 1 0000000 即:数0的原码不唯一。,优点:数的真值和原码表示之间的对应关系简单,相互 转化容易。用原码实现乘除运算规则简单。 缺点:数值0有两个编码值,+0和-0,不利于运算。 尤其是加减运算。 +0原=00000000B -0原=10000000B,46,反码X反,正数的反码和原码相同;负数的反码是对其原码除符号位外的逐位求反。 真值X的反码记为X反,X反,47,例:,X= - 52 =

15、 -0110100 X原 = 10110100 X反 = 11001011,48,反码的例子,真值,X=+18=+0010010,X=-18=-0010010,反码,X反,=0 0010010,X反,=1 1101101,符号,符号位,n位反码表示数值的范围是:,49,0的反码:,+0反 = 00000000 -0反 = 11111111 即:数0的反码也不是唯一的。,50,补码,补码:正数的补码和原码相同,负数的补码是在其反码的基础上加1。 已知真值X=+0110100B,Y=-0110100B 求X补和Y补 X补=00110100B Y补= Y反 +1=11001011B+1=110011

16、00B,51,例:,X= 52= 0110100 X原 = 10110100 X反 = 11001011 X补 = X反+1=11001100,n位补码表示数值的范围是:,52,0的补码:,+0补= +0原=00000000 -0补= -0反+1=11111111+1 =1 00000000 对8位字长,进位被舍掉 +0补= -0补= 00000000,53,特殊数10000000,该数在原码中定义为: -0 在反码中定义为: -127 在补码中定义为: -128 对无符号数:(10000000) = 128,54,8位C数的表示范围:,对8位有符号二进制数: 原码: -127 +127 反码

17、: -127 +127 补码: -128 +127 想一想:16位有符号数的表示范围是多少?,55,2. 有符号二进制数与十进制的转换,将一个用补码表示的二进制数转换为十进制数。 1) X补 = 0 0101110B 真值为:+0101110B 正数 所以:X=+46 2) X补 = 1 1010010B 负数 X = X补补 = 11010010补 = - 0101110B 所以:X = - 46,56,3 补码运算,在计算机中,二进制数的四则运算是补码运算,结果是补码。 补码运算的规则如下: X+Y补=X补+Y补 X-Y补=X补-Y补 X-Y补=X补+-Y补 -Y补=对Y补的每一位包括符号

18、位在内,按位取反并加一;,57,例:,X=-0110100,Y=+1110100,求X+Y补 X原=10110100 X补= X反+1=11001100 Y补= Y原=01110100 所以: X+Y补= X补+ Y补 =11001100+01110100 =01000000,-52+116=64,58,例:,设X=+66,Y=+51,求X-Y补=? 根据X-Y补 =X补+-Y补 首先求 X=+1000010B, X补=01000010 Y=+110011B, Y补=00110011 -Y补=11001101 所以 X-Y补= 01000010 +11001101 1 00001111B,在字

19、长为8位的机器中,该进位自然丢失。,-Y=-51=-110011B,-Y补=11001101,59,4. 符号数运算中的溢出问题,8位带符号二进制数的取值范围: 原码 (-127+127) 反码 (-127+127) 补码 (-128+127) 十六位带符号二进制数的取值范围: 原码 (- 32767 + 32767 ) 反码 (- 32767 + 32767 ) 补码 (- 32768+ 32767 ) 当二进制数的运算结果超出以上范围时,就会产生溢出。,60,溢 出,同号相减或异号相加不会溢出。 同号相加或异号相减可能溢出: 两种情况: 同号相加时,结果符号与加数符号相反溢出; 异号相减时

20、,结果符号与减数符号相同溢出。 运算结果超出计算机部件所容纳的数值范围,数值部分上扩充到符号位、改变了符号的性质、导致运算结果错误。,61,例:,0 1 0 0 1 0 0 0 + 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0,0 1 0 0 1 0 0 0 + 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0,1 0 1 0 1 1 0 1 + 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1,CASE1: 72-(-98)=?,CASE2: 72+98=?,CASE3: -(83)-(+80)=?,62,例27,用二进制补码计算(-83)+

21、(-80)=(?) 解: (-83)10=-1010011B, (-83)补=10101101 (-80)10=-1010000B,(-80)补=10110000 1010 1 10 1 + 101 1 0000,1 0101110 1=93,C6=0,C7=1;,自然丢失,63,如何判断溢出,如果次高位D6向最高位D7有进位C6 =1,而最高位D7向前无进位C7 =0,则结果发生溢出; 反过来,如果次高位D6向最高位D7无进位C6 =0,而最高位D7向前有进位C7 =1,则结果也发生溢出;,Ci-1 Ci-2=1,利用CPU中状态标志寄存器中的溢出标志位OF来判断: OF=1,溢出;OF=0

22、 无溢出。,64,1.5 二进制编码,1、十进制数的表示BCD码 用4位二进制数表示一位十进制数。 (387.24)D=(0011 1000 0111.0010 0100)BCD 有两种表示法:压缩BCD码和非压缩BCD码。 压缩BCD码的一个字节表示两位十进制数。 非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位00001001表示09。,65,二进制数转换为BCD码,例如: 1、将(0001 0001.0010 0101) BCD转换为二进制数。 2、将二进制数00010001转换为BCD码。,66,2、非数值数据的表示,计算机中除了能够处理数值数据以外,还可以处理文字

23、、语音、图像等各种信息,这些信息统称为非数值数据。 非数值数据在计算机中也必须以二进制形式表示,非数值数据的表示本质上是编码的过程。,67,ASCII码美国标准信息交换代码,68,ASCII码,采用7位二进制代码对字符进行编码 数字09的编码是01100000111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。 英文字母AZ的ASCII码从1000001(41H)开始顺序递增,字母az的ASCII码从1100001(61H)开始顺序递增,这样的排列对信息检索十分有利。 最高位通常总为0,有时也用作奇偶校验位。,69,作业,第一章 习题 (p25p26) 1.3

24、 1.4 1.5 1.6 1.7 1.8 1.9,70,例1:设机器字长8位,分别写出37和37的补码,并用16 进制表示。 解: + 37= + 010 0101 +37补=0 010 0101=25H 37=010 0101 -37补=11 0110 11=DBH 例2:设机器字长为8位,试分别写出0.375和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,71,例4:设X19/128,字长8位

25、(含符号位) 求X原?X补? 解: X原0001 0011/1000 00000.0010011 X补 0.0010011 27,72,三、计算机中常用术语,bit 1Mb=10241024bit=220bit 1Gb=230bit=1024Mb 1Tb=240bit=1024Gb Byte 1 Byte=8bit,1KB=1024 Byte Word:表示字长,有1bit,4bit,8bit,16bit等 一般情况下为2Byte(16bit),73,结束语:,第1章难点: 补码的概念及其运算,74,补码的运算原理,模(module)就是一个计数系统的最大容量,其大小等于以进位计数制基数为底,以位数为指数的幂。凡是用器件进行的运算都是有模运算,运算结果超过模的部分被运算器自动丢弃。因此,当器件为n位时,有 X=2n+X (mod 2n) 不难验证, X补=2n+X (mod 2n) 因此, XY补= 2n+ (XY) (mod 2n) = (2n+ X)+ (2n+ X) (mod 2n) = X补+ Y补,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1