第4章+Intel80X86系列微处器

上传人:飞*** 文档编号:8481121 上传时间:2017-08-11 格式:PPT 页数:42 大小:1.03MB
返回 下载 相关 举报
第4章+Intel80X86系列微处器_第1页
第1页 / 共42页
第4章+Intel80X86系列微处器_第2页
第2页 / 共42页
第4章+Intel80X86系列微处器_第3页
第3页 / 共42页
第4章+Intel80X86系列微处器_第4页
第4页 / 共42页
第4章+Intel80X86系列微处器_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第4章+Intel80X86系列微处器》由会员分享,可在线阅读,更多相关《第4章+Intel80X86系列微处器(42页珍藏版)》请在金锄头文库上搜索。

1、第4章 Intel80X86系列微处理器,本章内容:Intel8086微处理器的基本结构与工作原理;INTEL80286到Pentium CPU简要介绍。,2,4.1 8086/8088微处理器概述,1978年Intel公司推出了首枚16位微处理器8086,单一+5V供电,芯片外部数据总线16位,地址总线20位,最大可寻址1MB的存储空间。,3,4.2 8086/8088内部寄存器结构,14个16位的寄存器,可以分为三组:通用寄存器组(8个)段寄存器组(4个)控制寄存器组(2个),4,FLAGS标志寄存器,5,(1)CF(Carry Flag)进位标志。当执行算术运算指令时,其结果的最高位有进

2、位或借位时,CF=1;否则CF=0。移位指令和标志位操作指令执行时也会影响此标志。(2)PF(Parity Flag)奇偶标志。该标志位反映操作结果低8位中“1”的个数情况,若为偶数个“1”,则PF=1;若为奇数个“1”,则PF=0。设置奇偶标志位是早期Intel微处理器在数据通信环境中校验数据的一种手段。现在,奇偶校验通常由数据存储和通信设备完成,而不是由微处理器完成。所以,这个标志位在现代程序设计中很少使用。(3)AF(Auxiliary Carry Flag)辅助进位标志。辅助进位标志也称“半进位”标志。如果本次运算的低4位中的最高位有进位或有借位,则AF1;否则AF0。AF一般用于BC

3、D运算中是否进行十进制调整的依据。(4)ZF(Zero Flag)零标志。反映运算结果是否为零。若结果为零,则ZF1;否则ZF0。(5)SF(Sign Flag)符号标志。反映有符号数(以二进制补码表示)运算结果符号位的情况。若结果为负数,则SF1;若结果为正数,则SF0。SF的取值总是与运算结果的最高位(字节操作为D7,字操作为D15)取值一致。,6,(6)OF(Overflow Flag)反映有符号数运算结果是否发生溢出。若发生溢出,则OF1;否则,OF0。所谓溢出,是指运算结果超出了计算装置所能表示的数值范围。例如,对于字节运算,数值表示范围为-128+127;对于字运算,数值表示范围为

4、-32768+32767。如果运算结果超出了上述范围,则发生了溢出。溢出是一种差错,系统应做相应的处理。注意:“溢出”与“进位”是两种不同的概念。“溢出”标志实际上是针对有符号数运算而言,而“进位”标志是针对无符号数运算而言。一般情况下,对于有符号数运算,不考虑“进位”标志,对于无符号数运算,不考虑“溢出”标志。,7,4.3.1存储器的分段管理,8086有20位地址线,内存储器中每个字节单元都有一个唯一的20位物理地址,存储空间为220字节1M字节,地址范围从00000H到FFFFFH。CPU访存时必须给出20位的物理地址。8086内部与地址有关的寄存器都是16位的,只能处理16位地址,对内存

5、的直接寻址范围最大只能达64KB。为了实现对1MB单元的寻址,8086系统采用了存储器分段技术。,8,9,4.3.2物理地址与逻辑地址,物理地址:信息在存储器中实际存放的地址,它是CPU访问存储器时实际输出的地址。逻辑地址:编程时所使用的地址,由段基地址和偏移量两部分构成。程序设计时所涉及的地址是逻辑地址而不是物理地址。编程时不需要知道产生的代码或数据在存储器中的具体物理位置。这样可以简化存储资源的动态管理。段基地址(段地址或段基址):段的起始地址的高16位。偏移量(偏移地址):所访问的存储单元距段的起始地址之间的字节距离。给定段基地址和偏移量,就可以在存储器中寻址所访问的存储单元。在8086

6、/8088系统中,段基地址和偏移量都是16位的。段基地址由16位的段寄存器CS、DS、SS和ES提供;偏移量通常由BX、BP、SP、SI、DI、IP或这些寄存器的组合形式来提供。例如,8086/8088开机后执行的第一条指令的逻辑地址由CS和IP两个寄存器给出,其逻辑地址表示为FFFFH:0000H,对应的物理地址为FFFF0H。,10,4.3.3物理地址的形成,20位物理地址可由逻辑地址转换而来-将段寄存器中的16位段基地址左移4位(低位补0),再与16位的偏移量相加。物理地址段基地址16+偏移量,11,【例4.1】设代码段寄存器CS中的内容为4232H,指令指针寄存器IP中的内容为0066

7、H,即CS4232H,IP0066H,则访问代码段存储单元的物理地址计算如下:,12,4.3.4堆栈,堆栈是存储器中的一个特殊的数据存储区,采用“后进先出”的原则存放数据,通常它的一端(栈底)是固定的,另一端(栈顶)是浮动的,信息的存入和取出都只能在浮动的一端进行。堆栈主要用来暂时保存程序运行时的一些地址或数据信息。例如保存程序的返回地址(亦称断点地址);在中断处理时,通过堆栈“保存现场”和“恢复现场”;有时也利用堆栈为子程序传递参数。,13,4.3.5存储器组织,8086CPU有四个逻辑段:1、代码段代码段用于存放指令代码。CS存放代码段的段基地址,偏移量由指令指针IP提供。2、数据段和附加

8、段用于存放操作数。数据段寄存器DS存放数据段的段基地址,附加段段寄存器ES存放附加段的段基地址。3、堆栈段用于暂时保存程序运行中的一些数据和地址信息。,14,4.3.6 I/O组织,8086/8088 I/O端口为64KB,因此只需要16跟地址线A15A0。对I/O端口寻址时不需要使用段寄存器,高位地址A19A16输出0。,15,4.4 8086/8088 的内部结构,16,4.4.1总线接口部件BIU,BIU负责完成微处理器内部与外部(内存储器和I/O端口)的信息传送,即负责取指令和存取数据。BIU由以下几部分组成:1、4个16位的段寄存器,代码段寄存器CS、数据段寄存器DS、堆栈段寄存器S

9、S和扩展段寄存器ES,分别用于存放当前代码段、数据段、附加段和堆栈段的段基地址。2、16位指令指针IP,用于存放下一条要执行的指令的偏移地址。IP的内容由BIU自动修改,通常是进行加1修改。当执行转移指令、调用指令时,BIU将转移目的地址装入IP中。3、20位物理地址加法器,用于将来自于段寄存器的16位段地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加,形成一个20位的物理地址。4、6/4字节的指令队列,用于存放预取的指令,减少等待时间,避免取指令和取操作数发生冲突,从而提高运行效率。 8086的指令队列长度为6个字节,当队列空闲两个字节时,BIU自动从存储器取出指令字节,存入指

10、令队列中;而8088的指令队列长度为4个字节,当队列空闲一个字节时,BIU就自动取指令字节,并存到指令队列中去。5、总线控制逻辑,用于产生并发出总线控制信号,以实现对存储器和I/O端口的读写控制。它将CPU的内部总线与16位的外部总线相连,是CPU与外部进行数据交换的通路。,17,4.4.2执行部件EU,执行部件EU的功能就是负责指令的执行。EU由以下几部分组成:1、算术逻辑单元ALU:ALU完成16位或8位的二进制数的算术/逻辑运算,绝大部分指令的执行都由ALU完成。在运算时,数据先传送至16位的暂存寄存器中,经ALU处理后,运算结果可通过内部总线送入通用寄存器或由BIU存入存储器。2、标志

11、寄存器FLAGS:它用来反映CPU最后一次运算结果的状态特征或存放控制标志。FLAGS为16位,其中7位未用。3、通用寄存器组:它包括4个数据寄存器AX、BX、CX、DX,其中AX又称累加器,4个地址指针和变址寄存器,即基址寄存器BP、堆栈指针寄存器SP、源变址寄存器SI和目的变址寄存器DI。4、EU控制系统:它接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,向EU内各功能部件发送相应的控制命令,以完成每条指令所规定的操作。,18,4.4.3 BIU与EU的动作协调原则,总线接口部件(BIU)和执行部件(EU)按流水线技术原则协调工作,共同完成所要求的信息处理任务;它们两者

12、的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率。,19,8086外特性引脚信号及其功能,8086CPU采用40个引脚的双列直插式封装形式; 采用了分时复用的地址/数据和地址/状态引脚;根据不同的工作模式定义不同的引脚功能。,20,4.5.1 8086引脚信号及其功能,一、电源、地和时钟信号1、VCC电源端接入的电压为+5V10%。2、GND接地端两条GND均应接地。3、CLK时钟信号输入,提供CPU和总线控制的基本定时脉冲。

13、8086CPU要求时钟信号是占空比为33的非对称性的脉冲信号。,21,二、系统复位和准备好信号,1、RESET复位信号输入,高电平有效,用来停止CPU的现行操作,完成CPU内部的复位过程。该信号必须由低到高,并且至少要保持4个时钟周期的高电平,才能完成复位CPU。CPU执行的第一条指令的逻辑地址为FFFFH:0000H,物理地址为FFFF0H。也就是说,当RESET复位信号变为低电平时,CPU重新启动执行程序,执行的第一条指令的起始地址为FFFF0H。,22,2、READY准备就绪信号,READY: 输入,高电平有效,用来确认CPU访问的存储器或I/O设备是否完成数据传送。该信号是为了CPU与

14、低速的存储器或I/O设备之间实现速度匹配所设置的。当READY为高电平时,表示内存或I/O设备已准备就绪,可以立即进行一次数据传输。CPU一个总线周期通常包括T1、T2、T3、T4四个T状态。在每个总线周期的T3状态对READY引脚进行检测,若检测到READY1,则总线周期按正常时序进行读、写操作,不需要插入等待状态TW。若测得READY0,则表示存储器或I/O设备工作速度慢,没有准备好数据,则CPU在T3和T4之间自动插入一个或几个等待状态TW来延长总线周期,直到检测到READY为高电平后,才使CPU退出等待进入T4状态,完成数据传送。,23,三、地址、数据和状态信号,1、ADl5AD0地址

15、数据复用总线双向,三态,分时复用。在总线周期的T1状态,该组引脚输出要访问的存储器或I/O端口的地址,即Al5A0。在总线周期的T2T4状态,作为数据线使用,即Dl5D0。如果是读周期,则处于浮空(高阻)状态,用于输入数据;如果是写周期,则用于输出数据。2、A19/S6A16/S3地址/状态复用线输出,三态,分时复用。在总线周期的T1状态,用来输出地址的最高4位,在总线周期的其他状态用来输出状态信息。S6总是为0。S5表明中断允许标志的当前设置情况。如果IFl,则S51,表示当前允许可屏蔽中断;如果IF0,则S50,表示当前禁止一切可屏蔽中断。,24,四、中断信号,1、INTR可屏蔽中断请求信

16、号输入、高电平有效。当该信号变为高电平时,表示外部设备有可屏蔽中断请求。CPU在每个指令周期的最后一个T状态检测此引脚,一旦测得此引脚为高电平,并且中断允许标志位IF=1,则CPU在当前指令周期结束后,转入中断响应周期。2、NMI非屏蔽中断请求信号输入,上升沿有效。该中断请求不能用软件进行屏蔽,不受中断允许标志IF的控制。当该引脚上电平有由低到高的变化,就会在当前指令结束后引起中断。NMI中断通常由电源掉电等紧急情况引起。3、/INTA中断响应信号(最小工作模式下的专用信号)输出,低电平有效,在最小模式下,CPU响应可屏蔽中断后发给请求中断设备的应答信号,是对中断请求信号INTR的响应。,25,五、读、写选通信号,1、读信号/RD输出,三态,低电平有效,表示CPU正在对存储器或I/O端口进行读操作。在读总线周期的T2,T3,TW状态,均保持低电平。2、/WR写信号(最小模式下的专用信号)输出,三态,低电平有效,表示CPU正在对存储器或I/O端口进行写操作。在写总线周期的T2,T3,TW状态,均保持低电平。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号