第一章_3 8086、8088微处理器及存储器结构、堆栈_第1页
第一章_3 8086、8088微处理器及存储器结构、堆栈_第2页
第一章_3 8086、8088微处理器及存储器结构、堆栈_第3页
第一章_3 8086、8088微处理器及存储器结构、堆栈_第4页
第一章_3 8086、8088微处理器及存储器结构、堆栈_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、两个独立的功能部件:执行部件两个独立的功能部件:执行部件EU、总线接口部件、总线接口部件BIU。AH ALBH BLCH CLDH DLSPBPSIDICSDSSSESIP1 24653标志寄存器标志寄存器总线总线控制控制逻辑逻辑指令队列指令队列EU控控制制ALU地址加法器地址加法器BIU单元单元EU单元单元AXBXCXDX内存内存接口接口14 80 x86微处理器的编程结构微处理器的编程结构 EU、BIU并行工作,在执行一条指令时可同时取后面的指并行工作,在执行一条指令时可同时取后面的指令,相比令,相比8位位CPU的串行工作方式运行速度要快的串行工作方式运行速度要快14 80 x86微处理器

2、的编程结构微处理器的编程结构 141 基本结构寄存器基本结构寄存器通用数据寄存器通用数据寄存器SIESIESI、SI:数据段源变址指针寄存器数据段源变址指针寄存器BPEBPEBP、BP:堆栈段基址指针寄存器堆栈段基址指针寄存器SPESPESP、SP:堆栈段栈顶指针寄存器堆栈段栈顶指针寄存器DHDLDXEDXEDX、DX、DH、DL:间接间接I/O操作;双操作;双字乘字乘/除,为除,为数据寄存器数据寄存器CXCHCLECXECX、CX、CH、CL循环计数;重复串操循环计数;重复串操作;可变移位、循环移位操作。称为作;可变移位、循环移位操作。称为计数计数寄存器寄存器EBX、BX、BH、BL查表转换

3、;存放基地查表转换;存放基地址。称为址。称为基址累加器。基址累加器。BXBHBLEBXEAX、AX、AH、AL:加减;加减;BCD、ASCII调整;字节到字,字到双字转换;乘调整;字节到字,字到双字转换;乘/除,串除,串操作,操作,I/O操作等。称为操作等。称为累加器。累加器。AXAHALEAXEDI、DI:数据段目的变址指针寄存器数据段目的变址指针寄存器DIEDI14 80X86微处理器的编程结构微处理器的编程结构 141 基本结构寄存器基本结构寄存器专用寄存器专用寄存器指令指针指令指针EIP(IP):):跟踪下条指令的偏移跟踪下条指令的偏移地址。地址。IPEIP14 80X86微处理器的编

4、程结构微处理器的编程结构 标志寄存器标志寄存器EFLAGS (Flags)CPU的控制标志和运算结果状态标志。的控制标志和运算结果状态标志。 D16IDVIFACVMRFD21D31VIPD18APCDITSZD0D11D14NTIOPL OIOPL8086 : D0D119个标志个标志80486 :D0D18的的15个标志个标志PENTIUM :D0D21的的18个标志。个标志。80386 : D0D17 14个标志个标志80286 : D0D14 12个标志个标志标志寄存器标志寄存器EFLAGS (Flags)8086的状态标志和控制标志:的状态标志和控制标志:TF DF IF OF SF

5、 ZF AF PF CF控制标志控制标志状态标志状态标志跟跟踪踪状态标志:状态标志:标示标示CPUCPU运运行结果的状态。结果为行结果的状态。结果为零、为负、产生进位或零、为负、产生进位或借位等。借位等。控制标志:控制标志:控制控制CPUCPU的的运行状态。运行状态。141 基本结构寄存器基本结构寄存器14 80X86微处理器的编程结构微处理器的编程结构 半进位半进位奇偶奇偶进位进位零零符号符号溢出溢出中断中断方向方向 若执行结果的低若执行结果的低8位中有偶数个位中有偶数个1,PF=1; 半进位标志半进位标志AF用于用于BCD数的算术运算调整指令中数的算术运算调整指令中; 符号数的运算结果如超

6、出了表示范围符号数的运算结果如超出了表示范围,即结果出错即结果出错时溢出标志位时溢出标志位OF =1,OF=CY CS,例,例: 105+50=69H+32H=9BH=10011011B CY=0, CS=1, OF=CY CS=1 -105-50=10010111B+11001110B=01100001B CY=1, CS=0, OF=CY CS=1(采用多字节运算可扩大运算结果的表示范围,避(采用多字节运算可扩大运算结果的表示范围,避免溢出)免溢出)段寄存器段寄存器对所有对所有X86级级CPU均为均为16位寄存器。位寄存器。8086CPU: 段寄存器直接给出段基址。段寄存器直接给出段基址。

7、 代码段:代码段:CS代码段存贮区的起始地址代码段存贮区的起始地址 堆栈段:堆栈段:SS堆栈段存贮区的起始地址堆栈段存贮区的起始地址 数据段:数据段:DS、ES、FS、GS(8086只有二个数据段寄存器只有二个数据段寄存器DS、ES)数据段存贮区的起始地址数据段存贮区的起始地址141 基本结构寄存器基本结构寄存器14 80X86微处理器的编程结构微处理器的编程结构 CSESSSDSGSFS16位位8028680286以上以上CPU: 由段寄存器(选择器)经全局描述符或局部描述由段寄存器(选择器)经全局描述符或局部描述符寄存器得到相应的描述符表,从而得到段基址,与偏移地址相符寄存器得到相应的描述

8、符表,从而得到段基址,与偏移地址相加得到线性物理地址。加得到线性物理地址。存贮器的物理地址存贮器的物理地址以字节为最小基本存储单元的顺序编址。以字节为最小基本存储单元的顺序编址。 (2 22020=1024K=1MB=1024K=1MB空间)从空间)从00000H00000H到到0FFFFFH0FFFFFH个单元的个单元的2020位绝对地址。位绝对地址。2AH?HBFH00000H00003H00002H00001HFFFFDHFFFFFHFFFFEH存贮器的逻辑地址存贮器的逻辑地址 将将1MB1MB空间,以小于等于空间,以小于等于2 21616=64K=64K连续的存储器为一段,分为连续的存

9、储器为一段,分为多个段。每个段可以独立寻址。多个段。每个段可以独立寻址。段地址:段内偏移地址段地址:段内偏移地址的表示方法称逻辑地址。的表示方法称逻辑地址。如,如,2000H:100H2000H:100H补充:补充: 8086存储器的分段管理存储器的分段管理8086同时可有同时可有4个段被激活(称当前段)。它个段被激活(称当前段)。它们是们是CS代码段、代码段、DS数据段、数据段、SS堆栈段、堆栈段、ES附附加数据段。加数据段。CPU访问内存中这访问内存中这4段时,逻辑地段时,逻辑地址按以下方式提供:址按以下方式提供: 代码段代码段 CS:IP 堆栈段堆栈段 SS:SP 或或 SS:偏移地址:

10、偏移地址 数据段数据段 DS:偏移地址:偏移地址 附加数据段附加数据段 ES:偏移地址:偏移地址偏移地址由偏移地址由EU部件算出,又称为部件算出,又称为有效地址有效地址(EA),),计算方法与指令的寻址方式有关计算方法与指令的寻址方式有关代码段代码段00000H00001HFFFFFHFFFFEH数据段数据段堆栈段堆栈段附加段附加段CSESSSDS段地址:段的起始地址段地址:段的起始地址偏移地址:段内地址的顺序编号。偏移地址:段内地址的顺序编号。145 8086存储器的分段管理存储器的分段管理分段之间必须:分段之间必须:1保持保持16个字节或其整数倍为段地址间距。个字节或其整数倍为段地址间距。

11、216位段寄存器表示段基址。段寄存器加位段寄存器表示段基址。段寄存器加1实际实际 上存储器地址加上存储器地址加16。3段可连续、分散、重迭。段可连续、分散、重迭。 物理地址物理地址PA=段地址段地址16+偏移地址偏移地址(EA) (由(由20位的地址加法器实现)位的地址加法器实现) 可以表为可以表为0100H:0023HPA=0100H10H+0023H =01023H145 8086存储器的分段管理存储器的分段管理偏移偏移23H偏移偏移03H也可表为也可表为0102H:0003HPA=0102H10H+0003H =1023H两两段间距为段间距为20H单元,两单元,两种逻辑地址表示种逻辑地址

12、表示同一个物理地址单元同一个物理地址单元01023H。00000H00001HFFFFFHFFFFEHXX01023H01000H01001H01002H01022H01021H01020H0100H:0000H0102H:0000H0102H:0001H0100H:0001H例:对于物理地址例:对于物理地址01023H单元单元指令译码指令译码执行指令执行指令ADD AL,100HCS:IP=F0300HIP指下条指令指下条指令ADD指令指令指令队列指令队列20100H偏移地址偏移地址100H操作数操作数34HDS=2000HAL=12HALU标志标志AL取下一条指令取下一条指令145 808

13、6指令的执行指令的执行AH12HCSDSSSESIP1 24653标志寄存器标志寄存器总线总线控制控制逻辑逻辑指令队列指令队列EU控控制制ALUAX2AHBFH34HADD指令指令00000H20100H00001HFFFFFHFFFFEH20位地址位地址主存储器主存储器F0300H寄存器组寄存器组2000H1.5 堆栈和栈操作指令堆栈和栈操作指令堆栈的概念堆栈的概念 在存储器中开辟的一片数据存储区(堆栈段),其中在存储器中开辟的一片数据存储区(堆栈段),其中数据的存取遵循数据的存取遵循“先进后出先进后出”的原则,如同货栈中堆放货的原则,如同货栈中堆放货物的方式,最下面固定的存储单元叫物的方式

14、,最下面固定的存储单元叫“栈底栈底”,最后加入,最后加入的数据所占单元是活动的,叫的数据所占单元是活动的,叫”栈顶栈顶“。堆栈指示器堆栈指示器SP 总是指向栈顶,其值是栈顶单元在堆栈段中的偏移地总是指向栈顶,其值是栈顶单元在堆栈段中的偏移地址。址。堆栈生长方向堆栈生长方向 8086的堆栈生长方向是的堆栈生长方向是从高地址到低地址从高地址到低地址,8086的堆栈的堆栈操作都是字操作,调用进栈指令将一个字数据压入堆栈时操作都是字操作,调用进栈指令将一个字数据压入堆栈时SP自动减自动减 2,调用出栈指令将一个字数据从栈顶弹出时,调用出栈指令将一个字数据从栈顶弹出时SP自动加自动加 2。(。(Page

15、 26 图图1-28、1-29)堆栈的作用堆栈的作用 主、子程序的调用和返回,中断,保护现场,寄存中主、子程序的调用和返回,中断,保护现场,寄存中间结果、存放参数。间结果、存放参数。栈操作指令栈操作指令 进栈指令:进栈指令:PUSH source 出栈指令:出栈指令:POP dest 状态寄存器的进、出栈指令状态寄存器的进、出栈指令 PUSHF POPF 堆栈中的数据也可通过基址寄存器堆栈中的数据也可通过基址寄存器BP或基址累加器或基址累加器BX、源变址寄存器、源变址寄存器SI、目的变址寄存器、目的变址寄存器DI进行存取,不受进行存取,不受堆栈操作的限制,此时,堆栈段可以象数据段一样使用。堆栈

16、操作的限制,此时,堆栈段可以象数据段一样使用。24 80X86微处理器的引脚功能微处理器的引脚功能 CPU引脚生成系统总线引脚生成系统总线:ABUS、DBUS、CBUS联接联接 ROM、RAM、I/O接口形成微型计算机。接口形成微型计算机。微机主板上的扩展插槽就是系统总线的物理表现。微机主板上的扩展插槽就是系统总线的物理表现。Vcc40AD1539A16/S338A17/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/

17、MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU引脚及功能引脚及功能 1、地址线和数据线、地址线和数据线 (1) AD0 AD15地址数据线地址数据线 T1:为地址线,:为地址线,A0A15单向输单向输出三态出三态 T2T4:为数据线双向三态,为数据线双向三态,D0 D15 (2) A19/S6A16/S3地址状态线,地址状态线,单向三态单向三态 (3)BHE/S724

18、 80X86微处理器的引脚功能微处理器的引脚功能 Vcc40AD1539A16/S338A17/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU2

19、、控制总线、控制总线24 80X86微处理器的引脚功能微处理器的引脚功能 MN/MX=0,最大工作模式最大工作模式 =1,最小工作模式最小工作模式 (1)MN/MX工作工作模式信号模式信号(2)NMI ,不可屏蔽中断不可屏蔽中断, 单向、单向、输入输入CPU不可以进行屏蔽。执行完本不可以进行屏蔽。执行完本条指令后控制转移到中断服务程条指令后控制转移到中断服务程序。(如掉电等特殊情况)序。(如掉电等特殊情况)(3)INTR,可屏蔽中断可屏蔽中断, 单向单向、输入输入。只有当只有当IF=1时外设的中断请求才时外设的中断请求才可能被响应。当可能被响应。当IF=0时所有的中时所有的中断申请均不能响应。

20、断申请均不能响应。Vcc40AD1539A16/S338A17/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU(4)M/IOM/IO=0,I/O

21、设备操作设备操作=1,存贮器操作存贮器操作单向输出,读操作有效信号,完成存贮器和外设的读取操作。单向输出,读操作有效信号,完成存贮器和外设的读取操作。M/IO读操作有效信号,读操作有效信号,单向、输出单向、输出完成存贮器和完成存贮器和I/O读取操作。读取操作。RD(5)=0,读读I/O设备设备=0,读存贮器读存贮器RDRDM/IO=0=1与与(6)CLK 主时钟引入线主时钟引入线4.77M10M为为8088和和8086的主时钟。的主时钟。(7)RESET复位信号,单向、输入复位信号,单向、输入(8)READY准备好信号,单向、输入准备好信号,单向、输入Vcc40AD1539A16/S338A1

22、7/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU(10)GND、VCCVCC=+5V,GND=0V 电源的电源的正负极。正负极。最小工作模式下

23、的控制信号。最小工作模式下的控制信号。 TEST测试信号,单向、输入。测试信号,单向、输入。 (9)=0,写写I/O设备设备=0,写,写存贮器存贮器WRWRM/IO=0=1写操作有效信号,写操作有效信号,单向、输出单向、输出M/IO完成存贮器和完成存贮器和I/O写取操作。写取操作。WR(11)与与INTA(12)可屏蔽中断应答信号。单向可屏蔽中断应答信号。单向输入输入(13)ALE 地址锁存信号地址锁存信号 ,单向,输出。单向,输出。 T1 : 锁存锁存AD0AD15上的地址信号,经上的地址信号,经锁存器得到锁存器得到A0A19地址总线。地址总线。 Vcc40AD1539A16/S338A17

24、/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPUDEN(14)数据允许信号数据允许信号 ,单向,输出。,单向,输出。 读操作,由读操作,由M/I

25、O到到CPU写操作,由写操作,由CPU到到M/IO DT/R=0=1数据收发信号数据收发信号 ,单向,输出。,单向,输出。(15)DT/R(16)HOLD总线请求,单向、总线请求,单向、输入输入。总 线 请 求 部 件 发 出总 线 请 求 部 件 发 出HOLD=1,产生一个总线请求。,产生一个总线请求。(17)HLDA总线应答,单向、总线应答,单向、输出输出。Vcc40AD1539A16/S338A17/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S6123456789101112

26、1314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU最大工作模式下的控制信号。最大工作模式下的控制信号。 (1)QS0、QS1,指令,指令队列状态,单向、输出。队列状态,单向、输出。QS1 QS0 0 0 无操作无操作 0 1 第一字节第一字节 1 0 队列空队列空 1 1 后续字节后续字节Vcc40AD1539A16/S338A17/

27、S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HOLD(RQ/GT0)WR(LOCK)M/IO(S2)TESTINTA(QS1)DT/R(S1)AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0GNDNMIINTRCLKGND8086CPU最大工作模式下的控制信号。最大工作模式下的控制信号。 (2)机器周期状态,输出三态机器周期状态,输

28、出三态S2、S1、S0提供当前总线机器状态信号作为提供当前总线机器状态信号作为8288的输入信号编码,由的输入信号编码,由8288输输出控制信号。出控制信号。 0 0 0 中断响应中断响应 0 0 1 读读I/O 0 1 0 写写I/O 0 1 1 暂停暂停 1 0 0 取指取指 1 0 1 读存储器读存储器 1 1 0 写存储器写存储器 1 1 1 无效无效S2、S1、S0Vcc40AD1539A16/S338A17/S4373635BHE/S73433323130292827DEN(S0)26ALE(QS0)252423READY22RESET21A18/S5A19/S61234567891011121314151617181920MN/MXRDHLDA(RQ/GT1)HO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论