微机原理及其应用.ppt

上传人:小飞机 文档编号:6161621 上传时间:2023-10-01 格式:PPT 页数:89 大小:1.06MB
返回 下载 相关 举报
微机原理及其应用.ppt_第1页
第1页 / 共89页
微机原理及其应用.ppt_第2页
第2页 / 共89页
微机原理及其应用.ppt_第3页
第3页 / 共89页
微机原理及其应用.ppt_第4页
第4页 / 共89页
微机原理及其应用.ppt_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《微机原理及其应用.ppt》由会员分享,可在线阅读,更多相关《微机原理及其应用.ppt(89页珍藏版)》请在三一办公上搜索。

1、封面,8086微处理器,第2章,Intel 8086微处理器的结构,Intel8086CPU的总线周期与 时序,掌握Intel 8086系统的构成和工作原理,重点掌握Intel 8086微处理器的结构,掌握时序的概念,掌握基本的总线周期时序,2.1 8086微处理器的结构,8086CPU是采用HMOS工艺Intel系列16位微处理器,其基本特性如下:双列直插、40引脚 单一+5V电源、时钟频率:5MHz10MHz 16位外部数据总线、20位外部地址总线,可寻址1MB地址空间 并行流水线处理结构 8086CPU支持多处理器系统,为提高系统的数据处理能力或提高CPU的效率,可以与数值协处理器808

2、7或其他协处理器一起,方便地构成多处理器系统。,2.1.1 8086的功能结构,8086CPU的结构框图,8086从功能结构来讲,分为两大部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。,(1)4个16位段地址寄存器及一个20位物理地址加法器,8086CPU有20位外部地址总线,对应的存储器地址空间范围是1MB。CPU寻找某个地址单元时,需要给出该单元的20位地址,该地址称为存储器的物理地址。由于CPU内部的所有寄存器,包括段寄存器,都是16位的,用它们作地址寄存器时,只能直接寻址到64KB地址范围。故在8086CPU中采用了分

3、段技术对存储空间进行管理。,CPU将lMB的存储空间分成若干个逻辑段,每个逻辑段对应一片连续的存储空间,其长度任意,但最大不超过64KB。当要访问逻辑段内的某一单元时,只要给出逻辑段的起始地址以及该单元与起始地址之间的距离(又称偏移量,或偏移地址,以字节数计量),即可确定其物理地址。,.,图2.2 逻辑段与段内寻址,逻辑段可在整个lMB存储空间内浮动,即可重定位在不同的位置,但逻辑段的起始地址必须能被16整除,即段起始地址必须是XXXX0H的形式。段起始地址的高16位称为段基址,它在访问存储器之前被置于某个段地址寄存器中。CPU访问存储器时,根据所执行的操作,选择某个段寄存器,将其中的内容左移

4、4位形成20位地址的高16位(低4位自动添0),然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址,如图2.3所示。,图2.3 8086物理地址的形成,按不同的用途,段地址寄存器可分为代码段寄存器CS、数据段寄存器DS、附加段寄存器ES和堆栈段寄存器SS,它们分别用于存放当前代码段、数据段、附加段和堆栈段的段基址。存储器采用分段结构,方便了CPU对存储器的访问。当所访问的存储器处于同一逻辑段时,可以不改变段寄存器的值,只需改变段内的偏移地址,此即段内寻址。当需要改变段寄存器的值寻找新的地址时,称为段间寻址,(2)16位指令指针IP,IP用于存放下一条要从内存中取出来的指令的有效地

5、址EA(即偏移地址),在取出指令时通常进行IP+1IP的操作,但在执行转移指令、调用指令时,装入IP中的是相应的转移目的地址。由段基址和偏移地址两部分构成了存储器的逻辑地址,如:取指令时CS:IP=3000:2000H,CS:IP=3100:1000H等,这两个不同的逻辑地址对应的物理地址都是32000H。不同的逻辑地址可能对应同一个物理地址。,用于按先后次序存放待执行的指令,供EU按顺序取去执行。(4)总线控制逻辑 总线控制逻辑负责产生并发出总线控制信号,实现对存储器和I/O端口的读写操作。,(3)6字节的指令队列,2.执行部件EU,EU的主要功能是执行指令,EU由以下几个部分组成:(1)算

6、术逻辑单元ALU ALU用于完成16位或8位的二进制数的算术逻辑运算(2)标志寄存器FR FR用来反映最近一次运算结果的状态以及存放控制标志(3)通用寄存器组 包括4个数据寄存器AX、BX、CX、DX,4个专用寄存器SP、BP、DI、SI。(4)EU控制器 从BIU中的指令队列获取指令,经过指令译码电路形成各种定时控制信号,向各功能部件发送相应的控制命令,以完成每条指令所规定的操作。,3.BIU和EU的协调动作,8086CPU中,BIU和EU是同时工作,但并不是完全同步的。BIU负责从内存中取出指令,并送到指令队列供EU执行;BIU必须保证指令队列始终有指令可供执行,当指令队列有2个字节的空余

7、时,BIU将自动取指令到指令队列。EU直接从指令队列中取指令执行,由于指令队列中至少有一个以上的指令字节,EU就可以节省因取指令而访问内存的等待时间,8086与传统微处理器指令执行过程比较,传统微处理器的执行方式,传统微处理器取指与执行串行进行,CPU的工作效率低。,8086的指令执行方式,8086CPU取指与执行并行进行,大大减少了等待取指令所需时间,提高了CPU的工作效率。,2.1.2 8086CPU的寄存器结构,8086CPU 内部寄存器,1.通用寄存器组,(1)数据寄存器数据寄存器包括AX、BX、CX、DX等4个16位寄存器,主要用来保存算术、逻辑运算的操作数、中间结果或地址。它们既可

8、以作为16位寄存器使用,也可以将每个寄存器高字节和低字节分开作为两个独立的8位寄存器使用,从而得到8个8位寄存器AL、BL、CL、DL、AH、BH、CH、DH等,可用于8位数据的运算和处理。,(2)指针寄存器,堆栈指针SP中存放的是当前堆栈段中栈顶的偏移地址BP是访问堆栈时的基址寄存器,存放的是堆栈中某一存储单元的偏移地址。SI和DI是变址寄存器,分别为访问数据段提供操作数的偏移地址。在串操作指令中规定:SI存放源操作数(即源串)的偏移地址,故称之为源变址寄存器;DI存放目的操作数(目的串)的偏移地址,故称之为目的变址寄存器,二者不能混用。,以上8个16位通用寄存器在一般情况下都具有通用性,但

9、是为了缩短指令代码的长度,某些通用寄存器又规定了专门的用途。例如,在字符串处理指令中约定必须用CX作为计数器存放串的长度。这样,在指令中就不必给出CX寄存器名,缩短了指令代码的长度,简化了指令的书写形式,这种使用方法称为“隐含寻址”。隐含寻址实际上就是在指令中使用了一些规定的通用寄存器,且这些通用寄存器不直接在指令中体现出来。,表2.1列出了8086CPU中各通用寄存器的专门用途和隐含性质,四个段寄存器分别用于CPU在访问内存时作为段基址,但某次访问时究竟是取哪一个段寄存器的内容,则要取决于CPU当前执行什么操作。对于取指操作,是选取CS段寄存器;对于存取数据操作,是选取DS段寄存器;对于压栈

10、和弹栈操作,是选取SS段寄存器;在对目的串操作时,是选取ES段寄存器。,2.段寄存器组,上述各种操作的段寄存器选取规则称为基本段约定,采用基本段约定的最大好处是,在指令中就不必给出段寄存器名,可以缩短指令代码的长度,简化指令的书写形式。8086CPU允许在某条指令中突破基本段约定,如存取数据的基本段约定为数据段,但在某条指令完全可以临时改变为代码段、或附加段、或堆栈段,这种情况称为段超越。8086的基本段约定和允许的段超越如表2.2所示。,表2.2 8086的基本段约定和允许的段超越,a.PC是指向下一条即将要执行的指令,而IP一般是指向下一次要取出的指令。,b.在8086中IP要与CS代码段

11、寄存器的内容一起,才能得到指令的实际地址。,标志寄存器格式,a.6个状态标志位,即CF、PF、AF、ZF、SF和 OF。,进位标志CF(Carry Flag):,(2)标志寄存器FR,当结果的最高位(字节D7,字D15)产生进位(加法运算)或借位(减法运算)时,CF=1;否则,CF=0,移位和循环指令也影响CF。,奇偶标志位PF(Parity Flag):若结果中的低8位含有“1”的个数为偶数,则PF=1;否则,PF=0。,辅助进位标志AF(Auxitiary Carry Flag):在低半字节向高半字节有进位或借位时AF=1;否则,AF=0。,零标志ZF(Zero Flag):当运算结果为0

12、时ZF=1;否则,ZF=0。,符号标志SF(Sign Flag):SF等于最高位,对于带符号数,最高位为符号位,SF=1运算结果为负,SF=0为正。,溢出标志OF(Overflow Flag):带符号数运算结果超出其表达范围时(字节数:-128+127,字类型数:-32768+32767),OF=1;否则,OF=0。,即:OFCsCS+1,b.3个控制标志位,追踪标志TF(Trace Flag):TF=1,处理器进入单步方式,以便调试,CPU每执行一条指令自动产生一个内部中断以利于检查指令的执行情况;TF=0为连续工作方式。,中断允许标志IF(Interrupt-enable Flag):IF

13、=1,允许CPU响应外部的可屏蔽中断请求;IF=0则禁止响应。IF对外部非屏蔽中断及内部中断不起作用。,方向标志DF(Direction Flag):在串操作指令中,DF=0时,变址指针自动增量;DF=1时,则自动减量。,2.2 8086的引脚信号及工作模式,8086的两种工作模式,8086采用双列直插式封装,有40个引脚(如右图所示),但总线信号数量却大于40,故8086采用了分时复用技术,部分引脚传送两种总线信号。,2.2.1 8086的引脚 及其功能,1.最小模式下引脚信号及功能:,(1)地址/数据总线AD15AD0(双向、三态),(2)地址/状态信号线A19/S6A16/S3(输出、三

14、态),S6低电平,表示8086当前与总线相连。,S5表示标志寄存器中“中断允许位”的状态(IF)。,S4,S3的组合指出了分段情况。如下表所示。,S4和S3的组合提供的分段信息表,当CPU处于“保持响应”状态时,A19/S6A16/S3置为高阻状态。,若执行I/O指令,则由于8086只访问64K个端口,在T1周期这4个引脚为低电平。,下面介绍引脚中的控制信号。,低电平 8086处于最大模式。,高电平 8086处于最小模式。,低电平有效。表示将对内存或I/O端口读操作。,区分CPU进行的是存储器还是I/O访问,见下表。,(8)ALE地址锁存允许信号(输出),高电平有效,此信号在T1状态有效,为地

15、址码锁存的选通信号,送地址锁存器。,(9)READY准备就绪信号(输入),高电平有效,是从所寻址的存储器或I/O电路来的响应信号,用于解决CPU与慢速存储器或I/O电路的同步问题。CPU在T3周期开始采样READY线,若为低电平,则T3之后插入TW等待周期直到READY为高电平,进入T4完成数据传送。,(10)INTR可屏蔽中断请求信号(输入),(12)NMI非屏蔽中断请求信号(输入),(13)RESET系统复位信号(输入),(16)HOLD保持请求信号(输入),(17)HLDA保持响应信号(输出),高电平有效。当CPU响应保持请求HOLD时,便发出HLDA高电平的应答信号,从而将总线控制权让

16、给发出保持请求的设备,直到该设备又将HOLD信号变为低电平,CPU才收回总线控制权,将HLDA信号置为低电平。,(19)CLK系统时钟输入信号,2.最大模式下引脚信号及功能,引脚编号,最小模式,最大模式,2425262728293031,QS1QS0S0S1S2LOCKRQ/GT1RQ/GT0,INTAALEDENDT/RM/IOWRHLDAHOLD,两种模式下8086的2431引脚信号表,(1)QS1和QS0指令队列状态信号(输出),QS1和QS0编码与队列状态表,两信号编码和对应的队列状态如下表所示。,这三个状态信号组成的编码表示了当前总线周期是何种操作周期,如下表所示。,2,1和 0编码

17、与总线周期表,下图给出了8086在最大模式下的典型配置。,2.2.2 最小工作模式及其系统结构,8086CPU的最小工作模式,指的是微型计算机系统中只有8086或8088一个微处理器在这个系统中,所有的总线控制信号直接由CPU提供将8086CPU的MN/引脚接5V即可使8086工作在最小模式下,工作在最小模式下8086的典型配置如右图所示,8284A与振荡源之间有两种连接方式当采用脉冲发生器作为振荡源时,其输出端应与8284A 的EFI端相连,F/接高电平;当采用晶体振荡器作为振荡源时,应连在8284A 的X1和X2两引脚之间,F/接电源地 无论采用哪种方法,8284A输出的时钟频率均为振荡源

18、频率的三分之一。,.,图2.9 8284A与CPU的连接,2.2.3 最大模式和系统组成,8086CPU的最大模式,是微机系统中包含有两个或多个微处理器,其中8086是主处理器,其余的是协助主处理器工作的协处理器。如数值运算协处理器(8087)和I/O协处理器(8089)等。图2.11是8086系统在最大模式下的典型配置结构框图,.,图2.11 8086在最大模式下的典型配置,图2.12 8288的连接,8086系统中的堆栈,按“后进先出”原则,用作数据暂时存储的一组寄存器或存储单元称为堆栈。,堆栈操作有两种:压入(PUSH)和弹出(POP),而SP始终指向堆栈栈顶的新位置。,1.堆栈的定义,

19、堆栈中数据按“后进先出”的结构方式进行处理,即新入栈的依次堆放在原来数据之上,存放信息的最后一个单元叫做栈顶,用堆栈指针SP(Stack Pointer)指示。,2.构成堆栈的两种形式,一种是使用CPU内部的一组寄存器作为堆栈。优点:访问速度快。缺点:寄存器数量有限。,另一种形式是在随机存储器RAM中开辟一个区间供堆栈使用,较为普遍;,3.堆栈编址结构的两种形式,当前栈顶地址为M,存内容X,信息B进栈:SPSP1,SP指定的地址B,信息A进栈分两步操作:SPSP1,SP指定的地址单元A,堆栈操作示意图(向下生成),信息C进栈,信息C出栈分两步操作:指定的目的地C,SPSP+1,信息B出栈:指定

20、目的地B,SPSP+1,信息D进栈:SPSP1,SP指定的地址D,信息D出栈,信息A出栈,栈顶地址仍为M,1.时钟周期(T状态周期 Clock Cycle),2.3 8086总线周期与时序,是时钟频率(主频)的倒数,作为一种频率固定的周期性脉冲信号,它是计算机系统中的时间基准和时序分析的基本单位,也是CPU的一个重要性能指标。例:8086的主频为5MHz,时钟周期则为200ns,8086-1的主频为10MHz,时钟周期则为100ns。,2.3.1 时钟周期、总线周期和指令周期,2.机器周期(总线周期Bus Cycle),微机处理器BIU与外部电路之间进行一次数据传送操作所占用的时间,包含若干个

21、时钟周期。,3.指令周期(Instruction Cycle),执行一条指令所需要的时间,由一至若干个机器周期组成。,2.3.2 总线操作与时序,总线操作是CPU与外部进行信息交换的过程。8086CPU的总线操作主要包括:总线读/写、总线保持或总线请求/允许、中断响应、暂停、系统复位和启动等操作。操作时序则是指CPU在操作过程中各种有效信号在总线上出现的先后次序。,Intel 8086微处理器采用总线复用操作方式8086的16位数据总线和地址总线的低16位是共用的,典型的总线周期如下图:,基本的总线周期,等待周期TW:,如果在T3周期结束之前,存储器或外设未准备好数据传送,就要启动输入CPU的

22、READY线使之变低电平,从而在T3和T4之间插入一个或多个TW等待周期,直到READY变高,转入T4周期,完成读写操作。,空闲状态周期TI:,8086执行部件EU和总线接口部件BIU在一定程度上独立并行工作,只有当BIU为了填满指令队列或EU执行指令需要与外部交换数据时,申请一个总线周期,此时BIU才执行一个总线周期。因此在两个总线周期之间,可能会存在一些BIU空闲时钟周期。,2.3.4 8086读总线周期,读总线是指CPU从存储器或I/O端口读取数据的操作,8086最小模式下的总线读操作时序,如图2.13。读总线周期一般包括T1、T2、T3、T4四个T状态,当存储器或I/O端口的速度较慢,

23、跟不上CPU的速度时,就在T3和T4状态间插入若干个等待状态Tw。读总线周期中,CPU发出信号 指出本周期是读存储器(高电平)还是读I/O(低电平);DT/保持低电平,用于控制数据总线收发器的数据传输方向为CPU接受外部输入的数据。,举例,2、具有等待状态的读总线周期,2.3.5 8086写总线周期,写总线是指CPU经过总线将数据输出到存储器或I/O端口的操作;总线写操作时序与总线读操作时序基本相似,不同点有:(1)CPU输出的有效信号是,表示是写操作,信号在整个周期内无效;(2)DT/R在整个总线周期为高电平,用于控制数据总线收发器的传送方向为CPU向外部发送数据。(3)AD15AD0在T2

24、到T4状态期间输出数据,在T2状态无高阻态。,8086最大模式下的总线读/写操作原理与最小模式下的相同,操作时序与最小模式下基本相似,不同点在于:CPU不会产生、或 等控制信号,而是由总线控制器8288产生存储器或I/O端口需要的控制信号,如:(读存储器)、(读IO),(写存储器)、(写IO)或用于提前一个时钟周期产生的先行写信号(写存储器)、(写IO)等。,2.3.6 8086中断响应周期,中断响应需占用两个总线周期。第一个总线周期用来通知产生INTR信号的外设(中断源),CPU已接受其中断请求,第二个总线周期的目的是要从外设输入中断类型号,CPU依据此中断类型号查中断向量表,便可找到相应的

25、中断服务程序入口地址,从而自动的转去执行中断服务程序。,8086CPU中断响应时序图,2.3.7 最小模式下总线请求与响应,8086最小模式下的总线请求与响应操作时序如图2.17所示。首先DMA控制器向CPU发出总线请求信号HOLD;CPU收到有效的HOLD信号后,如果当时的情况允许,CPU将在当前总线周期完成时(T4或空闲状态Ti),发出HLDA信号,同时使地址/数据总线和控制总线均处于高阻态,以让出系统总线。,总线请求与响应操作时序图,8086CPU的RESET引脚是用于系统复位的,可完成系统复位和启动操作。复位时,CPU内部的寄存器状态为:标志寄存器FR、指令指针IP、段寄存器DS、SS、ES清零,指令队列清空,段寄存器CS置为FFFFH。实际上,除了CS外,所有内部寄存器都清零。启动后,从内存的FFFF0H开始执行程序,FFFF0H处一般存放一条无条件转移指令,转向系统程序的入口地址。,2.3.8 系统的复位操作,0010 0000 0000 0000,0001,4567H,AX=4567H,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号