《微机原理及其应用.pptx》由会员分享,可在线阅读,更多相关《微机原理及其应用.pptx(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8086微处理器第2章第1页/共89页 Intel 8086微处理器的结构微处理器的结构 Intel8086CPUIntel8086CPU的总线周期与的总线周期与 时序时序 本章内容本章内容本章内容本章内容第2页/共89页 掌掌握握Intel 8086系系统统的的构构成成和和工工作作原理原理 重重点点掌掌握握Intel 8086微微处处理理器器的的结结构构学习目的学习目的学习目的学习目的 掌握时序的概念掌握时序的概念 掌握基本的总线周期时序掌握基本的总线周期时序第3页/共89页2.1 8086微处理器的结微处理器的结构构 8086CPU是采用HMOS工艺Intel系列16位微处理器,其基本特性
2、如下:双列直插、40引脚 单一+5V电源、时钟频率:5MHz10MHz 16位外部数据总线、20位外部地址总线,可寻址1MB地址空间 并行流水线处理结构 8086CPU支持多处理器系统,为提高系统的数据处理能力或提高CPU的效率,可以与数值协处理器8087或其他协处理器一起,方便地构成多处理器系统。第4页/共89页20位AH ALBH BLCH CLDH DLSPBPDISIALU运算寄存器标志执行部件控制电路16位CS DS SS ESIP 内部暂存器8位1 2 3 4 5 6执行部件 (EU)输入/输出控制电路16位 外部总线 指令队列缓冲器总线接口部件(BIU)通用寄存器地址加法器2.1
3、.1 8086的功能结构8086CPU的结构框图第5页/共89页8086从功能结构来讲,分为两大部分,即总总线线接接口口部部件件BIU(Bus Interface Unit)和执执行行部件部件EU(Execution Unit)。1.BIU部件由段寄存器段寄存器、指令指针指令指针、地址加法器地址加法器、指令队列缓冲器指令队列缓冲器和控制电路控制电路等部分组成。第6页/共89页 (1)4个16位段地址寄存器及一个20位物理地址加法器8086CPU有20位外部地址总线,对应的存储器地址空间范围是1MB。CPU寻找某个地址单元时,需要给出该单元的20位地址,该地址称为存储器的物理地址。由于CPU内部
4、的所有寄存器,包括段寄存器,都是16位的,用它们作地址寄存器时,只能直接寻址到64KB地址范围。故在8086CPU中采用了分段技术对存储空间进行管理。第7页/共89页CPU将lMB的存储空间分成若干个逻辑段,每个逻辑段对应一片连续的存储空间,其长度任意,但最大不超过64KB。当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址之间的距离(又称偏移量,或偏移地址,以字节数计量),即可确定其物理地址。第8页/共89页.图2.2 逻辑段与段内寻址第9页/共89页逻辑段可在整个lMB存储空间内浮动,即可重定位在不同的位置,但逻辑段的起始地址必须能被16整除,即段起始地址必须是XX
5、XX0H的形式。段起始地址的高16位称为段基址,它在访问存储器之前被置于某个段地址寄存器中。CPU访问存储器时,根据所执行的操作,选择某个段寄存器,将其中的内容左移4位形成20位地址的高16位(低4位自动添0),然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址,如图2.3所示。第10页/共89页图2.3 8086物理地址的形成 段寄存器值 000020位物理地址19 015 015 0偏移地址加法器16 位 4位 第11页/共89页按不同的用途,段地址寄存器可分为代码段寄存器CS、数据段寄存器DS、附加段寄存器ES和堆栈段寄存器SS,它们分别用于存放当前代码段、数据段、附加段和
6、堆栈段的段基址。存储器采用分段结构,方便了CPU对存储器的访问。当所访问的存储器处于同一逻辑段时,可以不改变段寄存器的值,只需改变段内的偏移地址,此即段内寻址。当需要改变段寄存器的值寻找新的地址时,称为段间寻址 第12页/共89页(2)16位指令指针位指令指针IPIP用于存放下一条要从内存中取出来的指令的有效地址EA(即偏移地址),在取出指令时通常进行IP+1IP的操作,但在执行转移指令、调用指令时,装入IP中的是相应的转移目的地址。由段基址和偏移地址两部分构成了存储器的逻辑地址,如:取指令时CS:IP=3000:2000H,CS:IP=3100:1000H等,这两个不同的逻辑地址对应的物理地
7、址都是32000H。不同的逻辑地址可能对应同一个物理地址不同的逻辑地址可能对应同一个物理地址。第13页/共89页 用于按先后次序存放待执行的指令,供EU按顺序取去执行。(4)总线控制逻辑 总线控制逻辑负责产生并发出总线控制信产生并发出总线控制信号号,实现对存储器和I/O端口的读写操作。读写操作。(3)6字节的指令队列第14页/共89页 2.2.执行部件执行部件EUEU EU的主要功能是执行指令,EU由以下几个部分组成:(1)算术逻辑单元ALU ALU用于完成16位或8位的二进制数的算术逻辑运算 (2)标志寄存器FR FR用来反映最近一次运算结果的状态以及存放控制运算结果的状态以及存放控制标志标
8、志 (3)通用寄存器组 包括4个数据寄存器AX、BX、CX、DX,4个专用寄存器SP、BP、DI、SI。(4)EU控制器 从BIU中的指令队列获取指令,经过指令译码电路形成各种定时控制信号,向各功能部件发送相应的控制命令,以完成每条指令所规定的操作。完成每条指令所规定的操作。第15页/共89页3.BIU和和EU的协调的协调动作动作 8086CPU中,BIU和EU是同时工作,但并不是完全同步的。BIU负责从内存中取出指令,并送到指令队列供EU执行;BIU必须保证指令队列始终有指令可供执行,当指令队列有2个字节的空余时,BIU将自动取指令到指令队列。EU直接从指令队列中取指令执行,由于指令队列中至
9、少有一个以上的指令字节,EU就可以节省因取指令而访问内存的等待时间 第16页/共89页8086与传统微处理器指令执行过程比较取指3执行3 取指4执行2取指2执行1取指1 传统微处理器的执行方式传传统统微微处处理理器器取取指指与与执执行行串串行行进进行行,CPU的工作效率低。的工作效率低。第17页/共89页取数据取指5取指4取指3取指2取指1BIU执行4执行3执行2执行1等待EU 8086的指令执行方式8086CPU取取指指与与执执行行并并行行进进行行,大大大大减减少少了了等等待待取取指指令令所所需需时时间间,提提高高了了CPU的的工作效率。工作效率。第18页/共89页2.1.2 2.1.2 8
10、086CPU8086CPU的寄存器结的寄存器结的寄存器结的寄存器结构构构构 8086CPU 内部寄存器DLDHCLCHBLBHALAH通用寄存器AXBXCXDXSPBP SI DI数据寄存器CSDSSSESIPFLAG变址寄存器指针寄存器堆栈指针基数指针源变址目的变址指令指针状态标志代码段数据段堆栈段附加段段寄存器控制寄存器第19页/共89页1.1.通用寄存器组通用寄存器组(1)数据寄存器数据寄存器包括AX、BX、CX、DX等4个1616位位寄存器,主要用来保存算术、逻辑运算的操作数、中间结果或地址。它们既可以作为16位寄存器使用,也可以将每个寄存器高字节和低字节分开作为两个独立的两个独立的8
11、 8位位寄存器使用,从而得到8 8个个8 8位位寄存器AL、BL、CL、DL、AH、BH、CH、DH等,可用于8位数据的运算和处理。第20页/共89页(2 2)指针寄存)指针寄存器器 堆栈指针SP中存放的是当前堆栈段中栈顶的偏移地址BP是访问堆栈时的基址寄存器,存放的是堆栈中某一存储单元的偏移地址。SI和DI是变址寄存器,分别为访问数据段提供操作数的偏移地址。在串操作指令中规定:SI存放源操作数(即源串)的偏移地址,故称之为源变址寄存器;DI存放目的操作数(目的串)的偏移地址,故称之为目的变址寄存器,二者不能混用。第21页/共89页以上8个16位通用寄存器在一般情况下都具有通用性,但是为了缩短
12、指令代码的长度,某些通用寄存器又规定了专门的用途。例如,在字符串处理指令中约定必须用CX作为计数器存放串的长度。这样,在指令中就不必给出CX寄存器名,缩短了指令代码的长度,简化了指令的书写形式,这种使用方法称为“隐含寻址”。隐含寻址实际上就是在指令中使用了一些规定的通用寄存器,且这些通用寄存器不直接在指令中体现出来。表2.1列出了8086CPU中各通用寄存器的专门用途和隐含性质第22页/共89页四个段寄存器分别用于CPU在访问内存时作为段基址,但某次访问时究竟是取哪一个段寄存器的内容,则要取决于CPU当前执行什么操作。对于取指操作,是选取CS段寄存器;对于存取数据操作,是选取DS段寄存器;对于
13、压栈和弹栈操作,是选取SS段寄存器;在对目的串操作时,是选取ES段寄存器。2.2.段寄存器段寄存器组组第23页/共89页上述各种操作的段寄存器选取规则选取规则称为基本段约定基本段约定,采用基本段约定的最大好处是,在指令中就不必给出段寄存器名,可以缩短缩短指令代码的长度,简化简化指令的书写形式。8086CPU允许在某条指令中突破突破基本段约定,如存取数据的基本段约定为数据段,但在某条指令完全可以临时改变为代码段、或附加段、或堆栈段,这种情况称为段超越段超越。8086的基本段约定和允许的段超越如表2.2所示。第24页/共89页表表2.2 8086的基本段约定和允许的段超越的基本段约定和允许的段超越
14、 CPU执行的操作基本段约定允许修改的段偏移地址取指令CS不允许修改IP压栈、弹栈SS不允许修改SP源串DSCS、ES、SSSI目的串ES不允许修改DI通用数据读写DSCS、ES、SS有效地址EABP作间址寄存器SSCS、DS、ES有效地址EA第25页/共89页3.控制寄存器(1)指令指针指令指针IP IP(Instruction Pointer)指指令令指指针针与与PC类类似似,但但有区别:有区别:a.PC是是指指向向下下一一条条即即将将要要执执行行的的指指令令,而而IP一一般般是指向下一次要取出的指令。是指向下一次要取出的指令。b.在在8086中中IP要要与与CS代代码码段段寄寄存存器器的
15、的内内容容一一起起,才能得到指令的实际地址才能得到指令的实际地址。第26页/共89页TFSFZFAFPFOFDFIFCF15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 标志寄存器格式a.6个状态标志位个状态标志位,即CF、PF、AF、ZF、SF和 OF。进位标志进位标志CF(Carry Flag):(2)标志寄存器标志寄存器FR 当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,CF=1;否则,CF=0,移位和循环指令也影响CF。第27页/共89页 奇偶标志位奇偶标志位PF(Parity Flag):若结果中的低8位含有“1”的个数为偶数
16、,则PF=1;否则,PF=0。辅助进位标志辅助进位标志AF(Auxitiary Carry Flag):在低半字节向高半字节有进位或借位时AF=1;否则,AF=0。零标志零标志ZF(Zero Flag):当运算结果为0时ZF=1;否则,ZF=0。符号标志符号标志SF(Sign Flag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。第28页/共89页溢出标志溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时(字节数:-128+127,字 类 型 数:-32768+32767),OF=1;否则,OF=0。例:2345H+3219H
17、6400H+7A3CHCF=0 PF=0 AF=0 ZF=0 SF=0 OF=0CF=0 PF=1 AF=0 ZF=0 SF=1 OF=1即:OFCsCS+1 第29页/共89页 b.3个控制标志位 追踪标志追踪标志TF(Trace Flag):TF=1,处理器进入单步方式,以便调调试试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。中断允许标志中断允许标志IF(Interrupt-enable Flag):IF=1,允许CPU响应外部的可可屏屏蔽蔽中中断断请求;IF=0则禁止响应。IF对外部非非屏屏蔽蔽中中断断及及内内部部中中断断不起作用。第30页
18、/共89页 方向标志方向标志DF(Direction Flag):在串串操操作作指指令令中,DF=0时,变址指针自动增量;DF=1时,则自动减量。第31页/共89页2.2 8086的的引脚信号及工作模式引脚信号及工作模式 最最小小模模式式:即即由由8086组组成成的的单单处处理理器器系系统统,所所有有的的总总线线控控制制信信号号由由8086直直接接产产生生,系系统统中中的的总总线线控控制逻辑电路被减到最少。制逻辑电路被减到最少。最最大大模模式式:即即由由8086组组成成的的中中等等规规模模或或者者大大型型的的系系统统。包包含含两两个个或或多多个个微微处处理理器器,8086为为主主处处理理器器,
19、其它的为其它的为协处理器协处理器。8086808680868086的两种工作模式的两种工作模式的两种工作模式的两种工作模式第32页/共89页 8086采采用用双双列列直直插插式式封封装装,有有40个个引引脚脚(如如右右图图所所示示),但但总总线线信信号号数数量量却却大大于于40,故故8086采采用用了了分分时时复复用用技技术术,部部分分引引脚传送两种总线信号。脚传送两种总线信号。2.2.1 80862.2.1 8086的引脚的引脚的引脚的引脚 及其功能及其功能及其功能及其功能 12345678910111213141516171819204039383736353433323130292827
20、262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086CPU8086的引脚信号注:括号内为该引脚在最大模式下的名称第33页/共89页1.1.最小模式下引脚信号及功能:最小模式下引脚信号及功能:最小模式下引脚信号及功能:最小模式下引
21、脚信号及功能:(1)地址/数据总线AD15AD0(双向、三态)在在一一个个总总线线周周期期的的第第一一个个时时钟钟周周期期用用于于传传送送低低16bit地地址址信信息息,并并用用地地址址锁锁存存器器锁锁存存以以免丢失,免丢失,其其它它时时钟钟周周期期可可用用于于传传送送数数据据信信息息,分分时时传传送。送。当当8086执执行行中中断断响响应应周周期期、保保持持响响应应周周期期时时,这些引脚处于高阻状态。这些引脚处于高阻状态。第34页/共89页(2)地址/状态信号线A19/S6A16/S3(输出、三态)在在总总线线周周期期的的第第一一个个时时钟钟周周期期(T1)用用于于输输出出地址信号的最高地址
22、信号的最高4bit并锁存。并锁存。其其它它时时钟钟周周期期中中用用来来输输出出状状态态信信号号S6S3,其中:其中:S6低电平,表示8086当前与总线相连。S5表示标志寄存器中“中断允许位”的状态(IF)。S4,S3的组合指出了分段情况。如下表所示。第35页/共89页 S S4 4和和S S3 3的组合提供的分段信息表的组合提供的分段信息表S4S3意 义00110101当前正在使用ES附加段当前正在使用SS堆栈段当前正在使用CS或者未使用任何段寄存器当前正在使用DS数据段 当当CPU处处于于“保保持持响响应应”状状态态时时,A19/S6A16/S3置为高阻状态。置为高阻状态。若若执执行行I/O
23、指指令令,则则由由于于8086只只访访问问64K个个端口,在端口,在T1周期这周期这4个引脚为低电平。个引脚为低电平。第36页/共89页(3)BHE/S7高8位数据总线允许/状态线(输出,三态)在T1状态,8086在BHE/S7引脚输出BHE信号,表示高8位数据总线D15D8上的数据有效,与地址线A0一起产生存储器的选择逻辑信号。在其它时钟周期,输出为状态信号S7。但8086芯片,S7未定义。第37页/共89页下面介绍引脚中的控制信号。下面介绍引脚中的控制信号。(4)MN/MX最小/最大模式控制信息低电平 8086处于最大模式。高电平 8086处于最小模式。(5)RD读信号(输出,三态)低电平
24、有效。表示将对内存或I/O端口读操作。第38页/共89页(6)M/IO,存储器,存储器/输入输出控制信息输入输出控制信息 (输出,三态输出,三态)区分CPU进行的是存储器还是I/O访问,见下表。RDM/IO操 作1000读存储器数据读I/O端口数据 RD RD与与 M/IOM/IO的组合及对应的操作表的组合及对应的操作表第39页/共89页(7)WR写信号写信号(输出,三态输出,三态)1000CPU对存储器进行写操作CPU对I/O端口进行写操作 WR WR与与 M/IO M/IO 的组合及对应的操作表的组合及对应的操作表操 作WRM/IO低电平有效。WR与M/IO的组合对应的操作如下表所示。第4
25、0页/共89页(8)ALE地址锁存允许信号(输出)高高电电平平有有效效,此信号在T1状态有效,为地址码锁存的选通信号,送地址锁存器。(9)READY准备就绪信号(输入)高高电电平平有有效效,是从所寻址的存存储储器器或I/O电电路路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同同步步问问题题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等等待待周周期期直到READY为高电平,进入T4完成数据传送。第41页/共89页(10)INTR可屏蔽中断请求信号(输入)高高电电平平有有效效,8086在每一个指令周期的最后一个T状态采样这条线,若为有效,且IF=1,则8086在
26、执行完当前指令即响应中断。(11)INTA中断响应信号(输出,三态)低低电电平平有有效效,CPU响应外部可可屏屏蔽蔽中中断断请求以后,便发出中断响应信号,作为对中断请求的回答。此信号在每一个中断响应周期的T2、T3和TW周期均有效,为中断矢量的读选通信号。第42页/共89页(12)NMI非屏蔽中断请求信号(输入)边沿触发边沿触发,该线上的中断请求信号不能用软件屏蔽,电平由低到高,便在当前指令结束后引起中断。第43页/共89页(13)RESET系统复位信号(输入)高高电电平平有有效效,8086要求此信号起码维持4个时钟周期;若初次加电复位,持续时间不小于50 s。RESET为高电平时,8086立
27、即结束现行操作,进入内部复位状态,CPU各内部寄存器被设置为初初值值:CS=FFFFH,Flag、IP、DS、ES、SS及其它寄存器均初始化为0000H。第44页/共89页(14)DT/R数据收发控制信号(输出、三态)为增强数据总线的驱动能力,8086可外接驱动器8286,DT/R即为8086输出给数据收发器8286的控制信号。DT/R高高电电平平,8086输出的数据经8286送到数据总线;DT/R低低电电平平,收发器8286则把数据总线上的数据传送到8086。系统工作在DMA方式时,DT/R为高阻状态。第45页/共89页 高高电电平平有有效效。系系统统中中其其他他的的总总线线主主设设备备要要
28、获获得得对对总总线线的的控控制制权权时时,向向8086发发出出高高电电平平的的HOLD信信号号,8086在每个时钟周期的上升沿对HOLD引脚信号进行检测,若为高电平,则在当前总线周期结束时,予以响应。(16)HOLD保持请求信号(输入)(15)DEN数据允许信号(输出,三态)低低电电平平有有效效,也是8086控制外接的数据收发器,低电平时开启收发器,传送数据有效;高电平时,则禁止传送。第46页/共89页(17)HLDA保持响应信号 (输出)高 电 平 有 效。当当 CPU响响 应应 保保 持持 请请 求求HOLD时时,便便发发出出HLDA高高电电平平的的应应答答信信号号,从而将总线控制权让给发
29、出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。第47页/共89页 低电平有效。与WAIT等待指令结合使用,当CPU执行WAIT指令时,CPU处于空转状态进行等待直到检测到TEST信号有效时结束,CPU继续往下执行指令。(18)TEST测试信号(输入)(19)CLK系统时钟输入信号 时时钟钟信信号号为为CPU和和总总线线控控制制逻逻辑辑电电路路提提供供定定时时基基准准。常用INTEL8284A时钟发生器提供CLK信号。第48页/共89页2.2.最大模式下引脚信号及功能最大模式下引脚信号及功能最大模式下引脚信号及功能最大模式下引脚信号及功
30、能 若将8086的MN/MX引脚接地便工作在最大模式。此时仅2431引脚信号与最小模式不同,如下表所示。引脚编号最小模式最大模式2425262728293031QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0INTAALEDENDT/RM/IOWRHLDAHOLD 两种模式下8086的2431引脚信号表第49页/共89页(1)QS1和QS0指令队列状态信号(输出)QSQS1 1和和QSQS0 0编码与队列状态表编码与队列状态表QS1QS0 队列状态00110101空操作取走指令的第一个字节队列空从队列里取出的字节是指令的后续字节两信号编码和对应的队列状态如下表所示。第50页/共89页
31、这这三三个个状状态态信信号号组组成成的的编编码码表表示示了了当当前前总总线周期是何种操作周期,如下表所示。线周期是何种操作周期,如下表所示。2,1和和 0编码与总线周期表编码与总线周期表发中断响应信号读I/O端口写I/O端口暂停取指令读存储器写存储器 无源状态010101010000111100110011S总线周期2S10S(2)S2,S1和 S0总线周期状态信号(输出,三态)第51页/共89页(3)LOCK总线封锁信号(输出,三态)低低电电平平有有效效。此信号有效时,系统中其他总线主部件不能占有总线。此信号由前缀指令LOCK使其有效,并保持到LOCK前缀后的一条指令执行完毕。另外8086在
32、两个中断响应周期之间,LOCK信号也自动变为有效电平,以防其它部件占有总线。第52页/共89页 下图给出了8086在最大模式下的典型配置。(4)RQ/GT1和RQ/GT0总线请求/允许信号(双向)供CPU以外的两个处理器用以发出使用总线的请求信号和接收CPU对总线请求信号的回答信号,请求与允许信号在同一引脚上传输,但方向相反。其中RQ/GT0优优先级较高先级较高。第53页/共89页2.2.2 2.2.2 最小工作模式及其系统结最小工作模式及其系统结构构8086CPU的最小工作模式,指的是微型计算机系统中只有8086或8088一个微处理器在这个系统中,所有的总线控制信号直接由CPU提供将8086
33、CPU的MN/引脚接5V即可使8086工作在最小模式下 第54页/共89页工作在最小模式下8086的典型配置如右图所示8086地址锁存器STB(82862)OE(选用)数据总线地址总线(82823)READYRESETMN/MXALEBHEA19A16AD15AD0DENDT/RM/IOWRRDHOLDHLDAINTRINTA(8284A)X1 X2CLKREADYRESET+5VBHEA19A0D15D0第55页/共89页8284A与振荡源之间有两种连接方式当采用脉冲发生器作为振荡源时,其输出端应与8284A 的EFI端相连,F/接高电平;当采用晶体振荡器作为振荡源时,应连在8284A 的X
34、1和X2两引脚之间,F/接电源地 无论采用哪种方法,8284A输出的时钟频率均为振荡源频率的三分之一。第56页/共89页.图2.9 8284A与CPU的连接第57页/共89页2.2.3 最大模式和系统组成最大模式和系统组成8086CPU的最大模式,是微机系统中包含有两个或多个微处理器,其中8086是主处理器,其余的是协助主处理器工作的协处理器。如数值运算协处理器(8087)和I/O协处理器(8089)等。图2.11是8086系统在最大模式下的典型配置结构框图 第58页/共89页.图2.11 8086在最大模式下的典型配置第59页/共89页 由由图图可可以以看看出出:8086在在最最大大与与最最
35、小小模模式式下下的的主主要要区区别别是是增增加加了了一一个个8288总总线线控控制制器器。8288接接受受8086CPU的的状状态态信信号号S2、S1和和S0,经经过过变变换换和和组组合合,由由8288发发出出对对存存储储器器和和I/O端端口口的的读读/写写信信号号,对对锁锁存存器器8282及及对对总线收发器总线收发器8286的控制信号。的控制信号。第60页/共89页图2.12 8288的连接8086CPU时钟发生器(8284A)8288CLKDENALEMN/MXSTBOEOETIORCIOWC数据总线MRDCMWTCBHE8282382862CLKREADYRESETBHES0S1S2S0
36、S1S2DT/RA19A0D15D0INTAA19A16AD15AD0 1READYRESET总线控制器地址总线第61页/共89页8086系统中的堆栈系统中的堆栈按“后后进进先先出出”原则,用作数据暂时存储的一组寄存器寄存器或存储单元存储单元称为堆栈。堆栈操作有两种:压压入入(PUSH)和和弹弹出出(POP),而SP始终指向堆栈栈顶的新位置。1.1.堆栈的定义堆栈的定义堆栈的定义堆栈的定义堆栈中数据按“后后进进先先出出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈栈顶顶,用堆栈指针SP(Stack Pointer)指示。第62页/共89页2.2.构成堆栈的
37、两种形式构成堆栈的两种形式 一一种是使用种是使用CPU内部的内部的一组寄存器一组寄存器作为堆栈。作为堆栈。优点优点:访问速度快。:访问速度快。缺点:缺点:寄存器数量有限。寄存器数量有限。另另一一种种形形式式是是在在随随机机存存储储器器RAM中中开开辟辟一一个个区区间供堆栈使用,较为普遍;间供堆栈使用,较为普遍;第63页/共89页3.3.堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式堆栈编址结构的两种形式(1)向上生成该结构中,每压压入入一个数据,堆栈指示器SP按增增量量修改;每弹弹出出一个数据,SP按减量减量修改。(2)向下生成该结构中,每压压入入一个数据,SP按减减量量修
38、改;每弹出弹出一个数据,SP按增量增量修改。第64页/共89页 堆栈操作示意图(向下生成)M3M2M1MXSP(a)M3M2M1MXSP(b)AM3M2M1MXSP(c)ABSPASPBSPC当前栈顶地址为M,存内容X信息B进栈:SPSP1,SP指定的地址B信息A进栈分两步操作:SPSP1,SP指定的地址单元A第65页/共89页 堆栈操作示意图(向下生成)MM3M2M1XSP(d)ABCM3M2M1MXSP(f)ABCM3M2M1MXSP(e)ACBSPDSPCSPB信息C进栈信息C出栈分两步操作:指定的目的地C,SPSP+1信息B出栈:指定目的地B,SPSP+1第66页/共89页 堆栈操作示
39、意图(向下生成)MM3M2M1XSP(g)ADCM3M2M1MXSP(i)ADCM3M2M1MXSP(h)ACDSPDSPA信息D进栈:SPSP1,SP指定的地址D信息D出栈信息A出栈,栈顶地址仍为M第67页/共89页 由由上上图图中中可可以以看看出出,出出栈栈操操作作并并不不会会从从堆堆栈栈中中去去掉掉信信息息,也也不不擦擦除除它它们们,只只是是因因SP的自动修改而改变了堆栈的栈顶。的自动修改而改变了堆栈的栈顶。堆堆栈栈主主要要用用于于中中断断控控制制,子子程程序序调调用用以以及数据暂时存储。及数据暂时存储。第68页/共89页1.时钟周期时钟周期(T状态周期状态周期 Clock Cycle)
40、2.3 8086总线周期与时总线周期与时序序 是时钟频率(主频)的是时钟频率(主频)的倒数倒数,作为一种频,作为一种频率固定的率固定的周期性周期性脉冲信号,它是计算机系统中脉冲信号,它是计算机系统中的时间的时间基准基准和时序分析的基本单位,也是和时序分析的基本单位,也是CPUCPU的的一个一个重要性能指标重要性能指标。例:例:80868086的主频为的主频为5MHz5MHz,时钟周期则为,时钟周期则为200ns200ns,8086-18086-1的主频为的主频为10MHz10MHz,时钟周期则为,时钟周期则为100ns100ns。2.3.1 2.3.1 时钟周期、总线周期和指令周期时钟周期、总
41、线周期和指令周期第69页/共89页2.机器周期机器周期(总线周期总线周期Bus Cycle)微微机机处处理理器器BIU与与外外部部电电路路之之间间进进行行一一次次数数据传送操作所占用的时间,包含若干个时钟周期。据传送操作所占用的时间,包含若干个时钟周期。T1T2T3T4TIT1T2T3T4总线周期总线周期地址数据地址ADCLK数据第70页/共89页3.指令周期指令周期(Instruction Cycle)执执行行一一条条指指令令所所需需要要的的时时间间,由由一一至至若若干干个个机器周期组成。机器周期组成。第71页/共89页2.3.2 总线操作与时总线操作与时序序总线操作是总线操作是CPUCPU
42、与外部进行信息交换的过与外部进行信息交换的过程程。8086CPU8086CPU的总线操作主要包括:总线的总线操作主要包括:总线读读/写、总线保持或总线请求写、总线保持或总线请求/允许、中允许、中断响应、暂停、系统复位和启动等操作。断响应、暂停、系统复位和启动等操作。操作时序则是指操作时序则是指CPUCPU在操作过程中在操作过程中各种有各种有效信号在总线上出现的先后次序。效信号在总线上出现的先后次序。第72页/共89页Intel 8086微微处处理理器器采采用用总总线线复复用用操操作作方方式式8086的的16位位数数据据总总线线和和地地址址总总线线的的低低16位位是是共共用用的,典型的总线周期如
43、下图:的,典型的总线周期如下图:T1T2T3T4TIT1T2T3T4总线周期总线周期地址数据地址ADCLK数据2.3.3 基本的总线周期第73页/共89页在在没没有有插插入入等等待待时时钟钟周周期期TW的的情情况况下下,总总线线周周期期由由4个时钟周期组成,即图中个时钟周期组成,即图中T1、T2、T3、T4在在T1期期间间CPU把把存存储储器器或或外外设设的的地地址址放放到到总总线线上上,这这些些地地址址信信息息由由ALE控控制制锁锁存存到到地地址址锁锁存存器器中中,以以便使总线上可以传送数据信息。便使总线上可以传送数据信息。T2期期间间分分时时复复用用的的地地址址/数数据据总总线线处处于于高
44、高阻阻态态,以以便为读入或写出数据作准备。便为读入或写出数据作准备。在在T3和和T4期期间间,读读或或写写的的数数据据出出现现在在总总线线上上,以以使使完成读或写的操作。完成读或写的操作。第74页/共89页等待周期等待周期TW:T1T2T3TW一个总线周期数据输入地址输出T4READY地址总线READY信号的定时波形如如果果在在T3周周期期结结束束之之前前,存存储储器器或或外外设设未未准准备备好好数数据据传传送送,就就要要启启动动输输入入CPU的的READY线线使使之之变变低低电电平平,从从而而在在T3和和T4之之间间插插入入一一个个或或多多个个TW等等待待周周期期,直到直到READY变高,转
45、入变高,转入T4周期,完成读写操作。周期,完成读写操作。第75页/共89页空闲状态周期空闲状态周期TI:8086执执行行部部件件EU和和总总线线接接口口部部件件BIU在在一一定定程程度度上上独独立立并并行行工工作作,只只有有当当BIU为为了了填填满满指指令令队队列列或或EU执执行行指指令令需需要要与与外外部部交交换换数数据据时时,申申请请一一个个总总线线周周期期,此此时时BIU才才执执行行一一个个总总线线周周期期。因因此此在在两两个个总总线线周周期期之之间间,可可能能会存在一些会存在一些BIU空闲时钟周期。空闲时钟周期。第76页/共89页2.3.4 8086读总线周读总线周期期读总线是指读总线
46、是指CPUCPU从存储器或从存储器或I/OI/O端口端口读取数据读取数据的操的操作,作,80868086最小模式下的总线读操作时序,如图最小模式下的总线读操作时序,如图2.132.13。读总线周期一般包括读总线周期一般包括T T1 1、T T2 2、T T3 3、T T4 4四个四个T T状态状态,当存储器或当存储器或I/OI/O端口的速度较慢,跟不上端口的速度较慢,跟不上CPUCPU的速的速度时,就在度时,就在T T3 3和和T T4 4状态间插入状态间插入若干个若干个等待状态等待状态TwTw。读总线周期中,读总线周期中,CPUCPU发出信号发出信号 指出本周期是指出本周期是读读存储器存储器
47、(高电平)还是(高电平)还是读读I/O(低电平);(低电平);DT/DT/保持低电平,用于控制数据总线收发器的数据传输保持低电平,用于控制数据总线收发器的数据传输方向为方向为CPUCPU接受外部输入的数据接受外部输入的数据。第77页/共89页1、正常读总线周期、正常读总线周期T1T2T3T4一个总线周期CLKA19A16S6S3A19/S6 A16/S3BHE/S7DATA INAD15 AD0ALE低=I/O,高=MM/IORDDT/RDENA15A0举例第78页/共89页2、具有等待状态的读总线周期、具有等待状态的读总线周期T1T2T3TW一个总线周期CLKA19A16A19/S6 A16
48、/S3BHE/S7DATA INAD15 AD0ALE低=I/O,高=MM/IORDDT/RDENA15A0T4READYWAITREADYS6S3第79页/共89页2.3.5 8086写总线周写总线周期期写总线是指写总线是指CPUCPU经过总线将数据经过总线将数据输出输出到存储器或到存储器或I/OI/O端口的操作端口的操作;总线写操作时序与总线读操作时序总线写操作时序与总线读操作时序基本相似基本相似,不,不同点有:同点有:(1 1)CPUCPU输出的输出的有效信号有效信号是是 ,表示是写操作,表示是写操作,信号在整个周期内无效;信号在整个周期内无效;(2 2)DT/RDT/R在整个总线周期为
49、高电平,用于控制数在整个总线周期为高电平,用于控制数据总线收发器的传送方向为据总线收发器的传送方向为CPUCPU向外部发送数据向外部发送数据。(3 3)ADAD1515ADAD0 0在在T T2 2到到T T4 4状态期间状态期间输出输出数据,在数据,在T T2 2状态无高阻态。状态无高阻态。第80页/共89页8086最小模式下的总线写操作时序T1T2T3T4一个总线周期CLKA19 A16S6 S3A19/S6 A16/S3BHE/S7DATA OUTAD15 AD0ALE高=I/O,低=MM/IOWRDT/RDENA15A0第81页/共89页80868086最大模式下的总线读最大模式下的总
50、线读/写操作原理与最小模式写操作原理与最小模式下的相同,操作时序与最小模式下基本相似下的相同,操作时序与最小模式下基本相似,不,不同点在于:同点在于:CPUCPU不会产生不会产生 、或或 等控制信号,而是由等控制信号,而是由总线控制器总线控制器82888288产生存储器或产生存储器或I/OI/O端口需要的端口需要的控制控制信号,如:信号,如:(读存储器)、(读存储器)、(读(读IOIO),),(写存储器)、(写存储器)、(写(写IOIO)或用于提前一个时)或用于提前一个时钟周期产生的先行写信号钟周期产生的先行写信号 (写存储器)、(写存储器)、(写(写IOIO)等。)等。第82页/共89页2.