(完整版)中国科技大学微机原理与接口技术-周荷琴第4版ppt课件.ppt
-
资源ID:72340565
资源大小:5.83MB
全文页数:525页
- 资源格式: PPT
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(完整版)中国科技大学微机原理与接口技术-周荷琴第4版ppt课件.ppt
第一章第一章 绪论绪论主要内容微型计算机的组成计算机中数制及其转换符号数的表示及运算数的定点与浮点表示1.1 概概 述述一、电子计算机的发展:一、电子计算机的发展:电子管计算机(1946-1956)晶体管计算机(1957-1964)中小规模集成电路计算机(1965-1970)超大规模集成电路计算机(1971-今)二、电子计算机按其性能分类二、电子计算机按其性能分类:大中型计算机/巨型计算机(Mainframe Computer)小型计算机(Minicomputer)微型计算机微型计算机(Microcomputer)单片计算机(Single-Chip Microcomputer)微型计算机的发展是以微处理器的发展来表征的微处理器的集成度每隔18-24个月就会翻一番,芯片的性能也随之提高一倍 -摩尔定律Intel CPU的发展见下页表代发表年份字长(bits)型号线宽(m)晶体管数(万个)时钟频率(MHz)速度(MIPS)一197119724840048008500.20.310.05二197488080200.52-40.5三19781982168086/8088802862-32.9134.77-108-20300七2002?64Itanium?0.08CPU:2.5KCache:30K800(20条指令/时钟周期)3000三、微型计算机的组成三、微型计算机的组成I/O设备设备CPU运算器运算器控制器控制器内存内存RAMROMI/O接口接口AB 地址总线地址总线DB 数据总线数据总线CB 控制总线控制总线8255、8250(8251)8253、8259键盘、打印机键盘、打印机显示器、软硬盘显示器、软硬盘A/D、D/A等等1、微处理器、微处理器 微处理器(微处理器(CPU)是大规模集成电路技术做成的芯片,芯)是大规模集成电路技术做成的芯片,芯片内集成有控制器、运算器和寄存器等相关部件,完成对计算片内集成有控制器、运算器和寄存器等相关部件,完成对计算机系统内各部件进行统一协调和控制。机系统内各部件进行统一协调和控制。2、存储器、存储器 功能:存放程序和数据。功能:存放程序和数据。存储器存储器内存(主存)内存(主存)外存(辅存)外存(辅存)RAMROMSRAMDRAMROMEPROME2PROM软盘、软盘、U盘盘硬盘(移动硬盘)硬盘(移动硬盘)光盘光盘AMD Athlon II X2 240/盒装 本周劲热排行第3位 参考价格:¥380(全国)接口类型:Socket AM3(938)生产工艺:45纳米 主频:2.8GHz 二级缓存:L2=21M 核心数量:双核AMD Phenom II X2 550/黑盒 参考价格:¥740(全国)接口类型:Socket AM3(938)核心类型:Stars 生产工艺:45纳米 主频:3.1GHz 二级缓存:L2=2512K 三级缓存:L3=6M 核心数量:双核3、I/O设备和设备和I/O接口接口(1)、)、I/O设备:微机配备的输入设备:微机配备的输入/输出设备(外设)。输出设备(外设)。标准输入标准输入/输出设备(控制台):键盘和显示器输出设备(控制台):键盘和显示器(CRT)。)。I/O设备设备输入设备输入设备输出设备输出设备键盘键盘鼠标鼠标扫描仪、数码相机扫描仪、数码相机显示器显示器打印机打印机绘图仪绘图仪(2)、)、I/O接口:连接外设备和系统总线,完成信号接口:连接外设备和系统总线,完成信号转换、数据缓冲、与转换、数据缓冲、与CPU进行信号联络等工作。进行信号联络等工作。显示器卡:完成显示器与总线的连接。显示器卡:完成显示器与总线的连接。声卡:完成声音的输入声卡:完成声音的输入/输出。输出。网卡:完成网络数据的转换。网卡:完成网络数据的转换。扫描卡:连接扫描仪到计算机。扫描卡:连接扫描仪到计算机。调制解调器卡:模拟信号与数字信号相互转换。调制解调器卡:模拟信号与数字信号相互转换。键盘接口、打印机接口等。键盘接口、打印机接口等。232接口:串行数据接口。接口:串行数据接口。USB接口:通用串行接口接口:通用串行接口。4、系统总线、系统总线(1)、总线:)、总线:传递信息的一组公用导线。传递信息的一组公用导线。(2)、系统总线:)、系统总线:从处理器引出的若干信号线,从处理器引出的若干信号线,CPU通过它们通过它们与存储器或与存储器或I/O设备进行信息交换。系统总线分为:设备进行信息交换。系统总线分为:(A)、地址总线:)、地址总线:传递地址信息的总线,即传递地址信息的总线,即AB。CPU在地址在地址总线上输出将要访问的内存单元或总线上输出将要访问的内存单元或I/O端口的地址,该总线为单端口的地址,该总线为单向总线。向总线。内存容量的计算:内存容量的计算:16条地址线可访问条地址线可访问 216=64 KB。20条地址线可访问条地址线可访问 220=1 MB。1K=1024B 1M=1024 KB 1G=1024 MB (B)、数据总线:)、数据总线:传递数据信息的总线,即传递数据信息的总线,即DB。在在CPU进行进行读操作读操作时,时,内存或外设的数据通过数据总线送往内存或外设的数据通过数据总线送往CPU;在在CPU进行进行写操作写操作时,时,CPU数据通过数据通过数据总线送往内存或外设数据总线送往内存或外设,数据总线是数据总线是双向总线双向总线。(C)、控制总线:)、控制总线:传递控制信息的总线,即传递控制信息的总线,即CB。控制总线的方向:控制总线的方向:一部分一部分是从是从CPU输出:通过对指令的译码,由输出:通过对指令的译码,由CPU内部产生,由内部产生,由CPU送到存储器、输入送到存储器、输入/输出接口电路和其它部件。如时钟信号、输出接口电路和其它部件。如时钟信号、控制信号等。控制信号等。另一部分另一部分是由系统中的部件产生,送往是由系统中的部件产生,送往CPU,如:中断请求信号、,如:中断请求信号、总线请求信号、状态信号。总线请求信号、状态信号。控制总线的部件(总线主控设备):控制总线的部件(总线主控设备):CPU 和和 DMA 控制器。控制器。被总线控制的部件(总线控制设备):被总线控制的部件(总线控制设备):存储器存储器 和和 I/O设备。设备。总线的使用特点:总线的使用特点:1、在某一时刻,只能由一个总线主控设备来控制总线,、在某一时刻,只能由一个总线主控设备来控制总线,其它总线主控设备此时必须放弃对总线的控制。其它总线主控设备此时必须放弃对总线的控制。2、在连接系统的各个设备中,在某一时刻只能有一发、在连接系统的各个设备中,在某一时刻只能有一发送者发送信号,但可以有多个设备从总线上同时获得送者发送信号,但可以有多个设备从总线上同时获得信号。信号。3、通过总线插槽来接口板连接。、通过总线插槽来接口板连接。四、微机主要性能指标四、微机主要性能指标1、字长、字长 字长是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通用寄存器的位数和数据总线的宽度。微处理器的字长有4位、8位、16位、32位和64位等等。8088称为准16位微处理器,而80386SX称为准32位微处理器。2、主频、主频 主频也叫做时钟频率,用来表示微处理器的运行速度,主频越高表明微处理器运行越快,主频的单位是MHz。现在一般用G表示。如P4/28G3、运算速度运算速度MIPS是Millions of Instruction Per Second的缩写,用来表示微处理器的性能,意思是每秒钟能执行多少百万条指令。由于执行不同类型的指令所需时间长度不同,所以MIPS通常是根据不同指令出现的频度乘上不同的系数求得的统计平均值。4、主存容量主存容量 主存储器所能存储的信息总量称为主存容量。主存容量一般以字节为单位。如256MB、512MB 位位:二进制信息的最小单位。字节字节:由8位二进制所组成。1.2 计算机中的数制和编码计算机中的数制和编码 一、计算机中常用的进制数一、计算机中常用的进制数 人们最常用的数是十进制数,计算机中采用的是二人们最常用的数是十进制数,计算机中采用的是二进制数,同时有的时候为了简化二进制数据的书写,进制数,同时有的时候为了简化二进制数据的书写,也采用八进制和十六进制表示方法。下面将分别介也采用八进制和十六进制表示方法。下面将分别介绍这几种常用的进制。绍这几种常用的进制。1、十进制数、十进制数 十进制数是大家熟悉的,用十进制数是大家熟悉的,用0 0,1 1,2 2,8 8,9 9十十个不同的符号来表示数值,它采用的是个不同的符号来表示数值,它采用的是“逢十进一,逢十进一,借一当十借一当十”的原则。的原则。2、二进制表示法、二进制表示法基数为基数为1010的记数制叫十进制;基数为的记数制叫十进制;基数为2 2的记数制叫做二的记数制叫做二进制。进制。二进制数的计算规则是二进制数的计算规则是“逢二进一,借一当二逢二进一,借一当二”。二进制表示数值方法如下:二进制表示数值方法如下:NB=Ki *2i 其中:其中:Ki=0 或或 1ni=-m例:二进制数例:二进制数1011.1表示如下:表示如下:(1011.1)B=1*23+0*22+1*21+1*20+1*2-1运算规则:运算规则:加法运算:加法运算:0+0=0 0+1=1 1+0=1 1+1=10 (逢二进一)(逢二进一)减法运算:减法运算:0-0=0 10-1=1(借位)(借位)1-0=1 1-1=0乘法运算:乘法运算:0*0=0 0*1=0 1*0 =0 1*1=1除法运算除法运算0/1=0 1/1=13、八进制表示法、八进制表示法八进制数是基数为八的计数制。八进制数主要采用八进制数是基数为八的计数制。八进制数主要采用0,1,2,7这八个阿拉伯数字。这八个阿拉伯数字。八进制数的运算规则为八进制数的运算规则为“逢八进一,借一当八逢八进一,借一当八”。八进制表示数值方法如下:八进制表示数值方法如下:NO=Ki *8i 其中:其中:Ki=0、1、2、3、4、5、6、7ni=-m例:(例:(467.6)O=4*82+6*81+7*80+6*8-14、十六进制表示法、十六进制表示法基数为基数为16,用,用0-9、A-F 十五个字符来数值,逢十六十五个字符来数值,逢十六进一。进一。各位的权值为各位的权值为 16i。二进制表示数值方法如下:二进制表示数值方法如下:NH=Ki *16i 其中:其中:Ki=0 -9、A-Fni=-m例:(例:(56D.3)H=5*162+6*161+13*160+3*16-1二、进制间的转换二、进制间的转换1、二进制数和十进制数之间的转换、二进制数和十进制数之间的转换(1)、二进制数转换为十进制数)、二进制数转换为十进制数方法:按二进制数的位权进行展开相加即可。方法:按二进制数的位权进行展开相加即可。例例:11101.101=124+123+122+021+120+12-1+02-2+12-3=16+8+4+0+1+0.5+0.25+0.125=29.875(2)、十进制数转换为二进制数)、十进制数转换为二进制数方法:方法:A、将整数部分和小数部分分别进行转换,然后再把转、将整数部分和小数部分分别进行转换,然后再把转换结果进行相加。换结果进行相加。B、整数转换采用除、整数转换采用除2取余法:取余法:用用2不断地去除要转换的不断地去除要转换的数,直到商为数,直到商为0。再将每一步所得的余数,按逆序排列,。再将每一步所得的余数,按逆序排列,便可得转换结果。便可得转换结果。C、小数转换采用乘、小数转换采用乘2取整法:取整法:每次用每次用2与小数部分相乘,与小数部分相乘,取乘积的整数部分,再取其小数部分乘取乘积的整数部分,再取其小数部分乘2直到小部分为直到小部分为0。将所取整数顺序放在小数点后即为转换结果。将所取整数顺序放在小数点后即为转换结果。例:将(例:将(136)D转换为二进制数。转换为二进制数。2 136 余数(结果)余数(结果)低位低位 2 68 -0 2 34 -0 2 17 -0 2 8 -1 2 4 -0 2 2 -0 2 1 -0 0 -1 高位高位转换结果:(转换结果:(136)D=(10001000)B例:将(例:将(0.625)D转换为二进制数。转换为二进制数。0.625 *2 1.25 *2 0.5 *2 1.0 取整:取整:高位高位 低位低位转换结果:转换结果:(0.625)D =(0.101)B若出现乘积的小数部分一直不为若出现乘积的小数部分一直不为“0”,则可以根,则可以根据计算精度的要求截取一定的位数即可。如据计算精度的要求截取一定的位数即可。如0.6*2 2、二进制数和八进制数、十六进制数间的转换、二进制数和八进制数、十六进制数间的转换(1)、二进制数到八进制数、十六进制数的转换)、二进制数到八进制数、十六进制数的转换A、二进制数到八进制数转换采用、二进制数到八进制数转换采用“三位化一位三位化一位”的方的方法。从小数点开始向两边分别进行每三位分一组,向法。从小数点开始向两边分别进行每三位分一组,向左不足三位的,从左边补左不足三位的,从左边补0;向右不足三位的,从右边;向右不足三位的,从右边补补0。B、二进制数到十六进制数的转换采用、二进制数到十六进制数的转换采用“四位化一位四位化一位”的方法。从小数点开始向两边分别进行每四位分一组,的方法。从小数点开始向两边分别进行每四位分一组,向左不足四位的,从左边补向左不足四位的,从左边补0;向右不足四位的,从右;向右不足四位的,从右边补边补0。例:将例:将(1000110.01)B转换为八进制数和十六进制数。转换为八进制数和十六进制数。1 000 110.01 001 000 110.010 (1 0 6 .2)O二进制数到十六进制数的转换:二进制数到十六进制数的转换:(1000110.01)B =100 0110.01 0100 0110.0100(4 6 .4)H(2)、八进制、十六进制数到二进制数的转换)、八进制、十六进制数到二进制数的转换方法:采用方法:采用“一位化三位(四位)一位化三位(四位)”的方法。按顺序的方法。按顺序写出每位八进制(十六进制)数对应的二进制数,所写出每位八进制(十六进制)数对应的二进制数,所得结果即为相应的二进制数。得结果即为相应的二进制数。例:将例:将(352.6)o转换为二进制数。转换为二进制数。3 5 2 .6 011 101 010 110 =(11 101 010.11)B三、三、机器数的表示机器数的表示机器数:数值数据在计算机中的编码。机器数:数值数据在计算机中的编码。机器数的真值:机器数所代表的实际数值。机器数的真值:机器数所代表的实际数值。常用的编码方案:原码、反码、补码。常用的编码方案:原码、反码、补码。1、原码表示法、原码表示法原码:用最高位表示符号,其中:原码:用最高位表示符号,其中:0-正、正、1-负,负,其它位表示数值的绝对值。其它位表示数值的绝对值。定义:定义:例:求例:求X1=1011,X2=-1011的原码。(的原码。(8位)位)X1原原=00001011X2原原=10001011 0的表示形式(的表示形式(8位)位)+0原原=00000000-0原原=10000000特点特点A、原码与真值的对应关系简单。、原码与真值的对应关系简单。B、0的编码不唯一,处理运算不方便。的编码不唯一,处理运算不方便。C、8位数原码所表示的范围:位数原码所表示的范围:-127+1272、反码表示法、反码表示法 定义:若定义:若X0,则则 X反反=X原原。若若X0,则则 X反反=对应原码的符号位对应原码的符号位 不变不变 数值部数值部 分按位求反。分按位求反。+0反反=00000000 -0反反=1111111+1100111反反=01100111 -1100111反反=10011000 8位反码所表示的范围:位反码所表示的范围:-127+1273、补码表示法补码表示法正数的补码和原码相同。正数的补码和原码相同。负数的补码负数的补码=反码反码+1。-0补补=-0反反+1=11111111+1=1 000000000补补=+0补补=-0补补=00000000 8位补码所表示的范围:位补码所表示的范围:-128+127 计算机中的数均为补码形式。计算机中的数均为补码形式。特殊数特殊数10000000该数在原码中定义为:-0在反码中定义为:-127在补码中定义为:-128对无符号数:(10000000)=1284、由补码求真值由补码求真值某内存单元的内容是D2,为8位二进制数,其所表示的十进制数是多少?X补=D2H=1 1010010B X=X补补=11010010补 =-0101110B=-2EH 所以:X=-46-5、补码加减运算规则、补码加减运算规则通过引进补码,可将减法运算转换为加法运算。规则如下:X+Y补=X补+Y补 X-Y补=X补-Y补 X-Y补=X补+-Y补 其中X,Y为正负数均可,符号位参与运算符号位参与运算。-例例:X=-0110100,Y=+1110100 求求X+Y补补X原=10110100 X补=X反+1=11001100Y补=Y原=01110100所以:X+Y补=X补+Y补 =11001100+01110100 =01000000思考:思考:X、Y及及X+Y各是多少?各是多少?6、符号数运算中的溢出问题、符号数运算中的溢出问题进进(借借)位位在加法过程中,符号位向更高位产生进位;在减法过程中,符号位向更高位产生借位。溢出溢出运算结果超出运算器所能表示的范围。溢出的判断方法溢出的判断方法方法:方法:同号相减或异号相加同号相减或异号相加不会溢出。不会溢出。同号相加或异号相减同号相加或异号相减可能溢出:可能溢出:两种情况:两种情况:同号相加时,结果符号与加数符号相反同号相加时,结果符号与加数符号相反溢出;溢出;异号相减时,结果符号与减数符号相同异号相减时,结果符号与减数符号相同溢出。溢出。方法:方法:两个两个8位带符号二进制数相加或相减时,若位带符号二进制数相加或相减时,若 C7 C61,则结果产生溢出。则结果产生溢出。C7为最高位的进为最高位的进(借借)位;位;C为次高位的进为次高位的进(借借)位。位。例例:有符号数运算,有溢出表示结果是错误的有符号数运算,有溢出表示结果是错误的无符号数运算,有进位表示结果无符号数运算,有进位表示结果是是错误的错误的 1 0 1 1 0 1 0 1 +1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 +0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 0 1 0 +1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 1 1CASE1:CASE2:CASE3:四、四、计算机中常用的编码计算机中常用的编码1、十进制数的表示、十进制数的表示BCD码码用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。压缩BCD码的每一位用4位二进制表示,00001001表示09,一个字节表示两位十进制数。非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的00001001表示09。各种字符和符号必须用二进制编码才能在机器中表示。常用的编码方式为美国标准信息交换(American Standard Card for Information Interchange,ASCII码)。用8位二进制数表示一个字符,最高位为0。数字09编码为30H 39H,字母A Z编码为41H5AH,字母a z编码为61H 7AH。回车为0DH,换行为0AH,响铃为07H。2、字符的编码、字符的编码ASCII码码 在通信中将最高位(D7位)用作奇偶校验位。偶校验:包括校验位在内的8位二进制数码中1的个数为偶数。奇校验:包括校验位在内的8位二进制数码中1的个数为奇数。例:字母A的ASCII码为1000001,偶校验码为01000001,奇校验码为11000001。思考:字符思考:字符5的奇校验码是多少?的奇校验码是多少?3、奇偶校验码、奇偶校验码 ASCII码美国标准信息交换代码美国标准信息交换代码1.2 数的定点与浮点表示数的定点与浮点表示1。定点表示法:。定点表示法:表示小数点的位置是固定不变的,分为纯整数和纯小数两类。数符尾数纯整数表示方法纯整数表示方法 纯小数表示方法纯小数表示方法数符尾数2。浮点表示法。浮点表示法 浮点表示法中小数点的位置是不固定的。任意二进制数N一般可表示为:N=2PS 一个浮点数分为阶码和尾数两部分,二者各有表示正负的阶符和数符,常用存储格式:阶符阶码数符尾数3。规格化浮点数。规格化浮点数 尾数的最高位为1,形如:1XXXXXX2m(1)单精度浮点数(短实型):)单精度浮点数(短实型):4字节浮点数。(2)双精度浮点数(长实型)双精度浮点数(长实型):8字节浮点数。(3)扩展精度数:扩展精度数:10字节浮点数。符号位符号位:数的符号,0表示正数,1为负数。阶码(移位码):阶码(移位码):阶码加上一个常数偏置值。以保证偏置后的格式阶码恒为正数。单精度的阶码偏置值为+127(7FH),双精度的阶码偏置值为+1023(3FFH)。一个浮点数的真阶码要通过它的格式阶码减去偏置值而得到。例将十进制数23625用单精度浮点数(短实型)的形式表示出来。【解】第一步:将十进制转化为二进制形式 23625=10111101B 第二步:规格化 10111101B=1011110124 第三步:求各部分的二进制数 符号位:0(正数)阶码:00000100B+01111111B=10000011B 尾数(原码):01111010000(共23位)本章习题本章习题:9、10、11、12、13、14、15、16通过本章学习通过本章学习,应掌握以下内容:应掌握以下内容:8086CPU结构CPU引脚及其功能存储器组织与堆栈总线周期与操作时序8086系统配置 第二章、第二章、8086系统结构系统结构 2.1 8086CPU结构结构 一、一、8086的功能结构的功能结构 微处理器 8086从功能上分为两部分:总线接口部分(BIU),执行部分(EU)。两部分各自执行自己的功能并行工作,这种工作方式与传统的 计算机在执行指令时的串行工作方式相比极大地提高了工作效率。传统的CPU采用串行工作方式:取指令1执行1存结果1 取指令2取操作数执行2CPUBUS忙碌忙碌忙碌忙碌8086CPU并行工作方式:取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器运算寄存器运算寄存器ALU标志标志执行部分执行部分控制电路控制电路1 2 3 4 5 6 CS DS SS ES IP 内部寄内部寄存器存器I/O控制控制电路电路地址加地址加法器法器20位位16位位8位位指令队列缓冲器指令队列缓冲器外外总总线线执行部件执行部件总线接口部件总线接口部件8086CPU结构图结构图1、总线接口部件(、总线接口部件(BIU)功能:功能:(1)从内存取指令送到指令队列。)从内存取指令送到指令队列。(2)CPU执行指令时,到指定的位置取操作数,并执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。将其送至要求的位置单元中。总线接口部件的组成:总线接口部件的组成:(1)四个段地址寄存器)四个段地址寄存器 CS,16位代码段寄存器;位代码段寄存器;DS,16位数据段寄存器;位数据段寄存器;ES,16位附加段寄存器;位附加段寄存器;SS,16位堆栈段寄存器。位堆栈段寄存器。(2)16位指令指针寄存器位指令指针寄存器IP(PC)。)。(3)20位的地址加法器。位的地址加法器。(4)六字节的指令队列缓冲器。)六字节的指令队列缓冲器。说明:说明:(1)指令队列缓冲器:)指令队列缓冲器:在执行指令的同时,将取下一在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。条指令,并放入指令队列缓冲器中。CPU执行完一条执行完一条指令后,可以执行下一条指令(流水线技术)。提高指令后,可以执行下一条指令(流水线技术)。提高CPU效率。效率。(2)地址加法器:)地址加法器:产生产生20位地址。位地址。CPU内无论是段地内无论是段地址寄存器还是偏移量都是址寄存器还是偏移量都是16位的,通过地址加法器产位的,通过地址加法器产生生20位地址。位地址。2、执行部件、执行部件作用:作用:(1)从指令队列中取出指令。)从指令队列中取出指令。(2)对指令进行译码,发出相应的控制信号。)对指令进行译码,发出相应的控制信号。(3)接收由总线接口送来的数据或发送数据至接口。)接收由总线接口送来的数据或发送数据至接口。(4)进行算术运算。)进行算术运算。执行部件的组成:执行部件的组成:(1)4个通用寄存器个通用寄存器AX、BX、CX、DX。四个通用寄存器都是四个通用寄存器都是16位或作两个位或作两个8位来使用。位来使用。(2)4个专用寄存器个专用寄存器SP-堆栈指针寄存器堆栈指针寄存器BP-基址指针寄存器基址指针寄存器DI-目的变址寄存器目的变址寄存器SI-源变址寄存器源变址寄存器(3)算术逻辑单元)算术逻辑单元ALU 完成完成8位或者位或者16位二进制算术和逻辑运算,计算偏移量。位二进制算术和逻辑运算,计算偏移量。(4)数据暂存寄存器)数据暂存寄存器协助协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。(5)执行部件的控制电路)执行部件的控制电路从总线接口的指令队列取出指令操作码,通过译码电路从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制分析,发出相应的控制命令,控制ALU数据流向。数据流向。(6)标志寄存器)标志寄存器16位寄存器,其中有位寄存器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0例:将5394H与-777FH相加,并说明其标志位的状态。【解】先求-777FH的补码:原码:1111 0111 0111 1111 反码:1000 1000 1000 0000 补码:1000 1000 1000 0001 再做加法运算:0101 0011 1001 0100 +1000 1000 1000 0001 1101 1100 0001 0101 结果标志位为:CF=0、PF=0、AF=0 ZF=0、SF=1、OF=03、CPU执行程序的操作过程执行程序的操作过程(1)20位地址形成,并将从该地址指定的单元中取出位地址形成,并将从该地址指定的单元中取出指令字节,依次放入指令队列中。指令字节,依次放入指令队列中。(2)当指令队列中有)当指令队列中有2个空字节时,总线接口部件就个空字节时,总线接口部件就会自动取指令至队列中。会自动取指令至队列中。(3)执行部件从指令队列队首取出指令代码,执行该)执行部件从指令队列队首取出指令代码,执行该指令。指令。(4)当队列已满,执行部件又不使用总线时,总线接)当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。口部件进入空闲状态。(5)执行转移指令、调用指令、返回指令时,先清空)执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。队列内容,再将要执行的指令放入队列中。2.2 8086CPU的引脚及其功能的引脚及其功能8086CPU8086CPU可在两种模式下工作:可在两种模式下工作:最小模式:最小模式:只有一只有一8086CPU。最大模式:最大模式:有两个或两个以上的有两个或两个以上的CPU,一个为主,一个为主CPU8086,另一个为协,另一个为协CPU8087。指令周期:指令周期:执行一条指令所需要的时间。执行一条指令所需要的时间。总线周期(机器周期):总线周期(机器周期):CPU通过总线与存储器或通过总线与存储器或I/O接口进行一次数据传输所需的时间。接口进行一次数据传输所需的时间。T状态(时钟周期):状态(时钟周期):CPU处理动作的最小单位。处理动作的最小单位。T1T2T3TWT4总线周期总线周期01020304050607080910111213141516171819204039383736353433323130292827262524232221GND AD14 AD13 AD12 AD11 AD10 AD9 AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15A16/S3A17/S4A18/S5A19/S6/BHE/S7 MN/MX/RDHOLD(/RQ/GT0)HLDA(/RQ/GT1)/WR(/LOCK)M/IO(/S2)DT/R(/S1)/DEN(/S0)ALE(QS0)/INTA(QS1)/TESTREADYRESET8086一、最小模式下的引脚及功能一、最小模式下的引脚及功能1、地址、地址/数据总线数据总线AD15-AD0:地址:地址/数据复用引脚,双向,三态。数据复用引脚,双向,三态。在在T1状态,为状态,为16位地址总线位地址总线A15-A0,输出访问存储器,输出访问存储器或或I/O的地址信息。的地址信息。在在T2T4状态,为状态,为16位数据总线位数据总线D15-D0,与存储器和,与存储器和I/O设备交换数据信息。设备交换数据信息。地址地址/数据总线复用,分时工作。数据总线复用,分时工作。2、A19/S6-A16/S3 地址地址/状态总线复用引脚,输出,三态。状态总线复用引脚,输出,三态。T1状态:输出地址的高状态:输出地址的高4位信息位信息A19-A16T2、T3、T4状态:输出状态信息状态:输出状态信息S6:指示当前:指示当前CPU是否与总线相连,是否与总线相连,S6=0,表示,表示8086当前与总线相连。当前与总线相连。S5:中断允许标志当前的状态。:中断允许标志当前的状态。S5=0,禁止一切可屏蔽中断源的中断请求;,禁止一切可屏蔽中断源的中断请求;S5=1,允许一切可屏蔽中断源的中断申请。,允许一切可屏蔽中断源的中断申请。S4、S3:当前正在使用的段寄存器:当前正在使用的段寄存器 S4 S3 段寄存器段寄存器 0 0 当前正在使用当前正在使用ES 0 1 当前正在使用当前正在使用SS 1 0 当前正在使用当前正在使用CS 1 1 当前正在使用当前正在使用DS/BHE、A0组合:组合:/BHE A0 总线使用情况总线使用情况 0 0 从偶地址单元开始,在从偶地址单元开始,在16位数据总线上进行字传送位数据总线上进行字传送 0 1 从奇地址单元开始,在高从奇地址单元开始,在高8位数据总线上进行字节传送位数据总线上进行字节传送 1 0 从偶地址单元开始,在低从偶地址单元开始,在低8位数据总线上进行字节传送位数据总线上进行字节传送 1 1 无效无效3、控制总线、控制总线(1)/BHE/S7:高高8位数据总线允许位数据总线允许/状态复用引脚。在状态复用引脚。在总线周期的总线周期的T1状态,此引脚输出状态,此引脚输出/BHE信号,表示高信号,表示高8位位数据线数据线D15-D8上的数据有效。上的数据有效。在在8086中,中,S7未定义未定义。(2)/RD:读信号,三态输出,低电平有效。:读信号,三态输出,低电平有效。/RD=0,表示当前,表示当前CPU正在对存储器或正在对存储器或I/O端口进端口进行读操作。行读操作。(3)/WR:写信号,三态输出,低电平有效。:写信号,三态输出,低电平有效。/WR=0,表示当前,表示当前CPU正在对存储器或正在对存储器或I/O端口进行端口进行写操作。写操作。(4)M/IO:存储器或:存储器或IO端口访问信号,三态输出。端口访问信号,三态输出。M/IO=1,表示表示CPU正在访问存储器;正在访问存储器;M/IO=0,表示,表示CPU正在访问正在访问IO端口。端口。(5)READY:准备就绪信号,输入,高电平有效。:准备就绪信号,输入,高电平有效。READY=1,表示,表示CPU访问的存储器或访问的存储器或IO端口已端口已准备好传送数据。准备好传送数据。若若CPU在总线周期在总线周期T3状态检测到状态检测到READY=0,表示,表示未准备好,未准备好,CPU自动插入一个或多个等待状态自动插入一个或多个等待状态TW,直,直到到READY=1为止。为止。(6)INTR:可屏蔽中断请求信号,输入。:可屏蔽中断请求信号,输入。当当INTR=1,表示外设向,表示外设向CPU发出中断请求,发出中断请求,CPU在当前指令周期的最后一个在当前指令周期的最后一个T状态去采样该信号,若此状态去采样该信号,若此时,时,IF=1,CPU响应中断,执行中断服务程序。响应中断,执行中断服务程序。(7)/INTA:中断响应信号,输出,低电平有效。:中断响应信号,输出,低电平有效。CPU响应中断时发两个负脉冲。第一个负脉冲,表示响应中断时发两个负脉冲。第一个负脉冲,表示CPU响响应了外设发来的中断申请信号应了外设发来的中断申请信号INTR。第二个负脉冲,。第二个负脉冲,通知外设向数据总线上放中断类型号。通知外设向数据总线上放中断类型号。(8)NMI:不可屏蔽中断请求信号,输入,上升沿触:不可屏蔽中断请求信号,输入,上升沿触发。该请求信号不受发。该请求信号不受IF状态的影响,也不能用软件屏蔽,状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。一旦该信号有效,则执行完当前指令后立即响应中断。(9)/TEST:测试信号,输入,低电平有效。当:测试信号,输入,低电平有效。当CPU执执行行WAIT指令时,每隔个时钟周期对指令时,每隔个时钟周期对/TEST进行一次测进行一次测试,若试,若/TEST=1,继续等待,直到,继续等待,直到/TEST=0。(10)RESET:复位信号,输入,高电平有效。:复位信号,输入,高电平有效。RESET信号至少要保持信号至少要保持4个时钟周期。个时钟周期。复位时:标志寄存器、复位时:标志寄存器、IP、DS、SS、ES为为0,CS=FFFFH,指令队列清空。复位后,指令队列清空。复位后CPU从从FFFF0H处处开始开始 执行。执行。(11)ALE:地址锁存允许信号,输出,高电平有效。:地址锁存允许信号,输出,高电平有效。用来锁存地址信号用来锁存地址信号A15-A0,分时使用,分时使用AD15-AD0地址地址/数据总线。数据总线。(12)DT/R:数据发送数据发送/接收控制信号,三态输出。接收控制信号,三态输出。此信号控制数据总线上的收发器此信号控制数据总线上的收发器8286/8287的数据传送的数据传送方向。方向。DT/R=1,发送数据,发送数据-写操作;写操作;DT/R=0,接收数据,接收数据-读操作。读操作。(13)/DEN:数据允许信号,三态输出,低电平有效。数据允许信号,三态输出,低电平有效。作为数据总线上收发器作为数据总线上收发器8286的选通信号。的选通信号。(14)HOLD:总线请求信号,输入,高电平有效。当总线请求信号,输入,高电平有效。当系统中系统中CPU之外的另一个控制器要求使用总线时,通过之外的另一个控制器要求使用总线时,通过它向它向CPU发一高电平的请求信号。发一高电平的请求信号。(15)HLDA:总线请求响应信号,输出,高电平有效。:总线请求响应信号,输出,高电平有效。当当HLDA有效时,表示有效时,表示CPU对其它控制器的总线请求作对其它控制器的总线请求作出响应,与此同时,所有与三总线相接的