微机原理与接口技术精.ppt
微机原理与接口技术微机原理与接口技术第1页,本讲稿共102页第一章第一章 基础知识基础知识1-1 概述第2页,本讲稿共102页世界上第一台现代意义世界上第一台现代意义的电子计算机是的电子计算机是1946年年美国设计制造的美国设计制造的”ENIAC”占地占地170平方米平方米重量重量30吨吨功耗功耗150千瓦千瓦 运算速度每秒运算速度每秒5000次次 庞大的庞大的ENIAC第3页,本讲稿共102页电子计算机按其性能分类:电子计算机按其性能分类:巨型计算机巨型计算机大型计算机大型计算机中型计算机中型计算机小型计算机小型计算机微型计算机单片单片计算机计算机第4页,本讲稿共102页Intel 40041971年年108KHz2300个晶体管个晶体管10微米工艺微米工艺每次传送每次传送4位位最大寻址最大寻址640字字节内存节内存10微米:每条导线或是每个晶体管间的距离微米:每条导线或是每个晶体管间的距离第5页,本讲稿共102页Intel 80081972年年200KHz3500个晶体管个晶体管6微米工艺微米工艺每次传送每次传送8位位最大寻址最大寻址16KB内存内存第6页,本讲稿共102页Intel 80861979年年5MHz2.9万个晶体管万个晶体管3微米工艺微米工艺每次传送每次传送16位位最大寻址最大寻址1MB内内存存第7页,本讲稿共102页Intel 802861982年年20MHz13.4万个晶体管万个晶体管10微米工艺微米工艺每次传送每次传送16位位最大寻址最大寻址16MB内存内存Intel最后一块最后一块16位位CPU第8页,本讲稿共102页Intel 803861985年年12.5-33MHz27.5万个晶体管万个晶体管每次传送每次传送32位位最大寻址最大寻址4G内存内存Intel80386,Intel第一代第一代32位位CPU 第9页,本讲稿共102页Intel 804861989年年25-50MHz120万个晶体管万个晶体管每次传送每次传送32位位第10页,本讲稿共102页Pentium1993年年60-200MHz320万个晶体管万个晶体管0.8、0.6、0.35微米工艺微米工艺第11页,本讲稿共102页Pentium1997年年233-450MHz750万个晶体管万个晶体管0.35、0.25微米工微米工艺艺第12页,本讲稿共102页Intel Celeron1998年年266-300MHz750万个晶体管万个晶体管0.25微米工艺微米工艺第13页,本讲稿共102页Intel Pentium1999年年450MHz以上以上千万个晶体管千万个晶体管0.25、0.18微米微米工艺工艺第14页,本讲稿共102页Intel Pentium_4232000年年1.4GHz以上以上4.2千万个晶体管千万个晶体管0.18、0.13微米工微米工艺艺第15页,本讲稿共102页Intel Core 2 Duo Code Data bus 64 bitsAddress bus 64(actual 36)bitsMaximum memory 64 GBClock frequency 1.8-3 GHzFSB 800-1066-1333 MHzFabrication process 65 nmNumber of transistors 291 million第16页,本讲稿共102页Intel Core i7 三个版本:2.66GHz 的 i7-920$2842.93GHz 的 i7-940$5623.20GHz 的 i7-965$999 第17页,本讲稿共102页AMD 8086 AMD 的首款处理器于1982 年开始销售,因为是技术授权设计而来的处理器,AMD 8086(与 8088)和 Intel 型号一模一样。第18页,本讲稿共102页Am286:授权制造,但速度更快:授权制造,但速度更快 Intel 的 286 最高只到 12.5 MHz,AMD 则曾销售过 20 MHz 版本。由于 286 比 386 更经济实惠(后者的创新技术在开头数年并未被善用),AMD 在 20 多年前已是超值之选。第19页,本讲稿共102页Am386:40-MHz 的的 386 一如前身,该型号和 Intel 版本完全相同。它比 Intel 型号来得快40 MHz,Intel 33 MHz 它最先在包装上加上 Windows Compatible 标识。第20页,本讲稿共102页Am486:最后兼容品:最后兼容品 AMD 生产两种版本的 486一款是采 Intel 微码,另一款采 AMD 微码。第21页,本讲稿共102页K5:AMD 的自家设计处理器的自家设计处理器 AMD 于 1996 年推出第五代处理器 K5。时脉 100 MHz 的 K5 会标为 PR133,代表 AMD 认为它的效能等于一颗 133 MHz Pentium。第22页,本讲稿共102页K6:AMD 延伸战场延伸战场 AMD 于 1997 推出另一款新处理器:K6。在 1998 年,AMD 发表 K6-2。在 1999 年推出 K6 的第三版本 K6-III。第23页,本讲稿共102页K7/AthlonAMD 于 1999 年推出其第七代处理器 K7-Athlon。顺便一提的是,AMD 是第一家发表与销售 1 GHz 处理器的厂商(Athlon),比 Intel 的 1 GHz Pentium III 早了两天。第24页,本讲稿共102页AMD 改良改良 Athlon:Thunderbird、XPAMD 在 K7 架构基础上增加频率与使用较细制程的方式小幅改良。Athlon XP 与后续的型号使用 PR 值,而非依时脉频率来命名。第25页,本讲稿共102页K8:AMD 移转为移转为 64 位位 K8 是兼容 64 位寻址的第一款 x86 处理器,此架构拥有诸如整合内存控制器等其它优势。第26页,本讲稿共102页Athlon 64 X2:AMD 的双核的双核 AMD 在 2005 年变更架构以提供 K8 的双核版本;Athlon 64 X2 就此诞生。第27页,本讲稿共102页Phenom:K10 与四核与四核 AMD 于 2007 年推出 K10,以 Phenom 的名称销售。三核 Phenom X3 基本上是第四核瑕疵或关闭的一颗 Phenom X4。第28页,本讲稿共102页在旧金山的国际固态电路会议在旧金山的国际固态电路会议ISSCC 2009上,上,Intel不但宣不但宣布了八核心服务器处理器布了八核心服务器处理器“Nehalem-EX”,还首次介绍了下,还首次介绍了下一代一代32nm Westmere家族,其中就提到了首款六核心桌面家族,其中就提到了首款六核心桌面处理器处理器“Gulftown”。NehalemGulftown第29页,本讲稿共102页继继Intel发布发布8核心核心Nehalem架构架构Xeons之后,之后,AMD首次演示了首次演示了其其6核心的核心的Opteron处理器,核心代号为处理器,核心代号为Istanbul(伊斯坦布(伊斯坦布尔,土耳其西北部港市)。尔,土耳其西北部港市)。第30页,本讲稿共102页新型材料技新型材料技术的的应用用“应变硅硅”(Strained Silicon),字),字面上意思是面上意思是“受到受到应力的硅力的硅”。该技技术的的原理是将硅的晶体拉伸,原理是将硅的晶体拉伸,这样沿拉伸方向沿拉伸方向电子的迁移率就会提升,子的迁移率就会提升,导致致电阻减小。在阻减小。在MOS管的管的栅极下沟道极下沟道处的硅做成拉伸的的硅做成拉伸的“应变硅硅”,当,当MOS管打开的管打开的时候候电流就会更流就会更顺利地沿着拉伸方向在源极和漏极之利地沿着拉伸方向在源极和漏极之间流流动,速度也能更快。,速度也能更快。简单说,如果能,如果能够迫使硅原子的迫使硅原子的间距加大,距加大,就可以减小就可以减小电子通行所受到的阻碍,也就子通行所受到的阻碍,也就相当于减小了相当于减小了电阻,阻,这样一来一来发热量和能量和能耗都会降低,而运行速度耗都会降低,而运行速度则得以提升。得以提升。第31页,本讲稿共102页超级计算机超级计算机 Roadrunner系统是由美国系统是由美国IBM公司设计并制造、部署在公司设计并制造、部署在著名的美国能源部洛斯阿拉莫斯国家实验室著名的美国能源部洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory,LANL),是是世界上首台跨入,是是世界上首台跨入petaflop/s Linpack门槛的超级计算机,从而宣告门槛的超级计算机,从而宣告HPC领领域迈入了每秒千万亿次时代!域迈入了每秒千万亿次时代!12960 颗PowerXCell 8i 3.2 Ghz处理器和6948颗AMD Dual-core Opteron(皓龙)1.8 GHz处理器,98TB的内存,峰值运算运算能力高达1.456 Petaflop(1456万亿次/秒)第32页,本讲稿共102页Roadrunner操作系统:操作系统:Red Hat的开源的开源Linux软件。软件。世界领先的能源效率:每瓦电能可完成世界领先的能源效率:每瓦电能可完成4.37亿次计算,系亿次计算,系统整体电耗统整体电耗0.248万千瓦。万千瓦。2002年开始研发,年开始研发,2006年开始进入联机阶段,年开始进入联机阶段,2008年年完成整个主体系统的实施,系统的优化和完善则将持续完成整个主体系统的实施,系统的优化和完善则将持续到到2010年。年。主要用于美国国家核安全局(主要用于美国国家核安全局(National Nuclear Security Administration,NNSA),用来确保美国,用来确保美国核武器储备的持续发展、安全和可靠性,包括模拟核核武器储备的持续发展、安全和可靠性,包括模拟核爆炸后零点几秒的行为状态。此外,爆炸后零点几秒的行为状态。此外,Roadrunner还还将于航天、能源、人类基因、纳米和气候方面的研究。将于航天、能源、人类基因、纳米和气候方面的研究。第33页,本讲稿共102页第34页,本讲稿共102页曙光曙光5000A超级计算机超级计算机 共用共用7680个四核个四核AMD Barcelona(主频主频1.9GHz)处处理器理器 有有30720颗计算核心颗计算核心 122.88TB内存,内存,700TB数据存储能力数据存储能力 微软微软Windows HPC Server 2008操作系统操作系统 峰值速度峰值速度233.47万亿次万亿次 曙光曙光5000一天完成的工作量,相当于全中国所有人每天一天完成的工作量,相当于全中国所有人每天24小时、每年小时、每年365天利用手持计算机不停地进行计算,天利用手持计算机不停地进行计算,46年年时间的工作量。时间的工作量。第35页,本讲稿共102页超级计算机有多快超级计算机有多快如果把普通计算如果把普通计算机的运算速度比机的运算速度比喻成人走路的速喻成人走路的速度,那么超级计度,那么超级计算机就达到了火算机就达到了火箭的速度。箭的速度。第36页,本讲稿共102页龙芯龙芯 龙芯龙芯2号是国家号是国家“863”重点项目重点项目“高高性能通用性能通用CPU芯片全芯片全定制实现及系统集成定制实现及系统集成”和中国科学院知识和中国科学院知识创新工程重大项目创新工程重大项目“高性能通用高性能通用CPU芯片芯片研制研制”的重大成果,的重大成果,是我国第一款自主研是我国第一款自主研发的发的64位高性能通用位高性能通用处理器芯片。处理器芯片。第37页,本讲稿共102页龙芯龙芯2F龙芯龙芯2F高性能通用高性能通用CPU芯片在单处理器设芯片在单处理器设计方面已到达国际先进水平,是具有自主计方面已到达国际先进水平,是具有自主知识产权的知识产权的CPU芯片。龙芯芯片。龙芯2F通用通用64位处位处理器是祖国大陆地区第一个采用理器是祖国大陆地区第一个采用90纳米设纳米设计技术的处理器。该处理器最高主频达到计技术的处理器。该处理器最高主频达到1.0GHZ,峰值运算速度达到每秒,峰值运算速度达到每秒40亿次双亿次双精度浮点运算。精度浮点运算。首家龙芯产品专卖店于2009年1月8日上午10点在北京中关村正式开业。第38页,本讲稿共102页晶圆晶圆英特尔英特尔32nm工艺处理器原型工艺处理器原型 第39页,本讲稿共102页1-2-1 计算机中的数制计算机中的数制 数字计算机中的一切信息(包含数)都是用数字计算机中的一切信息(包含数)都是用二进制二进制二进制二进制表示的。但为表示的。但为阅读阅读阅读阅读和和书写书写书写书写方便,常将二进制数方便,常将二进制数用用十六进制(十六进制(十六进制(十六进制(HexadecimalHexadecimal)表达。早期用的表达。早期用的八进制八进制八进制八进制,现已不用。现已不用。0011 1100 0001 .1010 0100 B 3 C 1 .A 4 H数制对照表数制对照表第40页,本讲稿共102页1-2-2 各种数制间的转换各种数制间的转换1.二进制二进制 Binary 十进制十进制 Decimal(1101.101)(1101.101)2 2=12=123 3+12+122 2+02+021 1+12+120 0 +12+12-1-1+02+02-2-2+12+12-3-3=(13.625)=(13.625)10102.十六进制十六进制 Hexadecimal 十进制十进制Decimal(64.C)(64.C)1616=616=6161 1+416+4160 0 +1216+1216-1-1 =(100.75)=(100.75)1010第41页,本讲稿共102页3.十进制十进制 Decimal 二进制二进制 Binary 例:(例:(112.26)10=(?)2 整数部份整数部份整数部份整数部份 除除2取余,直至商为取余,直至商为0 112/2=56余数余数0(LSB)56/2=28028/2=14014/2=707/2=313/2=111/2=01(MSB)小数部份小数部份小数部份小数部份乘乘2取整,直至小数部份为取整,直至小数部份为0或或达到要求精度达到要求精度0.262=0.52 整数整数0(MSB)0.522=1.04 10.042=0.08 00.082=0.16 0(LSB)(112.26)10=(1110000.01)2第42页,本讲稿共102页4.十进制十进制 Decimal 十六进制十六进制 Hexadecimal 例:(例:(301.6875)10=(?)16 整数部分整数部分除除16取余,直至商为取余,直至商为0301/16=18余数余数 13=D(LSB)18/16=1 21/16=0 1(MSB)小数部分小数部分乘乘16取整,直至小数部份为取整,直至小数部份为0 0687516=11.00 整数整数11=B(MSB)(30130168756875)1010=(12D.B12D.B)1616=12D.BH=12D.BH先将十进制转换成二进制,再将二进制转先将十进制转换成二进制,再将二进制转换成十六进制较方便:换成十六进制较方便:DBHDBH第43页,本讲稿共102页1.2.3 计算机中的二进制数表示计算机中的二进制数表示1、定点小数(以、定点小数(以8位二进制为例):位二进制为例):无符号无符号有符号有符号符号位符号位小数点小数点数值位数值位小数点小数点数值位数值位第44页,本讲稿共102页1.2.3 计算机中的二进制数表示计算机中的二进制数表示2、整数(以、整数(以8位二进制为例):位二进制为例):无符号数无符号数有符号数有符号数小数点小数点数值位数值位符号位符号位小数点小数点数值位数值位第45页,本讲稿共102页1.2.3 计算机中的二进制数表示计算机中的二进制数表示3、浮点数:、浮点数:尾数部分(定点小数)尾数部分(定点小数)阶码部分(定点整数)阶码部分(定点整数)尾符尾符Ms阶符阶符Es阶码阶码E尾数尾数M第46页,本讲稿共102页1.2.4 二进制编码二进制编码字符和十进制数都要表示为若干位二进制码的组字符和十进制数都要表示为若干位二进制码的组合(二进制编码)。合(二进制编码)。数字:数字:09字母:字母:AZ,az专用符号:专用符号:+,-,*,/,%,&,$,#,!,?,”,:控制字符:控制字符:CR(回车回车)、LF(换行换行)、SP(空格空格)所有这些信息均以二进制码表示。所有这些信息均以二进制码表示。所有这些信息均以二进制码表示。所有这些信息均以二进制码表示。第47页,本讲稿共102页1、二进制编码的十进制数、二进制编码的十进制数BCD(Binary-Coded-Decimal)8421码和余码和余3代码代码十进制数十进制数84218421 码码余余 3 3 代码代码 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 90000000000010001001000100011001101000100010101010110011001110111100010001001100100110011010001000101010101100110011101111000100010011001101010101011101111001100常用常用8421BCD码。码。10101111在在8421码中是非法的。码中是非法的。第48页,本讲稿共102页8421码和余码和余3代码代码十进制数十进制数84218421 码码余余 3 3 代码代码 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 90000000000010001001000100011001101000100010101010110011001110111100010001001100100110011010001000101010101100110011101111000100010011001101010101011101111001100BCD码与十进制间的转换(码与十进制间的转换(8421码):码):(904.72)10=(1001 0000 0100.0111 0010)BCD第49页,本讲稿共102页BCD码在计算机中的存贮方式:码在计算机中的存贮方式:压缩型压缩型BCD码:一个字节存放两个码:一个字节存放两个BCD码码1 0 0 1 0 0 1 1(10010011)BCD=(93)10非压缩型非压缩型BCD码:每个字节只存放一个码:每个字节只存放一个BCD码,码,高高高高4 4位为位为位为位为0 0。0 0 0 0 0 0 1 1低地址低地址0 0 0 0 1 0 0 1高地址高地址“低低低低”第50页,本讲稿共102页2、字符的编码、字符的编码当前广泛采用当前广泛采用ASC码(码(American Standard Code For Information Interchange)作为各种字符的)作为各种字符的编码系统。编码系统。每个每个每个每个ASCASC码为码为码为码为7 7位,最高位位,最高位位,最高位位,最高位D D7 7恒为恒为恒为恒为0 0(在通信中常(在通信中常(在通信中常(在通信中常用用用用D D7 7作为奇偶校验位)。作为奇偶校验位)。作为奇偶校验位)。作为奇偶校验位)。数字数字09 30H39H大写字母大写字母AZ 41H5AH 小写字母小写字母az 61H7AHASC码表码表第51页,本讲稿共102页1-3 无符号二进制数的算无符号二进制数的算术和逻辑运算术和逻辑运算算术运算:算术运算:加、减、乘、除加、减、乘、除微机中通常只有做微机中通常只有做加法加法的的硬件硬件电路。电路。其它三种算术运算均是通过加法电路其它三种算术运算均是通过加法电路完成的。完成的。1-3-1 二进制数的算术运算二进制数的算术运算第52页,本讲稿共102页1-3-2 无符号数的表示范围无符号数的表示范围1.n位无符号二进制数位无符号二进制数x的表示范围的表示范围0 x2n-1如:如:n=8 00HFFH(0255)2.无符号二进制数运算结果是否正确的判断无符号二进制数运算结果是否正确的判断 无符号二进制数相加(或相减)时,若有进位(或借位)无符号二进制数相加(或相减)时,若有进位(或借位)无符号二进制数相加(或相减)时,若有进位(或借位)无符号二进制数相加(或相减)时,若有进位(或借位),则说明其结果超出可表示的范围,其结果是错误的。,则说明其结果超出可表示的范围,其结果是错误的。,则说明其结果超出可表示的范围,其结果是错误的。,则说明其结果超出可表示的范围,其结果是错误的。但在纸面上作加法运算时,不受位数限制,计及但在纸面上作加法运算时,不受位数限制,计及进位,则结果是正确的。进位,则结果是正确的。10110111+01001101100000100进位进位 183+77 260第53页,本讲稿共102页1-3-3 二进制数的逻辑运算二进制数的逻辑运算算算术术运算是将一个运算是将一个n位的二位的二进进制数作制数作为为一个一个整体整体整体整体来来对对待,而待,而逻辑逻辑运算运算则则是是对对二二进进制数制数逐位逐位逐位逐位进进行操行操作,故作,故无无无无进进进进/借位借位借位借位。1“与与”运算运算 011010111111000001100000通常用于清除某些位或保通常用于清除某些位或保留某些位留某些位第54页,本讲稿共102页2、“或或”运算运算 011010110000111101101111可用于使某些位置可用于使某些位置“1”“1”。3、“非非”运算运算01101001=10010110 用于取反用于取反4、“异或异或”运算运算 011010111111000010011011两位相同为两位相同为“0”“0”,两位不同为两位不同为“1”“1”。可用于寄存器清零可用于寄存器清零XOR AL,ALXOR AX,AX第55页,本讲稿共102页1-3-4 基本逻辑门及常用逻辑部件基本逻辑门及常用逻辑部件1、与门(、与门(AND gate)ABY=A*B*CC&ABY=A*B*CC2、或门(、或门(OR gate)ABY=A+B+CC1ABY=A+B+CC第56页,本讲稿共102页3、非门(、非门(NOT gate)Y=AA1AY=A4、与非门(、与非门(NAND gate)ABY=A*B*CC&ABY=A*B*CC5、或非门(、或非门(NOR gate)1ABY=A+B+CCABY=A+B+CC第57页,本讲稿共102页8、译码器、译码器 不同的地址信号通过译码器转换为对某一芯片的片选信号。不同的地址信号通过译码器转换为对某一芯片的片选信号。使能端使能端输入端输入端输出端输出端G G2AG2BC B A Y7Y6Y5Y4Y3Y2Y1Y01000 0 01 1 1 1 1 11 01000 0 11 1 1 1 1 10 11000 1 01 1 1 1 1 01 11000 1 11 1 1 1 0 11 11001 0 01 1 1 0 1 11 11001 0 11 1 0 1 1 11 11001 1 01 0 1 1 1 11 11001 1 10 1 1 1 1 11 1非上述情况非上述情况X X X 1 1 1 1 1 11 1表表1-8 138译码器功能表译码器功能表74LS138Y0Y1Y2Y3Y4Y5Y6Y7AG2AG2BG1CB第58页,本讲稿共102页1.4 有符号二进制数的表示及运算有符号二进制数的表示及运算数字计算机中,数字计算机中,一切信息都只能用一切信息都只能用一切信息都只能用一切信息都只能用0 0 0 0和和和和1 1 1 1来表示,包括数来表示,包括数来表示,包括数来表示,包括数的正、负号,而不能用的正、负号,而不能用的正、负号,而不能用的正、负号,而不能用“+”“+”“+”“+”或或或或“-”“-”“-”“-”表示。表示。表示。表示。无符号数的最高位为无符号数的最高位为数值位数值位数值位数值位(而非符号位);(而非符号位);有符号数的最高位为有符号数的最高位为符号位符号位符号位符号位(而非数值位);(而非数值位);MSB=0 正数正数1 负数负数例:例:(10010011)2=+147(若视为无符号数)(若视为无符号数)=-109 (若视为用补码表示的(若视为用补码表示的有符号数)有符号数)第59页,本讲稿共102页1.4.1 有符号数的表示方法有符号数的表示方法机器数:符号数值化了的数机器数:符号数值化了的数真值:机器数所表示的真值:机器数所表示的实际数值实际数值带符号数在机器内的三种表示方法:带符号数在机器内的三种表示方法:原码原码反码反码补码补码第60页,本讲稿共102页数值部分数值部分、原码、原码符号位符号位=0 正数正数1 负数负数数值部分为真值的绝对值数值部分为真值的绝对值例:例:X=(+91)10 x原原=(01011011)2X=(-91)10 x原原=(11011011)2X=(+0)10 x原原=(00000000)2X=(-0)10 x原原=(10000000)2缺点:数值缺点:数值0有两个编码值,不利运算,不采用。有两个编码值,不利运算,不采用。符号位符号位第61页,本讲稿共102页、反码、反码正数的反码与其原码相同。正数的反码与其原码相同。负数的反码等于相应的正数逐位(包括符号位)取反。负数的反码等于相应的正数逐位(包括符号位)取反。例:例:X=(+5)10 x反反=(00000101)2X=(-5)10 x反反=(11111010)2取取反反X=(+0)10 x反反=(00000000)2X=(-0)10 x反反=(11111111)2缺点:数值缺点:数值0有两个编码值,不利运算,不采用。有两个编码值,不利运算,不采用。第62页,本讲稿共102页、补码正数的补码与其原码相同。正数的补码与其原码相同。负数的补码等于负数的补码等于相应的正数逐位(包括符号位)取反,最相应的正数逐位(包括符号位)取反,最相应的正数逐位(包括符号位)取反,最相应的正数逐位(包括符号位)取反,最末位加末位加末位加末位加1 1。例例1:X=(+4)10 x补补=(0100)2第63页,本讲稿共102页例例2:X=(4)10 求求x补补=?(取?(取4位二进制数)位二进制数)+4010010111100 (4)10=(1100)2取反取反+1 000001001111101111111100 (4)10=(11111100)2取反取反+1结论:当将用补码表示的结论:当将用补码表示的n位负数扩展成位负数扩展成N(n)位同值负数时,位同值负数时,只需要在其只需要在其只需要在其只需要在其前面添加前面添加前面添加前面添加N-nN-n个个个个“1 1”即可。即可。即可。即可。真值求机器数真值求机器数第64页,本讲稿共102页1.4.2 补码与之间的转换逐位(包括符号位)取反后,最末位加逐位(包括符号位)取反后,最末位加逐位(包括符号位)取反后,最末位加逐位(包括符号位)取反后,最末位加1 1,便是,便是,便是,便是其绝对值。其绝对值。其绝对值。其绝对值。111101010000101000001011(11)10111111110000000000000001(1)10100000000111111110000000(128)10第65页,本讲稿共102页1.4.3 补码的优点:1、在补码表示法中,、在补码表示法中,0的表示法是唯一的。的表示法是唯一的。X=(+0)10 x补补=(00000000)2X=(-0)10 x补补=(00000000)2 11111111+000000011 00000000自然丢失(进位)自然丢失(进位)8位位第66页,本讲稿共102页2、采用补码、采用补码,减法可化成加法运算减法可化成加法运算,即即:x-y补补=x补补 y补补例例1:5412=42 001101100000110000101010=(42)10按减法运算按减法运算第67页,本讲稿共102页5412=54+(12)=42Y=12 y补补=12补补000011001111001111110100利用补码运算:利用补码运算:注意:微机中凡带符号数注意:微机中凡带符号数均采用补码表示,运算结均采用补码表示,运算结果也用补码表示。果也用补码表示。00110110+111101001 00101010=(42)10自然丢失自然丢失(进位)(进位)第68页,本讲稿共102页1.4.4 带符号数运算时的溢出问题1、带符号数的表示范围、带符号数的表示范围-2n-1 x+(2n-1-1)x:用补码表示的:用补码表示的n位位 带符号二进制数带符号二进制数n=8-128 x+127n=16-32768 x+32767第69页,本讲稿共102页2、带符号数运算时溢出的判断溢出只能发生在两个同符号数相加或两个异符号数相减时。溢出只能发生在两个同符号数相加或两个异符号数相减时。带符号数运算结果若超出上述范围,称溢出带符号数运算结果若超出上述范围,称溢出溢出必然导致运算结果出错。溢出必然导致运算结果出错。溢出判据:溢出判据:Cn-1 Cn-2=1,即即Cn-1与与Cn-2不同不同Cn-1:最高位向前的进位最高位向前的进位Cn-2:次高位向前的进位次高位向前的进位第70页,本讲稿共102页例例1:(+72)+(+98)=+170(+72)10=(01001000)2 (+98)10=(01100010)2 01001000+0110001010101010=(-86)10第71页,本讲稿共102页分析:分析:n=872+98=170127 溢出,故运算结果出错溢出,故运算结果出错Cn-1:最高位向前的进位最高位向前的进位Cn-2:次高位向前的进位次高位向前的进位在例在例1中:中:C7=0,C6=1,C7 C6=0 1=1 01001000+0110001010101010=(-86)10第72页,本讲稿共102页例例2:(-83)+(-80)=-163(-83)10=(10101101)2 (-80)10=(10110000)2 10101101+101100001 01011101=(+93)10自然丢失自然丢失(进位)(进位)第73页,本讲稿共102页分析:分析:n=8(-83)+(-80)=-163-128 溢出,故运算结果出错溢出,故运算结果出错故溢出故溢出 以上是两个同号数相加,当结果超出表示范围以上是两个同号数相加,当结果超出表示范围时造成的溢出;同样,当两个异号数相减时,若结果时造成的溢出;同样,当两个异号数相减时,若结果超出可表示的范围时也会因溢出而出错。超出可表示的范围时也会因溢出而出错。C7=1,C6=0,C7 C6=1 0=1 10101101+101100001 01011101=(+93)10第74页,本讲稿共102页结论一:结论一:溢出溢出溢出溢出与与进位进位进位进位是两个不同的概念,两者不相关。是两个不同的概念,两者不相关。例:设例:设n=3,则补码的表示范围为,则补码的表示范围为-4-4+3+3 2 010+1 001 3 011C2 C1=0 0=0无进位,无溢出无进位,无溢出无进位,有溢出无进位,有溢出C2 C1=1 1=0有进位,无溢出有进位,无溢出C2 C1=1 0=1有进位,有溢出有进位,有溢出 2 010+2 010 4 100C2 C1=0 1=1 3 011+-1 111 2 1010 -2 110+-3 101 -5 1011CYCY第75页,本讲稿共102页结论二:不论结论二:不论无符号数无符号数无符号数无符号数还是还是有符号数有符号数有符号数有符号数,运算结果若,运算结果若超超超超出出出出其可表示的其可表示的范围范围范围范围,则结果,则结果出错出错出错出错。无符号数运算结果若有进位(相加时)或无符号数运算结果若有进位(相加时)或 借位(相减时),即借位(相减时),即C Cn n-1=1-1=1,则结果出错。,则结果出错。第76页,本讲稿共102页微型计算机系统微型计算机系统软件系统软件系统硬件系统硬件系统系统软件系统软件应用软件应用软件主机主机外部设备外部设备CPU存储器存储器I/O接口接口寄存器寄存器控制器控制器运算器运算器微型计算机系统的组成。微型计算机系统的组成。1.1.3 微机系统的构成第77页,本讲稿共102页ABCBDB微机硬件系统组成微机硬件系统组成地址总线(地址总线(Address Bus,AB):单向):单向控制总线(控制总线(Control Bus,CB):单向):单向数据总线(数据总线(Data Bus,DB):双向):双向第78页,本讲稿共102页、CPU:核心器件:核心器件 起运算与控制作用起运算与控制作用每种每种CPU有各自特有的有各自特有的指令集(指令集(Instruction Set)CPU由三部份组成:由三部份组成:算术逻辑单元算术逻辑单元ALU(Arithmetic logic Unit)又称运算器又称运算器以以加法器加法器为基础,辅以其它逻辑电路完成加、减、乘、为基础,辅以其它逻辑电路完成加、减、乘、除和各种逻辑运算;高级的除和各种逻辑运算;高级的ALU还可以完成浮点运算。还可以完成浮点运算。第79页,本讲稿共102页 控制器控制器、指令寄存器、指令寄存器IR(Instruction Register)IR(Instruction Register)指令寄存器指令寄存器IRIR用来存放从存储器取出的将要执行的指用来存放从存储器取出的将要执行的指令令(实为其操作码实为其操作码)。、指令译码器、指令译码器ID(Instruction Decoder)ID(Instruction Decoder)指令译码器指令译码器IDID用来对指令寄存器用来对指令寄存器IRIR中的指令进行译中的指令进行译码,以确定该指令应执行什么操作。码,以确定该指令应执行什么操作。、可编程逻辑阵列、可编程逻辑阵列PLA(Programmable Logic PLA(Programmable Logic Array)(Array)(也称为定时与控制电路也称为定时与控制电路)可编程逻辑阵列用来产生取指令和执行指令所需的可编程逻辑阵列用来产生取指令和执行指令所需的各种微操作控制信号。由于每条指令所执行的具体操作各种微操作控制信号。由于每条指令所执行的具体操作不同,所以,每条指令将对应控制信号的某一种组合不同,所以,每条指令将对应控制信号的某一种组合,以确定相应的操作序列。以确定相应的操作序列。第80页,本讲稿共102页指令寄存器指令寄存器IR指令译码器指令译码器ID可编程逻辑阵列可编程逻辑阵列PLA指令代码指令代码操作控制信号操作控制信号控制总线控制总线CBRAMROMI/O接口接口控制器控制器工作流程工作流程第81页,本讲稿共102页寄存器组(寄存器组(Register Set)CPU内部的存贮单元称为寄存器。各有自己特定的名称。内部的存贮单元称为寄存器。各有自己特定的名称。通用寄存器通用寄存器:由程序员规定其用途:由程序员规定其用途专用寄存器专用寄存器:其用途是固定专用的。:其用途是固定专用的。如:堆栈指针、标志寄存器等。如:堆栈指针、标志寄存器等。寄寄存存器器CPU访问寄存器比访问存贮器要方便省时。访问寄存器比访问存贮器要方便省时。第82页,本讲稿共102页、存贮器(、存贮器(Memory)内存内存?外存外存?内存又称内存又称内存又称内存又称主存主存主存主存,属于,属于,属于,属于半导体存贮器半导体存贮器半导体存贮器半导体存贮器。内存单元的地址和内容内存单元的地址和内容现代微机中:每个字节称为一个现代微机中:每个字节称为一个内存单元内存单元内存单元内存单元 每个内存单元都有一个地址,称每个内存单元都有一个地址,称内存地址内存地址内存地址内存地址 微机微机内存容量内存容量内存容量内存容量是指内存的字节数。是指内存的字节数。第83页,本讲稿共102页多字节数据多字节数据多字节