微机原理与应用第四章.ppt
《微机原理与应用第四章.ppt》由会员分享,可在线阅读,更多相关《微机原理与应用第四章.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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年年第五代第五代Inte
3、l 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/80868088/8086的内部结构图的内部结构图AHBHCHDHALBLCLDLSPBPSIDICSDSSSESIP内部暂存寄存器内部暂存寄存器暂存寄存器暂存寄存器FREU控制系统1 2 3 4 5 6总总线线控控制制逻逻辑辑数据总线数据总线16ALU通通用用寄寄存存器器8088指令队列指令队列8088/8086外部总线外部总线数据总线数据总线地址总线地址总线20位位执执行行部部件件EU总总线线接接口口部部件件BIU16位位控制总线EU控制系统ALUEU控控制制系系
5、统统ALU数据总线数据总线16地址总线地址总线20位位控制总线AXBXCXDX8086CPU采用并行工作方式取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌BIU和和EU是并行工作的是并行工作的,按流水线技术原则管理按流水线技术原则管理4.执行转移、调用和返回指令时,指令队列中的原有内容自动消除执行转移、调用和返回指令时,指令队列中的原有内容自动消除 BIU往指令队列中装入另一程序段中的指令往指令队列中装入另一程序段中的指令8088中一个中一个1.当当8086指令队列中有指令队列中有两个两个空字节时空字节时,BIU自动把指令取到队
6、列中自动把指令取到队列中2.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位地址加法器
9、位地址加法器16位内部寄存器提供的信息经地址加法器产生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常用来存放参与运算的操作数或运
10、算结果AX:累加器。多用于存放中间运算结果。所有 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:标志寄存器状态标志:存放运算结果的特征控制标志:控制
12、某些特殊操作 6个状态标志位(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当前的运算结果为零,当前
13、的运算结果为非零奇偶标志PF运算结果所含的1的个数为偶数进位标志CF当执行一个加法运算使最高位产生进位时,或者执行一个减法运算引起最高位产生借位时,此外,循环指令也影响这一标志辅助进位标志AF加法运算时,如果第3位往第4位有进位;减法运算时,如果第3位往第4位有借位。辅助进位标志一般在BCD码运算中作为是否进行十进制调整的判断依据溢出标志OF运算过程中产生溢出时,所谓溢出,是指当字节运算的结果超出了范围 128+127,或者当字运算的结果超出了范围 32768+32767时称为溢出方向标志DF控制串操作指令用的标志。DF=0,串操作过程中的地址会不断增值;DF=1,串操作过程中的地址会不断减值
14、中断标志IF控制可屏蔽中断的标志。IF=0,CPU不能对可屏蔽中断请求作出响应;IF=1,CPU可以接受可屏蔽中断请求跟踪标志TF CPU按跟踪方式执行指令主要内容:主要内容:存储器编址存储器编址存储器分段和物理地址生成存储器分段和物理地址生成堆栈和栈操作指令堆栈和栈操作指令数据与指令的存储与访问数据与指令的存储与访问地址地址地址地址内内内内 容容容容0 000000100B00000100B(4 4)1 110000000B10000000B(128128)2 200010001B00010001B(1717)25525500001111B(15)00001111B(15)地址是数地址是数地
15、址是数地址是数据存放的据存放的据存放的据存放的门牌号码门牌号码门牌号码门牌号码是标明数是标明数是标明数是标明数据所在位据所在位据所在位据所在位置的唯一置的唯一置的唯一置的唯一代号代号代号代号每个地每个地每个地每个地址空间址空间址空间址空间可以存可以存可以存可以存放放放放8 8位二位二位二位二进制数进制数进制数进制数内存示意图内存示意图所有所有所有所有CPUCPU可以访问的数可以访问的数可以访问的数可以访问的数据与指令都以二进制数据与指令都以二进制数据与指令都以二进制数据与指令都以二进制数的形式存放在内存中的形式存放在内存中的形式存放在内存中的形式存放在内存中 80868086计计算算机机主主存
16、存储储器器是是按按字字节节进进行行组组织织的的,两个相邻的字节被称为一个两个相邻的字节被称为一个“字字”。存存放放的的信信息息若若是是以以字字节节ByteByte(8 8位位)为为单单位位的的,将将在在存存储储器器中中按按顺顺序序排排列列存存放放,每每个个地地址址单单元存放一个字节,即每个字节占用一个地址;元存放一个字节,即每个字节占用一个地址;若若存存放放的的数数据据为为一一个个字字WordWord(1616位位)时时,则则每每一一个个字字占占用用两两个个地地址址相相连连的的存存储储单单元元,其其中中低低字字节节(低低8 8位位)存存放放在在低低地地址址中中,高高字字节节(高高8 8位位)存
17、放在高地址中,并以低地址作为该字的地址。存放在高地址中,并以低地址作为该字的地址。80868086系系统统只只能能提提供供2020根根地地址址线线来来区区分分内内存存的的不不同同存存储储单单元元,因因此此80868086系系统统可可以以连连接接的的内内存存最最多只能包含多只能包含2 22020(1M1M)字节的存储单元。)字节的存储单元。存储器以存储器以8 8位为一个存储单元编址,每一个存位为一个存储单元编址,每一个存储单元用唯一的一个地址码来表示。储单元用唯一的一个地址码来表示。一个字的两个单元有各自的地址,处于低地一个字的两个单元有各自的地址,处于低地址的址的字节的地址字节的地址为这个为这
18、个字的地址字的地址在存储器中,任何连续存放的两个字节都可在存储器中,任何连续存放的两个字节都可以称为一个字。将偶地址的字称为以称为一个字。将偶地址的字称为规则字规则字,奇,奇地址的字称为地址的字称为非规则字非规则字。例:字例:字2301的地址为的地址为0000H,为,为规则字;规则字;字字89678967的地址为的地址为0003H,为,为非规则字。非规则字。8086的存储器结构l物理地址物理地址l8086:20根地址线,可寻址220(1MB)个存储单元lCPU送到AB上的20位的地址称为物理物理地址地址 物理地址.60000H 60001H 60002H 60003H 60004H.12HF0
19、H1BH08H存储器的操作完全基于存储器的操作完全基于物理地址物理地址。问题:问题:80868086的内部总线和内部的内部总线和内部寄存器均为寄存器均为1616位位,如何,如何生成生成2020位地址位地址?解决:解决:存储器分段存储器分段高地址低地址段基址段基址段基址段基址最大最大64KB段i-1段i段i+11.1M存储空间分成若干个逻辑段,每一段存储空间分成若干个逻辑段,每一段 64K2.段与段之间可以连续排列,部分重叠,断续排段与段之间可以连续排列,部分重叠,断续排列。列。段基地址段基地址和段内段内偏移偏移组成了逻辑地址逻辑地址 段地址段地址 偏移地址偏移地址(偏移量偏移量)格式为:段地址
20、段地址:偏移地址偏移地址 物理地址物理地址=段基地址段基地址16+偏移地址偏移地址60002H00H12H60000H0 0 0 0段基地址(段基地址(16位)位)段首地址段首地址 02HBIU中的地址加法器用来实现逻辑地址到物理中的地址加法器用来实现逻辑地址到物理地址的变换地址的变换8088 可同时访问可同时访问4个段,个段,4个段寄存器指示了每个段寄存器指示了每个段的基地址个段的基地址段基址段基址段内偏移段内偏移物理地址物理地址+16位20位0000逻辑地址和物理地址区别逻辑地址和物理地址区别逻辑地址和物理地址区别逻辑地址和物理地址区别物理地址:物理地址:20位绝对地址位绝对地址逻辑地址:
21、段基址:段内偏移量逻辑地址:段基址:段内偏移量物理地址物理地址=段基址段基址 16+偏移地址偏移地址段寄存器值 0000 偏移地址 20位物理地址 16位4位15015019020条地址线条地址线 寻址能力寻址能力地址范围地址范围220=1M字节字节 00000FFFFFH19 0物理地址物理地址加法器加法器段基址段基址 偏移地址偏移地址15 015 00000偏移地址偏移地址段首地址段首地址00000H42320H42386H乘以乘以16物理地址物理地址例:例:已知已知IP=66H,CS=4232HCS16=42320H段首址段首址IP=66H偏移地址偏移地址下一条指令下一条指令物理地址物理
22、地址采用段寄存器的优点采用段寄存器的优点1.解决了解决了16位寄存器如何访问大于位寄存器如何访问大于64KB内存空间的内存空间的问题问题2.可以实现程序的重定位可以实现程序的重定位物理地址:物理地址:1MB存储区域中的实际地址(存储区域中的实际地址(20位的地址)位的地址)逻辑地址:程序中出现的地址,由段地址和段内偏移量组成逻辑地址:程序中出现的地址,由段地址和段内偏移量组成(注:段地址和段偏移量都是注:段地址和段偏移量都是16位的二进制数位的二进制数)存储器管理就是将程序中的逻辑地址转换成物理地址的结构存储器管理就是将程序中的逻辑地址转换成物理地址的结构物理地址物理地址=段地址段地址16+偏
23、移量偏移量*同一物理地址可以有不同的段地址和偏移量同一物理地址可以有不同的段地址和偏移量对对8086/8088而言而言内存地址的一般情况内存地址的一般情况内存地址的一般情况内存地址的一般情况1.指令地址:指令地址:CS16+IP2.堆栈操作地址:堆栈操作地址:SS16+SP3.操作数地址:操作数地址:DS(ES)16+偏移地址(其中的偏移地址取决于指令的寻址方式其中的偏移地址取决于指令的寻址方式共共24种种)已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址=0204H,1)画出各段在内存中的分布 2)指出各段首地址 3)该操作数的物理地址
24、=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解:各段分布及段首址见右图所示。各段分布及段首址见右图所示。操作数的物理地址为:操作数的物理地址为:250AH10H+0204H=252A4H注意:一个程序可以有代码段、数据段、附加段和堆栈段,一个程序可以有代码段、数据段、附加段和堆栈段,它们的段基址分别存放在它们的段基址分别存放在CS、DS、ES和和SS中。段寄存器为中。段寄存器为16位,在计算物理地址时要乘位,在计算物理地址时要乘16,比如,比如DS的内容为的内容为1000H,对应物理地址为对应物理地址为10000H,相当于在二进制数尾部补了,相当于在二进制数尾
25、部补了4个个0,也就是说,也就是说,段的起始地址段的起始地址只能从物理地址能够整除只能从物理地址能够整除16的(二进的(二进制数尾部为制数尾部为4个个0)那些地址开始。)那些地址开始。例如,如下第一列的物理地址可以作为例如,如下第一列的物理地址可以作为段首地址段首地址,存入段寄存,存入段寄存器时只存前器时只存前16位二进制数,其他列不可以作为段首地址。位二进制数,其他列不可以作为段首地址。00000H 00001H 00002H 00003H 0000FH 00010H 00011H 00012H 00013H 0001FH 00020H 00021H 00022H 00023H 0002FH
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 应用 第四
限制150内