《最新微型计算机原理与接口技术第二版孙力娟PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微型计算机原理与接口技术第二版孙力娟PPT课件.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微型计算机原理与接口技微型计算机原理与接口技术第二版孙力娟术第二版孙力娟H本门课的参考书本门课的参考书 1.1.凡与汇编程序设计、与凡与汇编程序设计、与80X8680X86硬件接口有关的书硬件接口有关的书 与资料与资料 2.2.戴梅萼戴梅萼.微型计算机技术及应用微型计算机技术及应用(第第3 3版)版).清华大清华大学出版社学出版社.2003.2003年年 3.3.仇玉章等仇玉章等.32.32位微型计算机原理与接口技术位微型计算机原理与接口技术.清华大学出版社清华大学出版社.2004.2004年年H答疑答疑H教材教材孙力娟等孙力娟等.微型计算机原理与接口技术微型计算机原理与接口技术(第第2 2版
2、)版)清华大学出版社清华大学出版社.2007.2007年年2 2月月第第1 1章计算机基础章计算机基础 解决微型机领域中数的不同表示方法解决微型机领域中数的不同表示方法一常用计数制一常用计数制 1.1.十进制数:编程时使用(十进制数:编程时使用(D D)2.2.二进制数:计算机内部信息存储,运算,二进制数:计算机内部信息存储,运算,输入输入/输出都是二进制数(输出都是二进制数(B B)1.1 1.1 计算机中的数制计算机中的数制在在二二进进制制计计数数系系统统中中,表表示示数数据据的的数数字字符符号号只只有有两两个个,即即0和和1;大大于于1的的数数就就需需要要两两位位或或更更多位来表示;多位
3、来表示;以以小小数数点点为为界界向向前前各各位位的的位位权权依依次次是是20,21,22,向后依次为,向后依次为2-1,2-2,2-3,;一一个个二二进进制制数数可可以以通通过过各各位位数数字字与与其其位位权权之之积积的和来计算其大小。的和来计算其大小。()()权:权:H每位代码非即每位代码非即H高位权是低位权的倍高位权是低位权的倍H加减运算法则:逢二进一,借一当二加减运算法则:逢二进一,借一当二10111111011010特点:特点:3.3.十六进制数:十六进制数:人们最常用的是十进制,但在计算机中为了物理人们最常用的是十进制,但在计算机中为了物理实现的方便,采用的是二进制。实现的方便,采用
4、的是二进制。人们为了书写阅读方便,又常常采用十六进制数人们为了书写阅读方便,又常常采用十六进制数来表示二进制数。来表示二进制数。十六进制的基数是十六进制的基数是16,权值为,权值为160、161、,数,数码有码有0、1、9、A、B、C、D、E、F。十六进制用十六进制用H表示,二进制数用表示,二进制数用B表示表示位二进制位二进制数数 等值的一位等值的一位 十六进制数十六进制数 位二进制数位二进制数 等值的一位等值的一位 十六进制数十六进制数000000000 0100010008 8000100011 1100110019 9001000102 210101010A A001100113 310
5、111011B B010001004 411001100C C010101015 511011101D D011001106 611101110E E011101117 711111111F F十六进制与二进制的关系:十六进制与二进制的关系:每每4位二进制数用位二进制数用1位十六进制数来表示位十六进制数来表示所以,(所以,(1010,10011001,1010 1010,11111111)(29AF29AF)1616 十六进制数特点:十六进制数特点:(A FA F)1616 权:权:H每位代码,每位代码,A A F FH高位权是低位权的高位权是低位权的1616倍倍H加减运算法则:逢十六进一,借
6、一当十六加减运算法则:逢十六进一,借一当十六(3 9)(3 9)1616(7 A)(7 A)1616(B 3)(B 3)1616(4 5)(4 5)1616(2 6)(2 6)1616(1 F)(1 F)1616二数制转换二数制转换 二、八、十六进制数二、八、十六进制数十进制数十进制数 算法算法:每位的代码和该位的权值相乘,再求累加和每位的代码和该位的权值相乘,再求累加和 如如:():()(?)(?)解:解:123122021120121122=84010.50.25=(13.75)10如:如:(AF)16=(?)10解解:216391621016115160=8192230416015=(1
7、0671)10.二进制数二进制数十六进制数十六进制数 四位二进制数为一组,每组用等值的十六进制代换四位二进制数为一组,每组用等值的十六进制代换 如:如:(101011.11)(101011.11)(10,1011.1100)(10,1011.1100)2=(2B.C)=(2B.C)16163 3十六进制数十六进制数二进制数二进制数 一位十六进制数用等值的四位二进制数代换一位十六进制数用等值的四位二进制数代换如如:(17E.58)(17E.58)1616(0001,0111,1110.0101,1000)0001,0111,1110.0101,1000)2 24.4.十进制数十进制数二进制数二进
8、制数 十进制整数十进制整数二进制数二进制数 算法:除取整,直到商为零为止算法:除取整,直到商为零为止 ,倒排,倒排11222120所以,所以,(11)(11)1010=(1011)=(1011)2 252十进制数纯小数十进制数纯小数二进制数二进制数 算法算法:乘乘2 2取整取整,直到乘积的小数部分为直到乘积的小数部分为0 0时止,顺排时止,顺排(0.8125)(0.8125)1010=(0.1101)=(0.1101)2 20.81251.625221.25021.020.5 十进制带小数十进制带小数 二进制数二进制数 整数、纯小数分别计算整数、纯小数分别计算,再合并再合并 (11.8125)
9、(11.8125)1010=(1011.1101)=(1011.1101)2 2 例例:设设 X=(01010110)X=(01010110)2 2 Y=(5 A)Y=(5 A)1616 问问:X,Y:X,Y谁大谁大?解解:转换成同一数制比。等值的十进制数谁最大。转换成同一数制比。等值的十进制数谁最大。X=(01010110)X=(01010110)2 2=2=26 62 24 42 22 22 21 1=(86)=(86)1010 Y=(5A)Y=(5A)1616=516=5161 1101610160 0=(90)=(90)1010 Y Y大大不同数制的数比大小不同数制的数比大小,可看它等
10、值的十进制数谁大。可看它等值的十进制数谁大。1.21.2计算机中数据的编码计算机中数据的编码一十进制数的二进制编码一十进制数的二进制编码BCDBCD码码二字符的编码二字符的编码ASCIIASCII码码三码制三码制解决不同信息在计算机中的具体表示解决不同信息在计算机中的具体表示一十进制数的二进制编码一十进制数的二进制编码BCD码码计计算算机机中中采采用用二二进进制制,但但二二进进制制书书写写、阅阅读读不不便便,所以在输入输出时人们仍习惯使用十进制。所以在输入输出时人们仍习惯使用十进制。采采用用二二进进制制数数对对每每一一位位十十进进制制数数字字进进行行编编码码来来表表示一个十进制数,这种数叫做示
11、一个十进制数,这种数叫做BCD码。码。BCD码码有有多多种种形形式式,最最常常用用的的是是8421BCD码码,它它是是用用4位位二二进进制制数数对对十十进进制制数数的的每每一一位位进进行行编编码码,这这4位位二二进进制制码码的的值值就就是是被被编编码码的的一一位位十十进进制数的值。制数的值。4 401000100010001003 300110011001100112 200100010001000101 100010001000100010 00000000000000000等值的一位十进制数等值的一位十进制数 等值的一位等值的一位BCDBCD码数码数 四位二进制数四位二进制数 010101
12、01010101015 501100110011001106 601110111011101117 710001000100010008 810011001100110019 910101010非法非法BCDBCD码码1011101111001100110111011110111011111111BCDBCD码在计算机中的存储分为紧凑型和非紧凑码在计算机中的存储分为紧凑型和非紧凑型两种:型两种:紧凑型紧凑型BCDBCD码:码:(3737)D D=0011=0011,0111B0111B非紧凑型非紧凑型BCDBCD码:码:(3737)D D=0000=0000,0011B0011B 0000 0
13、000,0111B0111B二字符的编码二字符的编码ASCII码码在在计计算算机机中中除除了了数数值值之之外外,还还有有一一类类非非常常重重要要的的数数据据,那那就就是是字字符符,计计算算机机常常用用的的输输入入输输出出设设备备有有键键盘盘、显显示示器器、打打印印机机,它它们们处处理理的的数数都都是是人人熟熟悉悉的的字字符符,有有英英文文的的大大小小写写字字母母,数数字字符符号号(0,1,9)以及其他常用符号(如:)以及其他常用符号(如:%、+等)。等)。在在计计算算机机中中,这这些些符符号号都都是是用用二二进进制制编编码码的的形形式式表表示示,每每一一个个字字符符被被赋赋予予一一个个惟惟一一
14、固固定定的的二二进进制制编编码码。目目 前前,一一 般般 都都 是是 采采 用用 美美 国国 标标 准准 信信 息息 交交 换换 码码(ASCII),它它使使用用七七位位二二进进制制编编码码来来表表示示一一个个符符号号。由由于于用用七七位位码码来来表表示示一一个个符符号号,故故该该编编码码方方案案中共有中共有128个符号(个符号(27=128)。)。如:键入如:键入“”,实际写入键盘存储区的是,实际写入键盘存储区的是31H31H 即即 00110001B00110001B键入键入“A A”,实际写入键盘存储区的是实际写入键盘存储区的是41H41H 即即 01000001B01000001B又如
15、:欲显示又如:欲显示“0 0”,应把,应把 30H30H 即即 00110000B 00110000B 显示存储区显示存储区 欲显示欲显示“F F”,应把,应把 46H 46H 即即 01000110B 01000110B 显示存储区显示存储区 要求同学们要牢记以下要求同学们要牢记以下1818个字符的个字符的ASCASC码码:0 09 9的的ASCASC码为码为 30H 30H 39H39HA AF F的的ASCASC码为码为 41H 41H 46H46H回车符回车符的的ASCASC码为码为 0DH0DH换行符换行符的的ASCASC码为码为 0AH0AH 三三.码制码制 解决在微型机领域中如何
16、表示解决在微型机领域中如何表示有符号数?有符号数?(一)(一)真值和机器数的概念真值和机器数的概念计计算算机机只只能能识识别别0和和1组组成成的的数数或或代代码码,所所以以有有符符号数的符号也只能用号数的符号也只能用0和和1来表示,来表示,真值真值:一个数的数值。:一个数的数值。用用“”表示正数,用表示正数,用“”表示负数表示负数 如:如:+101 -101+101 -101 把符号数值化,用把符号数值化,用0 0表示表示“+”+”,用,用1 1表示表示“-”-”,这,这 样,连同符号位在一起作为一个数,称为机器数。样,连同符号位在一起作为一个数,称为机器数。正数正数 负数负数 0 0 XXX
17、XXXXXXXXXXX1 1 XXXXXXXXXXXXXX 机器数机器数:在计算机中如何表示正负:在计算机中如何表示正负?由由于于数数值值部部分分的的表表示示方方法法不不同同,有有符符号号数数可可有有三三种种表表示示方方法法,即即机机器器数数有有三三种种形形式式,分分别别叫叫做做原码、反码和补码。原码、反码和补码。字长字长:包括符号位在内,一个二进制数占有的位数:包括符号位在内,一个二进制数占有的位数 如:字长如:字长n=8n=8的二进制数,除了符号位,数值部的二进制数,除了符号位,数值部 分为分为7 7位位1.原码:原码:原原码码表表示示的的有有符符号号数数,最最高高位位为为符符号号位位,数
18、数值值位部分就是该数的绝对值。位部分就是该数的绝对值。例例如如:假假设设某某机机器器为为8位位机机,即即一一个个数数据据用用8位位(二进制)来表示,则:(二进制)来表示,则:+23(17H)的原码机器数为的原码机器数为00010111-23(-17H)的原码机器数为的原码机器数为10010111其中最高位是符号位,后其中最高位是符号位,后7位是数值位。位是数值位。2.反码:反码:反反码码表表示示的的有有符符号号数数,也也是是把把最最高高位位规规定定为为符符号号位位,但但数数值值部部分分对对于于正正数数是是其其绝绝对对值值,而而对对于于负负数则是其绝对值按位取反(即数则是其绝对值按位取反(即1变
19、变0,0变变1)。)。例如:例如:+23的反码机器数为的反码机器数为00010111-23的反码机器数为的反码机器数为11101000数字数字0的反码有的反码有2种表示:种表示:(+0)10=(00000000)2(-0)10=(11111111)23.补码:补码:补补码码表表示示的的有有符符号号数数,对对于于正正数数来来说说同同原原码码、反反码码一一样样,但但负负数数的的数数值值位位部部分分为为其其绝绝对对值值按按位位取取反后末位加反后末位加1所得。所得。例如:例如:+23的反码为的反码为00010111-23的反码为的反码为11101000-23的补码为的补码为11101001小结:小结:
20、机器数比真值数多一个符号位。机器数比真值数多一个符号位。正数的原、反、补码与真值数相同。正数的原、反、补码与真值数相同。负数原码的数值部分与真值相同;负数反码的数负数原码的数值部分与真值相同;负数反码的数值部分为真值数按位取反值部分为真值数按位取反;负数补码的数值部分为真值负数补码的数值部分为真值数按位取反末位加数按位取反末位加1 1。没有负零的补码,或者说负零的补码与正零的补没有负零的补码,或者说负零的补码与正零的补码相同。码相同。补码机器数的数值范围补码机器数的数值范围 设机器数字长设机器数字长=n=n位位,用来表示整数用来表示整数,则则n n位补码数位补码数,其其 真值范围为真值范围为
21、-2-2n-1 n-1 +2+2n-1 n-1-1-1由于补码表示的机器数更适合运算,为此,计算机由于补码表示的机器数更适合运算,为此,计算机 系统中负数一律用补码表示。系统中负数一律用补码表示。设:设:8 8位补码数为位补码数为1000,00001000,0000 0111,11110111,1111 则:十进制真值数为则:十进制真值数为-128 128 +127+127设:设:1616位补码数为位补码数为 1000,0000,0000,00001000,0000,0000,00000111,1111,1111,11110111,1111,1111,1111则:十进制真值数为则:十进制真值数
22、为-32768-32768 +32767+32767 (1 1)设)设XX补补=(96)=(96)1616,则则x=(?)x=(?)1010 解解:x x补补=(96)=(96)1616=10010110=10010110 则则 x=-1101010=(-106)x=-1101010=(-106)1010 (2 2)设)设x=(-120)x=(-120)1010,则则xx补补=(?)=(?)1616 解:解:x=(-120)x=(-120)1010=(-1111000)=(-1111000)2 2 则则 xx补补=(1000,1000)=(1000,1000)=(88)=(88)1616 (3
23、 3)设)设x=(108)x=(108)1010,则则xx补补=(?)=(?)1616 解解:x=(108)x=(108)1010=(+110,1100)=(+110,1100)2 2 则则 xx补补=(0110,1100)=(0110,1100)2 2=(6C)=(6C)1616 真值与机器数的转换真值与机器数的转换(设字长设字长n=8)n=8)(二)整数补码的运算(二)整数补码的运算 关于关于“模模”的概念的概念 一个计量器的最大容量称为该计量器的一个计量器的最大容量称为该计量器的“模模”四位计数器能存四位计数器能存0000000011111111共十六个数共十六个数,模模2 24 4八位
24、计数器能存八位计数器能存0000,00000000,00001111,11111111,1111共共256256个数,个数,模模 2 28 8 十六位计数器能存十六位计数器能存0000,0000,0000,00000000,0000,0000,00001111,1111,1111,11111111,1111,1111,1111共共6553665536个数,个数,模模 2 21616 2 2 四位的加法器四位的加法器(由四个全加器组成)模(由四个全加器组成)模 2 24 41616一位全加器有一位全加器有3 3个输入端个输入端(加数加数,被加数被加数,低位向本位的进位低位向本位的进位)2 2个输
25、出端个输出端(本位和本位和,本位向高位的进位本位向高位的进位)在上述加法器上进行在上述加法器上进行:7+6=13,:7+6=13,进位为进位为0 0 8+8=0,8+8=0,进位为进位为1 1 进位为进位为“1 1”,其值为,其值为1616,就是四位加法器的,就是四位加法器的“模模”,它被运算器它被运算器“丢失丢失”了。了。0 01 11 11 11 11 10 00 01 11 11 10 03.3.整数补码的加减运算整数补码的加减运算 补补补补补补补补补补 补补 条件:条件:(1)(1)符号位参加运算符号位参加运算 (2)(2)以以2 2n n为模(为字长)为模(为字长)(3)(3)当真值
26、满足下列条件时,结果是正确的,当真值满足下列条件时,结果是正确的,否则结果错误否则结果错误 2 2n-1 n-1 x,y,x+y,x x,y,x+y,xy +2y +127+127,2 21515-1,-2-1,-215152 2计算机怎样表示进位和溢出计算机怎样表示进位和溢出CFOF溢出判断电路溢出判断电路来自低位的进位值来自低位的进位值 运算器对有符号数和无符号数同样对待运算器对有符号数和无符号数同样对待 最高位的进位值最高位的进位值保存在保存在“进位标志寄存器进位标志寄存器”中中 如如加数与被加数的最高位相同,却与结果的最高加数与被加数的最高位相同,却与结果的最高 位相异位相异,则将,则
27、将溢出标志溢出标志置为置为1 1 如果参与运算的数是如果参与运算的数是无符号数无符号数,则判,则判进位标志进位标志,进位标志进位标志=1=1,表示溢出错。,表示溢出错。如果参与运算的数是如果参与运算的数是有符号数有符号数,则判,则判溢出标志溢出标志,溢出标志溢出标志=1=1,表示溢出错。,表示溢出错。3 3程序员如何判断溢出错?程序员如何判断溢出错?例:例:加数加数=0 010000101000010 被加数被加数=0 011000111100011再如:加数再如:加数=1 101111100111110 被加数被加数=1 100111010011101若加数、被加数为无符号数,则结果若加数、
28、被加数为无符号数,则结果=10100101=165=10100101=165 若加数、被加数有符号数,则结果若加数、被加数有符号数,则结果=91 91 若它们是无符号数,结果若它们是无符号数,结果=+91 (CF=1)=+91 (CF=1)它们是有符号数,结果它们是有符号数,结果=+91 (OF=1)=+91 (OF=1)CF=0CF=0,OF=1OF=1和和 =0 01 101001010100101 和和=1 10 01011011 1011011 CF=1CF=1,OF=1OF=1结果都错结果都错(+(+一一.计算机系统组成:计算机系统组成:硬件:硬件:泛指设备而言泛指设备而言 软件:软
29、件:泛指程序而言泛指程序而言 1.3 1.3 计算机系统的基本组成计算机系统的基本组成硬件:硬件:中央处理器中央处理器CPUCPU (运算器、控制器)(运算器、控制器)存储器系统存储器系统 I/OI/O接口接口 电源系统电源系统 I/OI/O设备设备 主主机机箱箱软件:软件:H系系统统软软件件(操操作作系系统统,程程序序设设计计语语言言及及其其编编辑辑、编译软件编译软件)H应用软件:为解决某一实际问题而编制的软件应用软件:为解决某一实际问题而编制的软件二二.微型机硬件结构微型机硬件结构 CPU 存储器存储器 ABAB地址总线地址总线 DBDB数据总线数据总线 CBCB控制总线控制总线 存储器存
30、储器I/O接口接口I/I/O设备设备微微机机系系统统的的硬硬件件结结构构 以以CPUCPU为核心通过为核心通过3 3条总线连接存储器、条总线连接存储器、I/OI/O接口接口 存储器存储器HCPUCPU:即微处理器,是超大规模集成电路,内部集即微处理器,是超大规模集成电路,内部集成了运算器、控制器、存储器管理部件成了运算器、控制器、存储器管理部件CPU ABAB地址总线地址总线 DBDB数据总线数据总线 CBCB控制总线控制总线 存储器存储器I/O接口接口I/I/O设备设备微微机机系系统统的的硬硬件件结结构构 以以CPUCPU为核心通过为核心通过3 3条总线连接存储器、条总线连接存储器、I/OI
31、/O接口接口H存储器存储器:指系统的主存储器,简称为内存。指系统的主存储器,简称为内存。用来存放程序、数据用来存放程序、数据 存储器存储器存储器存储器CPU ABAB地址总线地址总线 DBDB数据总线数据总线 CBCB控制总线控制总线 I/O接口接口I/I/O设备设备微微机机系系统统的的硬硬件件结结构构 以以CPUCPU为核心通过为核心通过3 3条总线连接存储器、条总线连接存储器、I/OI/O接口接口 I/OI/O接口接口:是是CPUCPU和外部设备交换信息的和外部设备交换信息的“中转站中转站”I/O接口接口 存储器存储器CPU ABAB地址总线地址总线 DBDB数据总线数据总线 CBCB控制
32、总线控制总线 存储器存储器I/I/O设备设备微微机机系系统统的的硬硬件件结结构构 以以CPUCPU为核心通过为核心通过3 3条总线连接存储器、条总线连接存储器、I/OI/O接口接口 HI/OI/O设备设备:如键盘、显示器、打印机如键盘、显示器、打印机 I/I/O设备设备 存储器存储器CPU ABAB地址总线地址总线 DBDB数据总线数据总线 CBCB控制总线控制总线 存储器存储器I/O接口接口微微机机系系统统的的硬硬件件结结构构 以以CPUCPU为核心通过为核心通过3 3条总线连接存储器、条总线连接存储器、I/OI/O接口接口 C C P P U U ABAB地址总线地址总线 DBDB数据总线
33、数据总线 CBCB控制总线控制总线 存储器存储器存储器存储器I/O接口接口I/I/O设备设备微微机机系系统统的的硬硬件件结结构构总线总线:总线是总线是CPUCPU与存储器、与存储器、I/OI/O接口交换信息接口交换信息的公共通道。的公共通道。传输传输CPUCPU访问存储器,访问存储器,访问访问I/OI/O端口的地址信号。端口的地址信号。传输传输CPUCPU读读/写内存,写内存,读写读写I/OI/O端口时的数据。端口时的数据。CPUCPU发出的控制命令,发出的控制命令,或外部向或外部向CPUCPU提出的请求。提出的请求。H地址总线:地址总线:H数据总线:数据总线:H控制总线:控制总线:地址总线通
34、常是单向总线,地址总线通常是单向总线,数据总线通常是双向总线,数据总线通常是双向总线,大部分控制线是单向,少数是双向。大部分控制线是单向,少数是双向。“3 3条条”是习惯说法是习惯说法,其实每一条都有若干根。其实每一条都有若干根。按总线上信息传输的物理意义,总线分为按总线上信息传输的物理意义,总线分为:H术语:术语:“读读”:即输入:即输入,信息从外部信息从外部CPUCPU“写写”:即输出:即输出,信息从信息从CPUCPU外部外部“读内存读内存”:从存储器取信息:从存储器取信息CPUCPU“写内存写内存”:信息写入存储器:信息写入存储器H 熟练掌握二进制数,十进制数,十六进制数和熟练掌握二进制数,十进制数,十六进制数和BCDBCD码数码数 之间的转换方法。之间的转换方法。H 熟练掌握真值数和补码数之间的转换方法。熟练掌握真值数和补码数之间的转换方法。H 牢记牢记0 0,回车符,换行符的,回车符,换行符的ASCASC码。码。H 熟练掌握整数补码的运算方法,并对结果进行分析,深熟练掌握整数补码的运算方法,并对结果进行分析,深入理解有关进位和溢出的概念。入理解有关进位和溢出的概念。H 掌握微型计算机的硬件基本结构掌握微型计算机的硬件基本结构 第第1 1章章 学习重点学习重点 结束语结束语谢谢大家聆听!谢谢大家聆听!60