欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第2章8086微处理器.ppt

    • 资源ID:5330321       资源大小:4.30MB        全文页数:135页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章8086微处理器.ppt

    第2章 8086微处理器,2.1 8086微处理器,2.2 8086微处理器引脚功能,2.3 8086总线的操作时序,2.4 Intel 80 x86 系列微处理器简介,运算器控制器内部寄存器,2,微处理器,第2章 8086微处理器,概述,程序:具有一定功能的指令的有序集合指令:由人向计算机发出的、能够为计算机所识别的命令。,3,顺序执行和并行流水线,顺序执行方式:各功能部件交替工作,按顺序完成指令的执行过程。并行流水线方式:各功能部件并行工作。,4,顺序工作方式,5,并行流水线工作方式,EU,CPU,第2章 8086微处理器,2.1 8086微处理器概述,2.1.1 8086CPU的内部结构,微处理器(CPU)是采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了控制器、运算器和寄存器组。若字长8位,即一次能处理8位数据,称为8位CPU,如Z80CPU;字长为16位的,即一次能处理16位数据,称为16位CPU,如8086/8088、80286等。图2-1所示是8086CPU实物图。,图2-1 8086CPU实物图,8086 CPU是Intel公司1987年推出的一种高性能的16位微处理器,是第三代微处理器的代表。它有16根数据线和20根地址线,所以可寻址的地址空间是2201MB,内部总线和ALU全部为16位,可以进行8位和16位操作。,8086微处理器有16根数据线和20根地址线,所以可寻址的地址空间是2201MB,内部总线和ALU全部为16位,可以进行8位和16位操作。8086CPU的内部结构如图2-2所示。,图2-2 8086 CPU内部结构框图,第2章 8086微处理器,从功能上来看,8086CPU可分为两部分,即执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)。在执行指令的过程中,两个部件形成了两级流水线:执行部件执行指令的同时,总线接口部件完成从主存中预取后继续指令的工作,使指令的读取与执行可以部分重叠,从而提高了总线的利用率。,第2章 8086微处理器,BIU与EU的动作协调原则:,总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务.,每当8086的指令队列中有两个空字节,BIU就会自动把指令取到指令队列中。其取指的顺序是按指令在程序中出现的前后顺序。,每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。如BIU正将某个指令字节取到指令队列中,则BIU将首先完成这个取指令的总线周期,然后再去响应EU发出的访问总线的请求。,第2章 8086微处理器,当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。,在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。,从上述BIU与EU的动作管理原则中,我们不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这种工作方式称为流水线作业。,第2章 8086微处理器,(1)执行部件(EU),功能:负责进行所有指令的解释和执行,同时管理下述有关的寄存器。,组成:由4个通用寄存器、4个专用寄存器、1个16位的算术逻辑单元(ALU)、1个16位的标志寄存器PSW、1个数据暂存寄存器和EU控制电路等组成。详细介绍如下:,第2章 8086微处理器,13,8088/8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AXBXCXDX,AH,AL,CH,CL,BH,BL,DH,DL,4个通用寄存器,表2-1 内部寄存器主要用途,第2章 8086微处理器,15,数据寄存器特有的用法,AX:累加器。所有I/O指令都通过AX与接口传送 信息,中间运算结果也多放于AX中;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令 中存放计数值;DX:数据寄存器。在间接寻址的I/O指令中存放 I/O端口地址;在32位乘除法运算时,存放 高16位数。,专用寄存器,16位的专用寄存器有4个,它们分别是:,两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置;BP是基数指针寄存器,通常用于存放基地址。,两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。,这4个专用寄存器的用法在第3章指令系统作介绍。,第2章 8086微处理器,算术逻辑单元ALU,它是一个16位的运算器,可用于8位或16位二进制算术和逻辑运算(与、或、非),也可按指令的寻址方式计算寻址存储器所需的16位偏移量。,数据暂存寄存器,它协助ALU完成运算,暂存参加运算的数据。,第2章 8086微处理器,EU控制电路,从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器PSW根据运算结果改变状态。,标志寄存器PSW,8086 内部标志寄存器的内容,又称为处理器状态字PSW。它是一个16位的寄存器,用了9位,各位含义如图2-3所示。这9位可分成两类:一类为状态标志(6个),一类为控制标志(3个)。,第2章 8086微处理器,图2-3 8086CPU的标志寄存器,20,状态标志位(1),CF(Carry Flag)进位标志位。加(减)法运算时,若最高位有进(借)位则CF=1 PF(Parity Flag)奇偶标志位。运算结果的低8位中“1”的个数为偶数时PF=l AF(Auxiliary Carry Flag)辅助进位标志位。加(减)操作中,若Bit3向Bit4有进位(借位),AF=1,21,状态标志位(2),ZF(Zero Flag)零标志位。当运算结果为零时ZF=1 SF(Sign Flag)符号标志位。当运算结果的最高位为1时,SF=l OF(Overflow Flag)溢出标志位。当算术运算的结果超出了有符号数的可表达范围时,OF=l,22,状态标志位例,给出以下运算结果及运算后各状态标志位的状态:10110110+11110100 10110110+11110100 10101010,1,CF=OF=AF=0 PF=SF=ZF=,1,1,0,1,0,加法运算:,若两个加数的最高位为0,而和的最高位为1,则产生上溢出;若两个加数的最高位为1,而和的最高位为0,则产生下溢出;两个加数的最高位不相同时,不可能产生溢出。,减法运算:,若被减数的最高位为0,减数的最高位为1,而差的最高位为1,则产生上溢出;若被减数的最高位为1,减数的最高位为0,而差的最高位为0,则产生下溢出;被减数及减数的最高位相同时,不可能产生溢出。,第2章 8086微处理器,如果所进行的运算是带符号数的运算,则溢出标志恰好能够反映运算结果是否超出了8位或16位带符号数所能表达的范围,即字节运算大于十127或小于128时,字运算大于十32767或小于32768时,该位置1,反之为0。,第2章 8086微处理器,25,控制标志位,TF(Trap Flag)陷井标志位,也叫跟踪标志位。TF=1时,使CPU处于单步执行指令的工作方式。IF(Interrupt Enable Flag)中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。DF(Direction Flag)方向标志位。在数据串操作时确定操作的方向。,(2)总线接口部件(BIU),功能:负责完成取指令送指令队列,配合执行部件的动作,从内存单元或I/O端口取操作数,或者将操作结果送内存单元或者I/O端口。,组成:它由16位段寄存器(DS、CS、ES、SS)、16位指令指针寄存器IP(指向下一条要取出的指令代码)、20位地址加法器(用来产生20位地址)和6字节(8088为4字节)指令队列缓冲器组成。详细介绍如下:,第2章 8086微处理器,指针寄存器IP和段寄存器,IP是一个16位寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。,指针寄存器,第2章 8086微处理器,28,IP指令指针寄存器,其内容为下一条要执行指令的偏移地址。FLAGS标志寄存器,存放运算结果的特征6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF),段寄存器,系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。,第2章 8086微处理器,6字节指令队列缓冲器,8086的指令队列为6个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。,20位地址加法器,地址加法器用来产生20位物理地址。8086可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。,例如:CS2000H,IP0400H,则表示要取指令代码的物理地址为20400H。,第2章 8086微处理器,21.2.8086存储器的管理,8086 CPU有20位地址总线,可寻址的最大内存空间达2201MB,地址范围为00000H-0FFFFFH。内存中每个字节单元有唯一的20位物理地址,CPU存取内存中的程序和数据必须使用20位物理地址。而8086 CPU寄存器的位数是16位的,如何用16位的寄存器指向20位的存储单元呢?,第2章 8086微处理器,因为8086内部寄存器是16位的,能寻址的内存空间只能是64KB,所以8086系统采用了地址分段的方法,将1M空间分成4段,每段最多64KB,在段内寻址仍可采用传统的16位地址寻址方法。每个段的起始地址低4位必须为0,高16位放在16位的段寄存器内,这高16位地址称为段基址。段寄存器分别为CS、DS、SS和ES,段基址存放在这4个段寄存器内。每个段不一定都是64KB,可以小于它,每个段可以分开,也可以重叠。,(1)存储器的分段,(2)20位物理地址的产生,8086规定每个段的段起始地址必须能被16整除,其特征是20位段起始地址的最低4位为0(用16进制表示为0H)。暂时忽略段起始地址的低4位,其高16位(称段基址)可存放在16位的寄存器中。段基址可确定某个段在内存中的起始位置,而段中某个单元在该段中的位置则可由该单元在段内相对于段起始地址的偏移量(称偏移地址,也为16位)来决定。也就是说,内存中某单元的位置可用16位的段基址和16位的偏移地址确定。,第2章 8086微处理器,图2-4 20位物理地址的计算方法图,当CPU访问存储单元时,先由段寄存器提供存储单元所在段的段基址。然后段基址被左移4位(乘16),即恢复段起始地址,再与待访问存储单元的偏移地址相加,可得到该单元的20位物理地址。这样一来,CPU寻址范围可达1MB,20位物理地址的计算方法如图2-4所示,计算公式为:20位物理地址=16位段地址1616位偏移地址.,第2章 8086微处理器,(3)段的分配,在对存储器进行操作时,内存一般可分成4个段,分别称为代码段、数据段、堆栈段和附加数据段,每个段存放不同性质的数据,进行不同的操作。,代码段:存放指令。,堆栈段:程序的堆栈区(子程序调用、系统功能调用、中断处理等操作使用)或作为临时数据存储区。,数据段:存放程序所使用的数据。,附加数据段:辅助的数据区(串操作指令使用)。,第2章 8086微处理器,36,例:,已知 CS=1055H,DS=250AH ES=2EF0H SS=8FF0H画出各段在内存中的分布。,37,例:,CS=1055H段首地址=10550HDS=250AH段首地址=250A0HES=2EF0HSS=8FF0H,10550H,250A0H,2EF00H,8FF00H,代码段,数据段,附加段,堆栈段,例如:设当前有效的代码段、数据段、堆栈段、附加段的段地址分别为1066H、251BH、900CH、F001H,则各段在内存中的分配情况如图2-5所示。,第2章 8086微处理器,4个逻辑段的段基址分别放在相应的代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES中,由这4个段寄存器来指明每个段在内存中的起始地址。,图2-5段的分配,40,例,设某操作数存放在数据段,DS=250AH,数据所在单元的偏移地址=0204H。则该操作数所在单元的物理地址为:250AH 16+0204H=252A4H,4个段可分配在1MB的任何地方,段与段间可重叠或不重叠、可连续排列、断续排列。尽管CPU在某一时刻最多只能同时访问4个段,但用户在程序中可根据需要定义多个这样的段。若CPU要访问4个段以外的其他段,只要改变相应段寄存器的内容即可。,3.8086存储区的分配,(1)00000H003FFH共1KB区域用来存放中断矢量,这一区域称为中断矢量表。中断矢量表的定义和作用参阅中断一章的有关内容。,(2)B0000HB0F9FH是单色显示器的显示缓冲区,存放单色显示器当前屏幕显示字符所对应的ASCII码和属性。,(3)B8000HBBF3FH约16KB是彩色显示器的显示缓冲区,存放彩色显示器当前屏幕像点所对应的代码。,(4)FFFF0HFFFFFH共16个单元,一般用来存放一条无条件转移指令,转到系统的初始化程序。这是因为系统加电或者复位时,会自动转到FFFF0H执行。,第2章 8086微处理器,2.2 8086微处理器引脚功能,2.2.1 8086CPU引脚,要求:认识8086微处理器芯片引脚。目的:了解8086微处理器芯片引脚及功能。,8086微处理器(CPU)可以在两种模式下工作:最大模式最小模式。,第2章 8086微处理器,所谓最小模式,就是系统中只有8086一个微处理器。在这种系统中,所有的总线控制信号都直接由8086产生,因此,系统中的总线控制逻辑电路被减到最小。最大模式是相对最小模式而言的。最大模式用在中等规模的或者大型的8086系统中。在最大模式系统中,总是包含两个或两个以上微处理器,其中一个主处理器就是8086,其他的处理器为协处理器。例如用于数值运算的处理器8087,用于输入/输出大量数据的处理器8089。,第2章 8086微处理器,引脚图,8086CPU采用双列直插40脚封装,引脚图如图2-6所示。8086CPU是16位微处理器(CPU),采用大规模或超大规模集成电路技术做成的半导体芯片,上面集成了控制器、运算器和寄存器组。,图2-6 8086 CPU引脚图,第2章 8086微处理器,8086 CPU引脚如图2-6所示,8086 CPU可以在两种模式下工作,即最大模式和最小模式。当CPU处于不同工作模式时,其部分引脚的功能是不同的,图2-6中带有括号的引脚为最大模式时的引脚名称。,(1)两种工作方式功能相同的引脚,AD15 AD0(39脚、2脚16脚):地址/数据总线,双向,三态。是采用分时工作方式传送地址或数据的复用引脚。根据不同时钟周期的要求,决定当前是传送要访问的存储单元或I/O端口的低16位地址,还是传送16位数据,或是处于高阻状态。,第2章 8086微处理器,A19/S6A16/S3(35脚38脚):地址/状态总线,输出,三态。是采用分时工作方式传送地址或状态的复用引脚,其中A19A16为20位地址总线的高4位地址,S6S3是状态信号。,S6:指示8086当前是否与总线相连,当S6=0表示8086当前与总线相连。,第2章 8086微处理器,S5:表明中断允许标志当前的设置。S5=0,表示CPU中断是关闭的,禁止一切可屏蔽中断的中断请求;S5=1表示CPU中断是开放的,允许一切可屏蔽中断的中断申请。S4和S3:组合起来指出当前使用的段寄存器的情况。,BHE/S7(34脚):高8位数据总线允许/状态信号,输出,三态。高8位数据总线允许信号,当低电平有效时,表明在高8位数据总线D15 D8上传送1个字节的数据;S7为设备的状态信号。,第2章 8086微处理器,RD(32脚):读信号,输出,三态,低电平有效。当信号为低电平时,表示CPU正在进行读存储器或读I/O端口的操作。,READY(22脚):准备就绪信号,输入,高电平有效。当READY=1时,表示CPU访问的存储器或I/O端口已准备好传送数据。若CPU在总线周期T3状态检测到READY信号为低电平,表示存储器或I/O设备尚未准备就绪,CPU自动插入一个或多个等待状态TW,直到READY信号变为高电平为止。,第2章 8086微处理器,INTR(18脚):可屏蔽请求信号,输入,电平触发,高电平有效。当INTR=1时,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态去采样该信号,若此时IF=1,则CPU响应中断,停止执行原指令序列,转去执行中断服务程序。,TEST(23脚):测试信号,输入,低电平有效。当CPU执行WAIT指令时,每隔5个时钟周期对其进行一次测试,若测到无效,CPU继续处于等待状态,直到检测到为低电平。,第2章 8086微处理器,NMI(17脚):非屏蔽中断请求信号,输入,高电平有效。,当NMI引脚上有一个上升沿有效的触发信号时,表明CPU内部或I/O设备提出了非屏蔽的中断请求,CPU会在结束当前所执行的指令后,立即响应中断请求。,RESET(21脚):复位信号,输入,高电平有效。RESET信号至少要保持4个时钟周期。CPU接到RESET信号后,停止进行操作,并将标志寄存器、IP、DS、SS、ES及指令队列清零,将CS设置为FFFFH。当复位信号为低电平时,CPU从FFFF0H开始执行程序。,第2章 8086微处理器,CLK(19脚):主时钟信号,输入。8086要求时钟信号的占空比为33%,即1/3周期为高电平,2/3周期为低电平。8086的时钟频率要求为5MHz,8086-1的时钟频率为10MHz,8086-2的时钟频率为8MHz。不同型号的芯片使用的时钟频率不同。,VCC(40脚):电源输入引脚。8086 CPU采用单一5V电源供电。,第2章 8086微处理器,GND(1、20脚):接地引脚。,MN/MX(33脚):最小/最大模式输入控制信号。引脚用来设置8086 CPU的工作模式。当为高电平(接5V)时,CPU工作在最小模式;当为低电平(接地)时,CPU工作在最大模式。,第2章 8086微处理器,(2)工作于最小模式时使用的引脚,当MN/MX引脚接高电平时,CPU工作于最小模式。此时,引脚2431的含义及其功能如下所示。,M/IO(28脚):存储器或I/O端口访问信号,三态输出。M/=1时,表示CPU当前正在访问存储器;M/=0时,表示CPU当前正在访问I/O端口。,WR(29脚):写信号,三态输出,低电平有效。WR=0时,表示当前CPU正在对存储器或I/O端口进行写操作。,第2章 8086微处理器,INTA(24脚):可屏蔽中断响应信号,输出,低电平有效。为低电平时,表示CPU已经响应外设的中断请求,即将执行中断服务程序。,ALE(25脚):地址锁存允许信号,输出,高电平有效。用来做地址锁存器8282的片选信号,使由AD15AD0分时发出的地址信息和数据信息分开。,DT/R(27脚):数据发送/接收信号,输出,三态。DT/信号用来控制数据传送的方向。DT/=1时,CPU发送数据到存储器或I/O端口;DT/=0时,CPU接收来自存储器或I/O端口的数据。,第2章 8086微处理器,DEN(26脚):数据允许控制信号,输出,三态,低电平有效。信号用作总线收发器的选通控制信号。当为低电平时,表明CPU进行数据的读/写操作。,HOLD(31脚):总线保持请求信号,输入,高电平有效。在DMA数据传送方式中,由总线控制器8237A发出一个高电平有效的总线请求信号,通过HOLD引脚输入到CPU,请求CPU让出总线控制权。,第2章 8086微处理器,HLDA(30脚):总线保持响应信号,输出,高电平有效。HLDA是与HOLD配合使用的联络信号。在HLDA有效期间,HLDA引脚输出一个高电平有效的响应信号,同时总线将处于浮空状态,CPU让出对总线的控制权,将其交付给申请使用总线的8237A控制器使用,总线使用完后,会使HOLD信号变为低电平,CPU又重新获得对总线的控制权。,第2章 8086微处理器,(3)工作于最大模式时使用的引脚,当引脚MN/MX接低电平时,CPU工作于最大模式。此时,引脚2431的含义及其功能如下所示。,S2、S1、S0(28脚26脚):总线周期状态信号,三态,输出,低电平有效。它们表明当前总线周期所进行的操作类型。,第2章 8086微处理器,它们表明当前总线周期所进行的操作类型。这3个状态信号的编码和含义如表2-2所示。,表2-2 S2、S1、S0状态信号的编码,第2章 8086微处理器,RQ/GT1、RQ/GT0(30、31脚):总线请求信号(输入)/总线请求允许信号(输出),双向,低电平有效。这两个信号端可供CPU以外的2个处理器用来发出使用总线的请求信号和接收CPU对总线请求信号的回答信号。这两个应答信号都是双向的。/的优先级比/的高。,第2章 8086微处理器,LOCK(29脚):总线封锁信号,三态输出,低电平有效。有效时,表示CPU不允许其他总线主控部件占用总线。信号是由指令“LOCK”使其有效,并维持到下一条指令执行完毕为止。,QS1,QS0(24脚、25脚):指令队列状态信号,输出。QS1和QS0信号的组合可以指示总线接口部件BIU中指令队列的状态,以便其他处理器监视、跟踪指令队列的状态。,第2章 8086微处理器,。,2.2.2.最小模式和最大模式的典型配置,Intel 8086作为一个微处理器芯片,必须与其它芯片相配合才能构成一个完整的CPU子系统。最小模式下的CPU子系统配置:8086CPU、地址锁存缓冲器、双向数据缓冲器、8284A时钟发生器。最大模式下的CPU子系统配置:8086CPU、8087协处理器(可选)、地址锁存缓冲器、双向数据缓冲器、8284A时钟发生器、总线控制器8288。,第2章 8086微处理器,图2-7最小模式下的系统典型配置,(1)最小模式下的典型配置,(1)最小模式下的典型配置,当8086CPU的MN/MX接高电平(+5V)时,8086CPU工作于最小模式,8086最小模式的典型配置电路如图2-7所示,它具有如下几个特点。,MN/MX端接+5V,决定了CPU的工作模式。,用一片8284A,作为时钟信号发生器。,用三片8282或74LS273,作为地址信号的锁存器。,当系统中所连的存储器和外设端口较多时,需要增加数据总线的驱动能力,这时,需用2片74LS245或8286/8287作为总线收发器。,第2章 8086微处理器,74LS273引脚及功能,最小模式下8086 CPU三总线的产生及时钟信号说明如下所示。,20位地址总线:采用3个三态锁存器8282进行锁存和驱动。,8位数据总线:采用数据收发器8286进行驱动。,系统控制信号:由8086引脚直接提供。,时钟信号:Intel 8284A是一个与8086配合使用的集成电路芯片,为8086及计算机系统提供符合定时要求的 时钟信号,并且还提供准备好信号和复位信号。,第2章 8086微处理器,(2)最大模式下的典型配置,8086在最大模式下的典型配置如图2-8所示,可以看出最大模式和最小模式在配置上的主要差别是在最大模式下,要用8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O 端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。,第2章 8086微处理器,最大模式系统中,需要用总线控制器来变换与组合控制信号的原因在于:在最大模式的系统中,一般包含2个或多个处理器,这样就要解决主处理器和协处理器之间的协调工作,和对系统总线的共享控制问题,8288总线控制器就起了这个作用。,第2章 8086微处理器,在最大模式的系统中,一般还有中断优先级管理部件8259A。8259A用以对多个中断源进行中断优先级的管理,但如果中断源不多,也可以不用中断优先级管理部件。,图2-7最小模式下的系统典型配置,图2-8 最大模式下的系统典型配置,实例分析,8086控制LED灯右循环亮,要求:根据开关的状态,用8086CPU控制8255的端口PA,然后PA再控制8只LED发光二极管,PB口接1只开关,编写程序实现K0闭合,LED灯右循环亮。,第2章 8086微处理器,1.项目电路原理框图,8086CPU控制LED灯右循环亮电路框图如图2-9所示。电路由8086CPU芯片、8255A芯片、8只LED发光二极管和1只开关K0等组成。,图2-9 8086CPU控制LED灯右循环亮电路框图,第2章 8086微处理器,2项目电路连接与说明,Intel 8086作为一个微处理器芯片,必须与其它芯片相配合才能构成一个完整的CPU子系统。本项目在最小模式下的系统配置外,还必须配置接口芯片8255A。8255A是常用的并行可编程接口芯片,它有3个8位并行输入/输出端口,可利用编程方法设置3个端口是作为输入端口还是作为输出端口,在使用时,要对8255进行初始化。本项目PA口作为输出口,PB口作为输入口,工作于方式0。当开关K0闭合,LED灯右循环亮。,第2章 8086微处理器,76,并行接口8255的特点:,通道型接口含3个独立的8位并行输入/输出端口,各 端口均具有数据的控制和锁存能力可通过编程,设置各端口工作在某一确定 状态下。,77,8255与系统的连接示意图,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,译码器,8255,A口,B口,C口,D0D7,外 设,3项目程序设计,(1)程序流程图,8086CPU控制LED灯右循环亮程序流程图如图2-10所示。,图2-10 8086CPU控制LED灯右循环亮程序流程图,第2章 8086微处理器,表 8255A端口选择和基本操作,图 8255A的工作方式选择控制字,(2)程序清单,8086CPU控制LED灯右循环亮程序清单如下所示。,CODE SEGMENT ASSUME CS:CODE START:MOV DX,203H;8255控制端口 MOV AL,82H;PA输出,PB输入 OUT DX,AL MOV DX,200H;PA端口地址 MOV AH,0FEH;置LED0亮初始值 BG:MOV AL,AH OUT DX,AL;点亮LED灯 CALL DELAY;调延时子程序,第2章 8086微处理器,MOV DX,201H;PB端口地址,TEST AL,01H;PB0=0吗?(K0闭合吗),IN AL,DX;读开关的状态,JNZ BG;PB00,转移,ROR AH,1;PB0=0,右移,MOV DX,200H,JMP BG,DELAY PROC NEAR;延时子程序,MOV BL,100,第2章 8086微处理器,DELAY2:MOV CX,374,JNZ DELAY2,NOP,LOOP DELAY1,DEC BL,RET,DELAY ENDP,CODE ENDS,END START,第2章 8086微处理器,2.3.1.时序的基本概念,微机系统的工作,必须严格按照一定的时间关系来进行,CPU定时所用的周期有三种:指令周期总线周期和时钟周期,第2章 8086微处理器,2.3 8086总线的操作时序,(1)指令周期,指令周期是CPU从内存取出一条指令并执行这条指令的时间总和。指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,是从取指令、分析取数到执行完所需的全部时间。指令不同,所需的机器周期数也不同。对于一些简单的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。,通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。,第2章 8086微处理器,(2)总线周期,我们把CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。虽然,每条指令的功能不同,所需要进行的操作也不同,指令周期的长度也不相同。但是,我们可以对不同指令所需的操作进行分解,发现它们又都是由一些基本的操作组合而成的。如存储器的读/写操作、I/O端口的读/写操作、中断响应等,这些基本的操作都要通过总线实现对内存或I/O端口的访问的。8088的总线操作,就是8088CPU利用总线(AB、DB、CB)与内存及I/O端口进行信息交换的过程,与这些过程相对应的总线上的信号变化的相对时间关系,就是相应总线操作的时序。,第2章 8086微处理器,(3)时钟周期,时钟周期是微机系统工作的最小时间单元,它取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。时钟周期又称为T状态。,基本定时脉冲是由外部振荡器产生的,通过CPU的CLK输入端输入,基本定时脉冲的频率,我们称之为系统的主频率。例如8086CPU的主频率是5MHz,其时钟周期为200ns(1/fOSC)。,一个最基本的总线周期是由4个时钟周期(T状态)组成,也称为4个状态,即T1、T2、T3和T4,在每个T状态下,CPU完成不同的动作。,第2章 8086微处理器,8086微机系统,能够完成的操作主要有下列几种类型:,系统的复位与启动操作。,暂停操作。,总线操作(I/O读、I/O写、存贮器读、存贮器写)。,中断操作。,最小模式下的总线保持。,最大模式下的总线请求/允许。,第2章 8086微处理器,2.3.2.典型的8086时序分析,(1)系统的复位和启动操作(对最大最小模式都一样),8086的复位和启动操作,是通过RESET引脚上的电平来执行的,只要在RESET引脚上的高电平信号维持4个时钟周期,就能保证CPU可靠地复位。初次加电也能使CPU复位,这时要求RESET的高电平信号维持时间不小于800ns。,8086 CPU被复位后,PSW、DS、ES、SS和其他寄存器被清零,指令队列也被清零,段寄存器CS和指令指针IP分别被初始化为FFFFH和0000H,因此,8086 CPU复位后重新启动,执行的第一条指令所在存储单元的物理地址为FFFFH16+0000HFFFF0H。,一般情况下,在从FFFF0H开始的单元中,存放一条无条件转移指令,以转移到系统程序实际开始处。,第2章 8086微处理器,复位操作的时序图如图2-11所示,表23给出了复位后寄存器的状态。,要注意的是,由于在复位操作时,标志寄存器被清0,因此其中的中断标志IF也被清0,这样就阻止了所有的可屏蔽中断请求,都不能响应,即复位以后,若需要必需用开中断指令来重新设置IF标志。,图2-11 系统复位时序,第2章 8086微处理器,因为CPU内部是用时钟脉冲来同步外部的复位信号的,所以CPU内部的RESET信号是在外部RESET信号有效后的时钟上升沿有效的。内部RESET信号变成高电平以后,再经过1个时钟周期,所有的三态输出线被置成高阻状态,并一直维持高阻状态直到RESET信号回到低电平。但在进入高阻状态的前半个时钟周期,即在前一个时钟周期的低电平期间,这些三态线被置成无效状态,等到时钟信号又成为高电平时,三态输出线才进入高阻状态。,第2章 8086微处理器,(2)最小模式下的典型时序,内存的主要功能是存放程序和数据,是计算机各种信息存放和交流中心。,CPU为了与存贮器或I/O端口进行一个字节的数据交换,需要执行一次总线操作,按数据传输的方向来分,可将总线操作分为读操作和写操作两种类型;按照读/写的不同对象,总线操作又可分为存贮器读/写与I/O读/写操作,下面就对最小模式下的总线读/写操作时序进行分析。,第2章 8086微处理器,最小模式下的总线读操作时序,图2-12 最小模式下的总线读操作时序,第2章 8086微处理器,T1状态,当CPU准备开始一个总线读周期时,用M/IO信号有效来指出当前执行的读操作是从存储器读,还是从I/O端口读。如果从存储器读,则M/IO为高电平,如果是从I/O端口读,则M/为低电平。M/信号的有效电平一直保持到整个总线周期的结束。在T1状态,CPU经地址/数据复用线AD15AD0,地址/状态复用线A19/S7A16/S3发出20位地址信息,发出地址信息的同时,BHE和ALE控制信号有效,BHE信号用来表示高8位数据线上的信息可以使用,用该信号作为奇地址存储体的选择信号,配合地址信号来实现对存储单元的寻址。ALE信号作为地址锁存信号,启动锁存器,在ALE信号下降沿将20位地址和BHE信号锁存。从而把地址信息和状态信息分开。,当系统中配有总线驱动器时,T1状态使DT/R变低,用来表示本周期为读周期。在接有数据总线收发器的系统中,用来控制数据传输方向。,最小模式下的总线读操作时序如图2-12所示,一个最基本的读周期包含有4个状态,即 T1、T2、T3和T4,当存储器或I/O设备速度慢于CPU速度时,就在T3和T4状态之间插入1个或几个等待状态TW。下面介绍几个状态下,地址、数据、控制信号的产生与时刻的关系。,第2章 8086微处理器,T2状态,在T2状态时,A19/S6A16/S3上的地址信号消失,而出现S6S3状态信号,这些状态信号保持到读周期结束,状态信号用来表明当前正在使用哪一个段寄存器,指示可屏蔽中断允许标志IF的状态,以及表明8086 CPU当前是连在总线上。,AD15AD0低16位地址/数据线变成高阻状态,为读入数据作准备。,RD有效信号由高电平变成低电平时,表示对存贮器或I/O端口进行读取数据。,DEN也变成低电平有效信号,启动收发器8286,与在T1状态时已有效的DT/信号一样,做好了接收来自存储器或I/O端口的数据。,第2章 8086微处理器,T3状态,如果存储器或I/O端口已做好了数据准备而不需要等待状态时,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU从AD15AD0上读取数据。,TW状态,若存贮器或I/O设备速度较慢,不能及时送上数据的话,则通过READY线通知CPU,CPU在T3状态的前沿(即T2结束末的下降沿)检测READY,若发现READY0,则在T3状态结束后自动插入1个或几个TW状态,并在每个TW状态的前沿处检测READY,等到READY变高后,则自动脱离TW状态进入T4状态。,在最后一个TW状态,数据已经出现在数据总线上。所以,在最后一个TW状态中,总线的动作和基本总线周期中T3状态所完成的动作完全一样。而在其他的TW状态,所有控制信号的电平和T3状态的一样,但数据尚未出现在数据总线上。,第2章 8086微处理器,T4状态,在T4状态与T3(或TW)状态交界下降沿处,CPU对数据总线进行采样,读取数据,使各控制及状态线进入无效。,最小模式下的总线写操作时序,CPU 往存储器或I/O端口写数据的操作时序如图2-13所示,与读操作一样,最基本的写操作周期也包含4个T状态,若存储器或I/O端口来不及接收

    注意事项

    本文(第2章8086微处理器.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开