微机原理与应用第四章课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微机原理与应用第四章课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 第四 课件
- 资源描述:
-
1、4.1 16位微处理器概述位微处理器概述4.2 8086/8088CPU的结构的结构4.3 8086/8088CPU的引脚信号和工作模式的引脚信号和工作模式4.4 8086/8088的主要操作功能的主要操作功能本章目标本章目标1971年第一块微处理器问世,年第一块微处理器问世,Intel 4040Intel 4040 ROM、RAM、I/O芯片芯片MCS-4Intel 8008ROM、RAM、I/O芯片芯片MCS-81972年年 第一代第一代微处理器微处理器时间时间微处理器微处理器数据数据线线地址线地址线集成度集成度时钟频时钟频率率代表产代表产品品71-73年年第一代第一代Intel40404
2、位位4位位2300管管/片片1MMCS-474-77年年第二代第二代8080/8085MC6800Z808位位16位位1万管万管/片片2-4MIBM PCIBM PC-XT78-84年年第三代第三代8086/80286MC68000Z800016位位20位位/24位位13万管万管/片片6-10MIBM PC-AT时间时间微处理器微处理器数据数据线线地址线地址线集成度集成度时钟频时钟频率率代表产代表产品品85-92年年第四代第四代80386/8048668020/68030NEC V8032位位32位位120万管万管/片片50-100M80486IBM-PC60193-96年年第五代第五代Int
3、el PentiumPentium 二二代代 Pentium Pro.(P6)64位位36位位550万万管管/片片133-300MIntel P6IBM-PC6028088/8086 CPU寄存器组寄存器组算术逻辑单元算术逻辑单元ALU 标志寄存器标志寄存器FR暂存器暂存器执行单元执行单元EU(Execution Unit)总线接口单元总线接口单元BIU(Bus Interface Unit)完成取指令和完成取指令和存取数据操作存取数据操作负责分析指令负责分析指令和执行指令和执行指令内部控制逻辑内部控制逻辑段寄存器(段寄存器(CS、SS、DS、ES)地址加法器地址加法器指令队列指令队列输入输入
4、/输出控制电路输出控制电路指令指针寄存器指令指针寄存器IP地址总线地址总线20位位控制总线控制总线数据总线数据总线16 8088/8086的内部结构图AHBHCHDHALBLCLDLSPBPSIDICSDSSSESIP内部暂存寄存器内部暂存寄存器暂存寄存器暂存寄存器FREU控制系统1 2 3 4 5 6总线控制逻辑总线控制逻辑数据总线数据总线16ALU通用寄存器通用寄存器8088指令队列指令队列8088/8086外部总线外部总线数据总线数据总线地址总线地址总线20位位执行部件执行部件EU总线接口部件总线接口部件BIU16位位控制总线EU控制系统ALUEU控制系统控制系统ALU数据总线数据总线1
5、6地址总线地址总线20位位控制总线AXBXCXDX8086CPU采用并行工作方式取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌BIU和和EU是并行工作的是并行工作的,按流水线技术原则管理按流水线技术原则管理4.执行转移、调用和返回指令时,指令队列中的原有内容自动消除执行转移、调用和返回指令时,指令队列中的原有内容自动消除 BIU往指令队列中装入另一程序段中的指令往指令队列中装入另一程序段中的指令8088中一个中一个1.当当8086指令队列中有指令队列中有两个两个空字节时空字节时,BIU自动把指令取到队列中自动把指令取到队列中2.
6、EU从指令队列取指,执行。执行过程中如果要访问存储器或从指令队列取指,执行。执行过程中如果要访问存储器或I/O,而此时,而此时,BIU正在取指,完成取指后,响应正在取指,完成取指后,响应EU的总线请求。的总线请求。3.指令队列已满,指令队列已满,EU又没有总线访问,又没有总线访问,BIU进入空闲状态进入空闲状态动画演示动画演示l8086内部由两部分组成:内部由两部分组成:执行单元(执行单元(EU)总线接口单元(总线接口单元(BIU)AXBXCXDX累加器累加器基地址寄存器基地址寄存器计数器计数器数据寄存器数据寄存器通用寄存器通用寄存器SPBPSIDI堆栈指针寄存器堆栈指针寄存器基地址寄存器基地
7、址寄存器源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器专用寄存器专用寄存器15 0状态标志寄存器状态标志寄存器FR15 0算术逻辑单元算术逻辑单元ALUAH ALBH BLCH CLDH DL8 7EU控制器控制器功能:执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。算术逻辑单元(运算器)8个通用寄存器 1个标志寄存器 EU部分控制电路CSDSSSES代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段寄存器段寄存器IP指令指针寄存器指令指针寄存器20位的地址加法器位的地址加法器
8、BIU总线控制逻辑总线控制逻辑1 2 3 4 5 66个字节的指令队列个字节的指令队列80884个字节个字节功能:从内存中取指令送入指令预取队列从内存中取指令送入指令预取队列负责与内存或输入负责与内存或输入/输出接口之间的数输出接口之间的数据传送据传送在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行。(1)四个段地址寄存器四个段地址寄存器CS 16位代码段寄存器DS 16位数据段寄存器ES 16位附加段寄存器SS 16位堆栈段寄存器(2)IP 16位指令指针寄存器位指令指针寄存器 指向下一条要取出的指令。(3)20位地址加法器位地址加法器16位内部寄存器
9、提供的信息经地址加法器产生20位地址信息。例:指令的物理地址=CS 16+IP(4)六字节的指令队列六字节的指令队列取指令与执行指令并行工作,即在一条指令的执行过程中,可以取出下一条或多条指令,在指令队列中排队。含14个16位寄存器,按功能可分为三类8个通用寄存器4个段寄存器1个标志寄存器1个指令指针寄存器动画演示动画演示 数据寄存器(AX,BX,CX,DX)地址指针寄存器(SP,BP)变址寄存器(SI,DI)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,ALBX BH,BLCX CH,CLDX DH,DL常用来存放参与运算的操作数或运算结果AX:累加器。多用于存
10、放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存 I/O端口地址。SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段,与DS搭配使用。;BP则通常用于寻址堆栈段,与SS搭配使用。BX一般与DS或ES搭配使用SI:源变址寄存器DI:目标变址寄存器变址寄存器常
11、用于指令的间接寻址或变址寻址。特别是在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址。用于存放逻辑段的段基地址(逻辑段的概念后面将要介绍)CS:代码段寄存器 代码段用于存放指令代码代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内堆栈段用于存放返回地址,保存寄存器内容,传递参数容,传递参数IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作 6个状态标志位
12、(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF)OF DFIFTF SF ZFAFPFCF15 11 10 9 8 7 6 5 4 3 2 1 0进位标志进位标志奇偶标志奇偶标志半进位标志半进位标志零标志零标志符号标志符号标志中断标志中断标志单步标志单步标志溢出标志溢出标志方向标志方向标志控制标志控制标志状态标志状态标志FR寄存器寄存器表表 8086 CPU 标志位情况标志位情况名 称符 号符号标志SF功能与运算结果的最高位相同,当数据用补码表示时,负数的最高位为1,所以符号标志表示运算执行后的结果是正还是负零标志ZF当前的运算结果为零,当前的运算结果为非零奇偶标志PF
13、运算结果所含的1的个数为偶数进位标志CF当执行一个加法运算使最高位产生进位时,或者执行一个减法运算引起最高位产生借位时,此外,循环指令也影响这一标志辅助进位标志AF加法运算时,如果第3位往第4位有进位;减法运算时,如果第3位往第4位有借位。辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据溢出标志OF运算过程中产生溢出时,所谓溢出,是指当字节运算的结果超出了范围 128+127,或者当字运算的结果超出了范围 32768+32767时称为溢出方向标志DF控制串操作指令用的标志。DF=0,串操作过程中的地址会不断增值;DF=1,串操作过程中的地址会不断减值中断标志IF控制可屏蔽中断的
14、标志。IF=0,CPU不能对可屏蔽中断请求作出响应;IF=1,CPU可以接受可屏蔽中断请求跟踪标志TF CPU按跟踪方式执行指令主要内容:主要内容:存储器编址存储器编址存储器分段和物理地址生成存储器分段和物理地址生成堆栈和栈操作指令堆栈和栈操作指令 8086 8086计算机主存储器是按字节进行组织的,计算机主存储器是按字节进行组织的,两个相邻的字节被称为一个两个相邻的字节被称为一个“字字”。存放的信息若是以字节存放的信息若是以字节ByteByte(8 8位)为单位位)为单位的,将在存储器中按顺序排列存放,每个地址的,将在存储器中按顺序排列存放,每个地址单元存放一个字节,即每个字节占用一个地址;
15、单元存放一个字节,即每个字节占用一个地址;若存放的数据为一个字若存放的数据为一个字WordWord(1616位)时,则位)时,则每一个字占用两个地址相连的存储单元,其中每一个字占用两个地址相连的存储单元,其中低字节(低低字节(低8 8位)存放在低地址中,高字节(高位)存放在低地址中,高字节(高8 8位)存放在高地址中,并以低地址作为该字的位)存放在高地址中,并以低地址作为该字的地址。地址。80868086系统只能提供系统只能提供2020根地址线来区分内存的根地址线来区分内存的不同存储单元,因此不同存储单元,因此80868086系统可以连接的内存系统可以连接的内存最多只能包含最多只能包含2 22
16、020(1M1M)字节的存储单元。)字节的存储单元。存储器以存储器以8 8位为一个存储单元编址,每一个存位为一个存储单元编址,每一个存储单元用唯一的一个地址码来表示。储单元用唯一的一个地址码来表示。一个字的两个单元有各自的地址,处于低地一个字的两个单元有各自的地址,处于低地址的址的字节的地址字节的地址为这个为这个字的地址字的地址在存储器中,任何连续存放的两个字节都可在存储器中,任何连续存放的两个字节都可以称为一个字。将偶地址的字称为以称为一个字。将偶地址的字称为规则字规则字,奇,奇地址的字称为地址的字称为非规则字非规则字。例:字例:字2301的地址为的地址为0000H,为,为规则字;规则字;字
17、字89678967的地址为的地址为0003H,为,为非规则字。非规则字。8086的存储器结构l物理地址物理地址l8086:20根地址线,可寻址220(1MB)个存储单元lCPU送到AB上的20位的地址称为物理物理地址地址 物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存储器的操作完全基存储器的操作完全基于于物理地址物理地址。问题:问题:80868086的内部总线和内的内部总线和内部部寄存器均为寄存器均为1616位位,如何生成如何生成2020位地址位地址?解决:解决:存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大最大64KB
18、段i-1段i段i+11.1M存储空间分成若干个逻辑段,每一段存储空间分成若干个逻辑段,每一段 64K2.段与段之间可以连续排列,部分重叠,断续排段与段之间可以连续排列,部分重叠,断续排列。列。段基地址段基地址和段内段内偏移偏移组成了逻辑地址逻辑地址 段地址段地址 偏移地址偏移地址(偏移量偏移量)格式为:段地址段地址:偏移地址偏移地址 物理地址物理地址=段基地址段基地址16+偏移地址偏移地址60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 02HBIU中的地址加法器用来实现逻辑地址到物理中的地址加法器用来实现逻辑地址到物理地址的变换地址的变换80
19、88 可同时访问可同时访问4个段,个段,4个段寄存器指示了每个段寄存器指示了每个段的基地址个段的基地址段基址段基址段内偏移段内偏移物理地址物理地址+16位20位0000逻辑地址和物理地址区别逻辑地址和物理地址区别物理地址:物理地址:20位绝对地址位绝对地址逻辑地址:段基址:段内偏移量逻辑地址:段基址:段内偏移量物理地址物理地址=段基址段基址 16+偏移地址偏移地址段寄存器值 0000 偏移地址 20位物理地址 16位4位15015019020条地址线条地址线 寻址能力寻址能力地址范围地址范围220=1M字节字节 00000FFFFFH19 0物理地址物理地址加法器加法器段基址段基址 偏移地址偏
20、移地址15 015 00000偏移地址偏移地址段首地址段首地址00000H42320H42386H乘以乘以16物理地址物理地址例:例:已知已知IP=66H,CS=4232HCS16=42320H段首址段首址IP=66H偏移地址偏移地址下一条指令下一条指令物理地址物理地址采用段寄存器的优点采用段寄存器的优点1.解决了解决了16位寄存器如何访问大于位寄存器如何访问大于64KB内存空间的问题内存空间的问题2.可以实现程序的重定位可以实现程序的重定位物理地址:物理地址:1MB存储区域中的实际地址(存储区域中的实际地址(20位的地址)位的地址)逻辑地址:程序中出现的地址,由段地址和段内偏移量组成逻辑地址
21、:程序中出现的地址,由段地址和段内偏移量组成(注:段地址和段偏移量都是注:段地址和段偏移量都是16位的二进制数位的二进制数)存储器管理就是将程序中的逻辑地址转换成物理地址的结构存储器管理就是将程序中的逻辑地址转换成物理地址的结构物理地址物理地址=段地址段地址16+偏移量偏移量*同一物理地址可以有不同的段地址和偏移量同一物理地址可以有不同的段地址和偏移量对对8086/8088而言而言内存地址的一般情况内存地址的一般情况1.指令地址:指令地址:CS16+IP2.堆栈操作地址:堆栈操作地址:SS16+SP3.操作数地址:操作数地址:DS(ES)16+偏移地址(其中的偏移地址取决于指令的寻址方式其中的
22、偏移地址取决于指令的寻址方式共共24种种)已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解:各段分布及段首址见右图所示。各段分布及段首址见右图所示。操作数的物理地址为:操作数的物理地址为:250AH10H+0204H=252A4H注意:一个程序可以有代码段、数据段、附加段和堆栈段,一个程序可以有代码段、数据段、附加段和堆栈段,它们的段基址分别存放在它们的段基址分别存放在CS、D
23、S、ES和和SS中。段寄存器为中。段寄存器为16位,在计算物理地址时要乘位,在计算物理地址时要乘16,比如,比如DS的内容为的内容为1000H,对,对应物理地址为应物理地址为10000H,相当于在二进制数尾部补了,相当于在二进制数尾部补了4个个0,也,也就是说,就是说,段的起始地址段的起始地址只能从物理地址能够整除只能从物理地址能够整除16的(二进的(二进制数尾部为制数尾部为4个个0)那些地址开始。)那些地址开始。例如,如下第一列的物理地址可以作为例如,如下第一列的物理地址可以作为段首地址段首地址,存入段寄,存入段寄存器时只存前存器时只存前16位二进制数,其他列不可以作为段首地址。位二进制数,
24、其他列不可以作为段首地址。00000H 00001H 00002H 00003H 0000FH 00010H 00011H 00012H 00013H 0001FH 00020H 00021H 00022H 00023H 0002FH 00030H 00031H 00032H 00033H 0003FH 内存中一个按LIFO方式操作的特殊区域每次压栈和退栈均以WORD为单位SS存放堆栈段地址,SP存放段内偏移,SS:SP构成了堆栈指针堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用堆栈区是在随机存储的内存堆栈区是在随机存储的内存中开辟一片数据存储区实现中开辟一片数据存储
展开阅读全文