第章INTELX系列微处理器.ppt
《第章INTELX系列微处理器.ppt》由会员分享,可在线阅读,更多相关《第章INTELX系列微处理器.ppt(86页珍藏版)》请在三一办公上搜索。
1、第4章 Intel80X86 系列微处理器,4.1 8086/8088 微处理器概述4.2 8086/8088 内部寄存器结构4.3 8086/8088 的存储器组织和I/O组织4.4 8086/8088 的内部结构4.5 8086/8088 外特性引脚信号及其功能4.6 8086/8088 最小工作模式及其系统结构4.7 8086/8088 最大工作模式及其系统结构4.8 8086/8088 总线时序4.9 INTEL 80286 到 Pentium CPU,4.1 8086/8088 微处理器概述,1978年Intel公司推出了首枚16位微处理器8086,以后英特尔生产的80X86系列微处
2、理器,均与其兼容。1979年Intel公司推出了成本较低的Intel8088微处理器。1981年IBM公司选择8088微处理器作为核心来设计IBM PC微计算机系统,推向市场后获得了巨大的成功,为后来的80 x86系列微处理器成为主流微计算机的处理核心打下了基础。,4.1 8086/8088 微处理器概述,4.2 8086/8088 内部寄存器结构,了解CPU内部寄存器结构并掌握其使用方法是进行汇编语言程序设计的关键和基础。8086/8088 内部有14个16位的寄存器,可供程序直接使用。按功能分为三组:通用寄存器组(8个)、段寄存器组(4个)和控制寄存器组(2个)。,4.2 8086/808
3、8 内部寄存器结构,4.2.1 通用寄存器组4.2.2 段寄存器组4.2.3 控制寄存器组,4.2.1通用寄存器组,数据寄存器地址指针和变址寄存器,8086/8088 CPU有8个通用寄存器。这8个寄存器可以分为两类:数据寄存器和地址指针与变址寄存器。,一、数据寄存器,数据寄存器包括4个16位寄存器AX、BX、CX和DX,通常用于存放参与运算的操作数和运算结果。每一个数据寄存器又可将高、低8位分别作为两个独立的8位寄存器使用。它们的高8位分别记作AH、BH、CH、DH,低8位分别记作AL、BL、CL、DL。,二、地址指针和变址寄存器,地址指针和变址寄存器包括4个16位寄存器SP、BP、SI和D
4、I。它们主要是用来存放或指示操作数的偏移地址。其中SP、BP为地址指针寄存器,SI、DI为变址寄存器。SP堆栈指针:存放堆栈栈顶的偏移地址。堆栈操作指令PUSH和POP根据该寄存器得到操作数的偏移地址。BP基址寄存器:存放堆栈中数据的偏移地址。SI源变址寄存器:用来存放源数据区的偏移地址。DI目标变址寄存器:用来存放目的数据区的偏移地址。所谓变址寄存器,是指它存放的地址在串操作指令中可以按照要求自动增加/减少。,4.2.2 段寄存器组,8086/8088 CPU的存储器采用分段管理,为此,8086/8088 内部设置了4个16位的段寄存器,CS代码段寄存器、DS数据段寄存器、SS堆栈段寄存器和
5、ES附加段寄存器,分别用于存放代码段、数据段、堆栈段和附加段的段基地址。关于这4个寄存器的使用详见“4.3 8086/8088 的存储器组织和I/O组织”。,4.2.3 控制寄存器组,IP指令指针FLAGS标志寄存器,8086/8088 CPU包含2个16位的控制寄存器:指令指针IP和标志寄存器FLAGS。,一、IP 指令指针,IP 用于存放下一条要执行的指令的偏移地址。程序运行中,IP 的内容自动修改,始终指向下一条要执行的指令地址。IP 起着控制指令执行流程的作用,是一个十分重要的控制寄存器。正常情况下,程序不能直接修改 IP的内容,但当需要改变程序执行顺序时,如遇到中断指令或调用指令时,
6、IP 中的内容将被自动修改。,二、FLAGS 标志寄存器,FLAGS 用于存放指令执行结果的特征和 CPU 工作方式。其内容通常称为处理器状态字(Processor Status Word,PSW)。FLAGS 是一个16位寄存器,实际使用了9位。9个标志分为状态标志和控制标志两类。,图4.3 标志寄存器,1、状态标志,CF:进位标志。有进位或借位时,CF=1;否则 CF=0。PF:奇偶标志。低8位有偶数个“1”,PF=1;否则 PF=0。AF:辅助进位标志。D3位有进位或借位时,AF1;否则AF0。ZF:零标志。结果为零,ZF1;否则 ZF0。SF:符号标志。结果为负数,SF1;否则 SF0
7、。OF:溢出标志。发生溢出,OF1;否则 OF0。,6个状态标志位用来表示运算结果的特征。状态标志位的置位或清零,由CPU根据运算过程和运算结果自动设置。,2、控制标志,3个控制标志是用来控制CPU的工作方式的标志。IF:中断允许标志。用来控制对外部可屏蔽中断的响应。如果IF1,则允许CPU响应外部可屏蔽中断请求;否则CPU不响应外部可屏蔽中断请求。DF:方向标志。用来控制串操作指令的执行。如果DF1,则串操作指令的地址自动减量修改,串数据的传送过程是从高地址到低地址进行;否则,串操作指令的地址自动增量修改,串数据的传送过程是从低地址到高地址进行。TF:陷阱标志,又称单步标志。当TF1时,微处
8、理器就进入单步工作方式,每执行完一条指令便自动产生一个内部中断(称为单步中断),转去执行一个中断服务程序,可以借助中断服务程序来检查每条指令的执行情况;如果TF0,则CPU正常(连续)执行指令。,4.3 8086/8088 的存储器组织和I/O组织,4.3.1 存储器的分段管理4.3.2 物理地址与逻辑地址4.3.3 物理地址的形成4.3.4 堆栈4.3.5 存储器组织4.3.6 I/O组织,4.3.1存储器的分段管理,为了实现对1MB单元的寻址,8086/8088系统采用了存储器分段技术。存储器分段技术具体实现方法是:将1MB的存储空间分成许多逻辑段,每段最长64K字节单元,段内可以使用16
9、位地址码进行寻址。每个逻辑段在实际存储空间中的位置是可以浮动的,逻辑段的起始地址可由段寄存器的内容来确定。实际上,段寄存器中存放的是段起始地址的高16位,称之为段基地址,逻辑段起始地址的低4位为0。,图4.4 逻辑段在物理存储器中的位置,各个逻辑段在实际的存储空间中可以完全分开,也可以部分重叠,甚至完全重叠。段的起始地址的计算和分配通常是由操作系统完成的,并不需要普通用户参与。,4.3.2 物理地址与逻辑地址,物理地址:信息在存储器中实际存放的地址,它是CPU访问存储器时实际输出的地址。8086/8088系统的物理地址是20位,存储空间为2201M字节单元,地址范围从00000H到FFFFFH
10、。CPU和存储器交换数据时所使用的就是20位的物理地址。逻辑地址:编程时所使用的地址,由段基地址和偏移量两部分构成。程序设计时所涉及的地址是逻辑地址而不是物理地址。编程时不需要知道产生的代码或数据在存储器中的具体物理位置。这样可以简化存储资源的动态管理。段基地址(段地址或段基址):段的起始地址的高16位。偏移量(偏移地址):所访问的存储单元距段的起始地址之间的字节距离。,在8086/8088计算机系统中,每个存储单元可以看成具有两种地址:物理地址和逻辑地址。,4.3.2 物理地址与逻辑地址,给定段基地址和偏移量,就可以在存储器中寻址所访问的存储单元。在8086/8088系统中,段基地址和偏移量
11、都是16位的。段基地址由16位的段寄存器CS、DS、SS和ES提供;偏移量通常由BX、BP、SP、SI、DI、IP或这些寄存器的组合形式来提供。例如,8086/8088开机后执行的第一条指令的逻辑地址由CS和IP两个寄存器给出,其逻辑地址表示为FFFFH:0000H,对应的物理地址为FFFF0H。,4.3.3 物理地址的形成,8086/8088访问存储器时的20位物理地址可由逻辑地址转换而来。转换方法:将段寄存器中的16位段基地址左移4位(低位补0),再与16位的偏移量相加,即可得到所访问存储单元的物理地址。计算公式:物理地址段基地址16+偏移量 上式中的“段基地址16”在微处理器中是通过将段
12、寄存器的内容左移4位(低位补0)来实现的,得到的是20位的段的起始地址。段的起始地址与偏移量相加的操作由20位地址加法器来完成,,图4.5 8086/8088物理地址的产生,【例4.1】设代码段寄存器CS中的内容为4232H,指令指针寄存器IP中的内容为0066H,即CS4232H,IP0066H,则访问代码段存储单元的物理地址计算如下:,所以,访问代码段存储单元的物理地址为42386H。,【例4.2】设数据段寄存器DS的内容为1234H,基址寄存器BX的内容为0023H,即DS1234H,BX0023H,则访问数据段存储单元的物理地址计算如下:,所以,访问数据段存储单元的物理地址为12363
13、H。,4.3.4 堆栈,堆栈是存储器中的一个特殊的数据存储区,采用“后进先出”的原则存放数据,通常它的一端(栈底)是固定的,另一端(栈顶)是浮动的,信息的存入和取出都只能在浮动的一端进行。堆栈主要用来暂时保存程序运行时的一些地址或数据信息。例如:当CPU执行调用指令时,用堆栈保存程序的返回地址(亦称断点地址);在中断处理时,通过堆栈“保存现场”和“恢复现场”;有时也利用堆栈为子程序传递参数。,4.3.5 存储器组织,8086CPU 有四个逻辑段,分别是代码段、数据段、堆栈段和附加段。代码段:用于存放指令代码。代码段寄存器CS存放代码段的段基地址,偏移量由指令指针IP提供。数据段和附加段:用于存
14、放操作数。数据段寄存器DS存放数据段的段基地址,附加段段寄存器ES存放附加段的段基地址。堆栈段:堆栈段用于暂时保存程序运行中的一些数据和地址信息。,4.3.6 I/O组织,8086/8088 I/O端口为64KB,因此只需要16跟地址线A15A0。对I/O端口寻址时不需要使用段寄存器,高位地址A19A16输出0。,4.4 8086/8088 的内部结构,8086/8088微处理器由两个独立的部件构成,一个是总线接口部件BIU(Bus Interface Unit),另一个是执行部件EU(Execution Unit)。,4.4.1总线接口部件BIU,BIU负责完成微处理器内部与外部(内存储器和
15、I/O端口)的信息传送,即负责取指令和存取数据。BIU由以下5个部分组成:4个16位的段寄存器:CS、DS、SS和ES,分别用于存放当前代码段、数据段、附加段和堆栈段的段基地址。16位指令指针IP:用于存放下一条要执行的指令的偏移地址。20位物理地址加法器:用于将来自于段寄存器的16位段地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加,形成一个20位的物理地址。6/4字节的指令队列:用于存放预取的指令,减少等待时间,避免取指令和取操作数发生冲突,从而提高运行效率。总线控制逻辑:用于产生并发出总线控制信号,以实现对存储器和I/O端口的读写控制。它将CPU的内部总线与16位的外部总线
16、相连,是CPU与外部进行数据交换的通路。,4.4.2执行部件EU,执行部件EU的功能就是负责指令的执行。EU由以下几部分组成:算术逻辑单元ALU:ALU完成16位或8位的二进制数的算术/逻辑运算,绝大部分指令的执行都由ALU完成。在运算时,数据先传送至16位的暂存寄存器中,经ALU处理后,运算结果可通过内部总线送入通用寄存器或由BIU存入存储器。标志寄存器FLAGS:它用来反映CPU最后一次运算结果的状态特征或存放控制标志。FLAGS为16位,其中7位未用。通用寄存器组:它包括4个数据寄存器AX、BX、CX、DX,其中AX又称累加器,4个地址指针和变址寄存器,即基址寄存器BP、堆栈指针寄存器S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INTELX 系列 微处理器

链接地址:https://www.31ppt.com/p-5283434.html