微型计算机技术课件02.ppt_第1页
微型计算机技术课件02.ppt_第2页
微型计算机技术课件02.ppt_第3页
微型计算机技术课件02.ppt_第4页
微型计算机技术课件02.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章16位和32位微处理器,2.116位微处理器80862.232位微处理器Pentium的先进技术2.3Pentium的指令流水线技术2.4Pentium的工作方式2.5Pentium的原理结构2.6Pentium的寄存器和相关机制2.7Pentium的主要信号2.8Pentium的总线状态2.9Pentium的总线周期,教学重点,CPU的编程结构总线接口部件和执行部件的相互协调关系标志寄存器的含义CPU的操作时序CPU的中断分类和中断向量硬件中断和软件中断的区别,软件中断的特点,2.116位8086/8088微处理器,2.1.18086的编程结构2.1.28086的引脚信号和工作模式2.1.38086的操作和时序2.1.48086的存储器编址和I/O编址,微处理器的性能指标:字长主频,2.116位8086/8088微处理器,1、引言8086/8088微处理器是Intel公司推出的第三代CPU芯片,它们的内部结构基本相同,都采用16位结构进行操作及存储器寻址,但外部性能有所差异,两种处理器都封装在相同的40脚双列直插组件(DIP)中。,2、8086微处理器的一般性能特点16位的内部结构,16位双向数据信号线;20位地址信号线,可寻址1M字节存储单元;较强的指令系统;利用16位的地址总线来进行I/O端口寻址,可寻址64K个I/O端口;中断功能强,可处理内部软件中断和外部中断,中断源可达256个;单一的5V电源,单相时钟5MHz。,2.116位8086/8088微处理器,2.1.18086/8088CPU的编程结构,编程结构是指从程序员和使用者的角度看到的结构,亦可称为功能结构。,2.116位8086/8088微处理器,从功能上来看,8086/8088CPU可分为两部分,即总线接口部件BIU(BusInterfaceUnit)和执行部件EU(ExecutionUnit)。,如图所示,执行部件,总线接口部件,1.总线接口部件(BIU),功能:负责与存储器及I/O接口之间的数据传送操作。,如图所示,具体来看,完成取指令送指令队列;CPU执行指令时,总线接口部件配合执行部件的动作,从指定的内存单元或I/O端口取操作数,将数据传送给执行部件,或者将执行部件的操作结果送内存单元或者I/O端口。,组成:段寄存器(DS、CS、ES、SS);16位指令指针寄存器IP(指向下一条要取出的指令代码);20位地址加法器(用来产生20位地址);6字节(8088为4字节)指令队列缓冲器。,2.1.18086/8088CPU的编程结构,8086/8088的指令队列分别为6/4个字节,在执行指令的同时,可从内存中取出后续的指令代码,放在指令队列中,可以提高CPU的工作效率。地址加法器用来产生20位物理地址。8086/8088可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。例如:CS0FE00H,IP0400H,则表示要取指令代码的物理地址为0FE000H+0400H=FE400H。,总线接口部件(BIU),两点说明:,2.1.18086/8088CPU的编程结构,2.执行部件(EU),功能:负责指令的执行。,组成:4个通用寄存器,即AX、BX、CX、DX;4个专用寄存器,即BP、SP、SI、DI;标志寄存器;ALU(算术逻辑单元)。,如图所示,2.1.18086/8088CPU的编程结构,总线接口部件(BIU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BIU就会自动把指令取到指令队列中。每当EU准备执行一条指令时,它会从BIU部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者IO端口,那么EU就会请求BIU,进入总线周期,完成访问内存或者IO端口的操作;如果此时BIU正好处于空闲状态,会立即响应EU的总线请求。当指令队列已满,且EU又没有总线访问请求时,BIU便进入空闲状态。在执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,BIU会接着往指令队列装入转向的另一程序段中的指令代码。,3.BIU与EU的动作协调原则,如图所示,从上述BIU与EU的动作管理原则中,不难看出,它们两者的工作是不同步的,正是这种既相互独立又相互配合的关系,使得8086/8088可以在执行指令的同时,进行取指令代码的操作,也就是说BIU与EU是一种并行工作方式,改变了以往计算机取指令译码执行指令的串行工作方式,大大提高了工作效率,这正是8086/8088获得成功的原因之一。,2.1.18086/8088CPU的编程结构,4.8086/8088CPU内部寄存器,8086/8088内部的寄存器可以分为通用寄存器和专用寄存器两大类,专用寄存器包括指针寄存器、变址寄存器等,通用寄存器指针寄存器变址寄存器控制寄存器段寄存器标志寄存器,2.1.18086/8088CPU的编程结构,通用寄存器4个16位的通用寄存器还可以分成高8位和低8位两个独立的寄存器,这样又形成8个通用的8位寄存器AX:AHALBX:BHBLCX:CHCLDX:DHDL其中AX称为累加器,BX称为基址寄存器,CX称为计数寄存器,DX称为数据寄存器,这些寄存器在具体使用上有一定的差别,如表12所示。,8086/8088CPU内部寄存器,2.1.18086/8088CPU的编程结构,8086/8088CPU内部寄存器,指针寄存器两个16位的指针寄存器SP和BP,其中SP是堆栈指针寄存器,由它和堆栈段寄存器SS一起来确定堆栈在内存中的位置;BP是基数指针寄存器,通常用于存放基地址。,变址寄存器两个16位的变址寄存器SI和DI,其中SI是源变址寄存器,DI是目的变址寄存器,都用于指令的变址寻址方式。,段寄存器系统中共有4个16位段寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附加段寄存器ES。这些段寄存器的内容与有效的地址偏移量一起,可确定内存的物理地址。通常CS划定并控制程序区,DS和ES控制数据区,SS控制堆栈区。,2.1.18086/8088CPU的编程结构,控制寄存器IP、标志寄存器是系统中的两个16位控制寄存器,其中IP是指令指针寄存器,用来控制CPU的指令执行顺序,它和代码段寄存器CS一起可以确定当前所要取的指令的内存地址。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节;当IP单独改变时,会发生段内的程序转移;当CS和IP同时改变时,会产生段间的程序转移。标志寄存器的内容被称为处理器状态字PSW,用来存8086/8088CPU在工作过程中的状态。,8086/8088CPU内部寄存器,2.1.18086/8088CPU的编程结构,标志寄存器8086/8088内部标志寄存器的内容,又称为处理器状态字PSW。其中共有9个标志位,可分成两类:一类为状态标志,一类为控制标志。其中状态标志表示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态标志进行判断,实现转移;控制标志则可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。图22标志寄存器,8086/8088CPU内部寄存器,2.1.18086/8088CPU的编程结构,状态标志:6个SF符号标志位,当运算结果的最高位为1,该标志位置1,否则清0。即与运算结果的最高位相同。ZF零标志位,运算结果为0时,该标志位置1,否则清0。PF奇偶标志位,当运算结果的低8位中l的个数为偶数时,则该位置1,反之为0。CF进位标志位,做加法时最高位出现进位或做减法时最高位出现借位,该位置1,反之为0。AF半进位标志位,做字节加法时,当低四位有向高四位的进位,或在做减法时,低四位有向高四位的借位时,该标志位就置1。通常用于对BCD算术运算结果的调整。OF溢出标志位,当运算过程产生溢出时,会使OF为1。,标志寄存器,2.1.18086/8088CPU的编程结构,控制标志:3个DF方向标志位,若该位置1,则串操作指令的地址修改为自动减量方向,反之,为自动增量方向。IF中断允许标志位,若该位置1,则处理器可以响应可屏蔽中断,否则就不能响应可屏蔽中断。TF陷阱标志位(单步标志位、跟踪标志)。当该位置1时,将使8086/8088进入单步工作方式,通常用于程序的调试。,标志寄存器,2.1.18086/8088CPU的编程结构,2.1.18086/8088CPU的编程结构,5.8086/8088的总线周期的概念,一个最基本的总线周期有4个状态,即T1状态、T2状态、T3状态和T4状态。在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。总线的最高4位(A19A16)用来输出本总线周期状态信息。在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。在T3,T4期间,数据在CPU和存储器或I/O端口之间传输。若这两个时钟周期为外部逻辑提供的时间不足以响应访问要求,即数据未准备好,则在T3和T4之间可插入1n个等待周期Tw来延长总线周期。在T4状态,总线周期结束。,习题与思考:18086/8088CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?28086/8088CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?3总线接口部件有哪些功能?请逐一说明。4总线接口部件由哪几部分组成?58086的执行部件有什么功能?由哪几部分组成?,2.1.18086/8088CPU的编程结构,2.116位8086/8088微处理器,2.1.28086/8088的引脚信号和工作模式,教学重点,8086/8088的两种工作模式;8086/8088CPU的外部结构,即引脚信号及其功能。,2.1.28086/8088的引脚信号和工作模式,1最小模式和最大模式的概念,所谓最小模式,就是系统中只有一个8088/8086微处理器,在这种情况下,所有的总线控制信号,都是直接由8088/8086CPU产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用系统中,在最大模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086/8086CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。,与8088/8086CPU配合工作的协处理器有两类,一类是数值协处理器8087,另一类是输入/输出协处理器8089。,8087是一种专用于数值运算的协处理器,它能实现多种类型的数值运算,如高精度的整型和浮点型数值运算,超越函数(三角函数、对数函数)的计算等,这些运算若用软件的方法来实现,将耗费大量的机器时间。换句话说,引入了8087协处理器,就是把软件功能硬件化,可以大大提高主处理器的运行速度。,8089协处理器,在原理上有点象带有两个DMA通道的处理器,它有一套专门用于输入/输出操作的指令系统,但是8089又和DMA控制器不同,它可以直接为输入/输出设备服务,使主处理器不再承担这类工作。所以,在系统中增加8089协处理器之后,会明显提高主处理器的效率,尤其是在输入/输出操作比较频繁的系统中。,两种工作模式构成两种不同规模的应用系统最小模式构成小规模的应用系统8086本身提供所有的系统总线信号最大模式构成较大规模的应用系统,例如可以接入数值协处理器80878086和总线控制器8288共同形成系统总线信号,2.1.28086/8088的引脚信号和工作模式,1最小模式和最大模式的概念,两种工作模式利用MN/MX*引脚区别MN/MX*接高电平为最小模式MN/MX*接低电平为最大模式两种工作模式下的内部操作并没有区别IBMPC/XT采用最大模式本书以最小模式展开基本原理,2.1.28086/8088的引脚信号和工作模式,1最小模式和最大模式的概念,2.1.28086/8088的引脚信号和工作模式,28086/8088的引脚信号和功能,(1)引言如图所示,是8086CPU的外部结构,即引脚信号图,注意:在不同的工作模式下,其中一部分引脚的名称和功能可能不一致。,如图所示,图2-48086/8088CPU引脚功能,2.1.28086/8088的引脚信号和工作模式,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:,引脚的功能,信号的流向,有效电平,三态能力,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态,2.1.28086/8088的引脚信号和工作模式,28086/8088的引脚信号和功能,分类学习这40个引脚(总线)信号数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚,2.1.28086/8088的引脚信号和工作模式,(2)两种模式下,名称和功能相同的32个引脚,VCC电源,输入,第40脚8088/8086CPU采用单一的+5V电压GND接地引脚,第1、20脚向CPU提供参考地电平,有两个接地引脚。,(2)两种模式下,名称和功能相同的32个引脚,AD15AD0(AddressDataBus)地址/数据复用信号输入/输出引脚,双向工作第216脚分别为AD14AD0,第39脚为AD15。分时输出,总线周期的T1状态输出低16位地址信号,其他状态进行数据信号的输入/输出。,在8088中,高8位地址线实际上不作复用,只输出地址,称为A15A8。,(2)两种模式下,名称和功能相同的32个引脚,A19/s6A15/s3(Address/StatusBus)地址/状态复用信号输出引脚,输出这些引脚在总线周期的T1状态输出地址的最高4位,在总线周期的T2、T3、Tw和T4状态时,用来输出状态信息。其中s6为0用以指示8086/8088CPU当前与总线连通;s5为1表明8086/8088CPU可以响应可屏蔽中断;s4、s3共有四个组态,用以指明当前正在使用哪个段寄存器,如表2.1所示,00ES,01SS,10CS,11DS。,(2)两种模式下,名称和功能相同的32个引脚,/S7(BusHighEnable/Status)高8位数据允许/状态复用信号输出引脚,输出。分时输出有效信号,在T1状态,表示高8位数据线D15D8上的数据有效;在T2、T3、T4及Tw状态,输出S7状态信号,但S7未定义任何实际意义。利用信号和AD0信号,可知系统当前的操作类型,具体规定见表2.2所示。,在8088系统中,该引脚为,用来与、一起决定8088芯片当前总线周期的读写操作,,(2)两种模式下,名称和功能相同的32个引脚,NMI(Non-MaskableInterrupt)非屏蔽中断输入引脚,INTR(InterruptRequest)可屏蔽中断请求信号,输入,第18引脚,非屏蔽中断信号是一个由低到高的上升沿。这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,执行对应于中断类型号为2的非屏蔽中断处理程序。,可屏蔽中断请求信号为高电平有效。CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,若CPU的中断允许标志IF为1,并且又接受到INTR信号,CPU就结束当前指令,响应中断请求,执行一个中断处理子程序。,(Read),(2)两种模式下,名称和功能相同的32个引脚,用以指明要执行一个对内存单元或I/O端口的读操作,具体是读内存单元,还是读I/O端口,取决于控制信号。,RD,读输出信号,第32脚,输出,CLK(Clock),时钟信号输入,第19脚,输入,时钟信号的方波信号。时钟信号为CPU和总线控制逻辑电路提供定时手段。,(2)两种模式下,名称和功能相同的32个引脚,Reset(Reset),复位信号输入,第21脚,输入,高电平有效,8088/8086CPU要求复位信号至少维持4个时钟周期才能起到复位的效果,复位信号输入之后,CPU结束当前操作,并对处理器的标志寄存器、IP、DS、SS、ES寄存器及指令队列进行清零操作,而将CS设置为0FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序。,READY(Ready),“准备好”信号输入,第22脚,输入,高电平有效,“Ready”输入引脚,接收来自于内存单元或I/O端口向CPU发来的“准备好”状态信号,表明内存单元或I/O端口已经准备好进行读写操作。该信号是协调CPU与内存单元或I/O端口之间进行信息传送的联络信号。,CPU在每个总线周期的T3状态开始对READY信号进行采样。若检测到READY为低电平,则在T3状态之后插入等待状态Tw。在Tw状态,CPU也对READY进行采样,如READY仍为低电平,则会继续插入Tw,直到READY变为高电平后,才进入T4状态,完成数据传送过程。,TEST,(2)两种模式下,名称和功能相同的32个引脚,测试信号输入,第23脚,低电平有效,TEST信号与WAIT指令结合起来使用,CPU执行WAIT指令后,处于等待状态,当TEST引脚输入低电平时,系统脱离等待状态,继续执行被暂停执行的指令。,最小/最大模式设置信号输入,第33脚,该输入引脚电平的高、低决定了CPU工作在最小模式还是最大模式,当该引脚接+5V时,CPU工作于最小模式下,当该引脚接地时,CPU工作于最大模式下。,(3)最小模式下的2431引脚,当8088/8086CPU的引脚固定接+5V时,CPU处于最小模式下,这时候剩余的2431共8个引脚的名称及功能如下:,中断响应信号输出,第24脚,低电平有效,该引脚是CPU响应中断请求后,向中断源发出的认可信号,用以通知中断源,以便提供中断类型码,该信号为两个连续的负脉冲。第一个负脉冲通知外设的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,CPU便可得到有关中断请求的详尽信息。,ALE(AddressLockEnable),(3)最小模式下的2431引脚,地址锁存允许信号,输出,第25脚,高电平有效,CPU通过该引脚向地址锁存器8282/8283发出地址锁存允许信号,把当前地址/数据复用总线上输出的是地址信息,锁存到地址锁存器8282/8283中去。注意:ALE信号不能被浮空。,(DataEnable),DEN,数据允许信号,输出,第26脚,低电平有效,为总线收发器8286/8287提供一个控制信号,表示CPU当前准备发送或接收一项数据。,(3)最小模式下的2431引脚,(DataTransmit/Receive),数据收发控制信号,输出,第27脚,CPU通过该引脚发出控制数据传送方向的控制信号,在使用8286/8287作为数据总线收发器时,信号用以控制数据传送的方向,当该信号为高电平时,表示数据由CPU经总线收发器8286/8287输出,否则,数据传送方向相反。,(Memory/Input有一片8284A,作为时钟信号发生器;有一片8282或74LS273,用来作为地址信号的锁存器;当系统中所连的存储器和外设端口较多时,需要增加数据总线的驱动能力,这时,需用2片8286/8287作为总线收发器。,图2.58284A和8086/8088的连接,(4)最大模式下的2431引脚,当8088/8086CPU的引脚固定接地时,CPU处于最大模式下,这时候剩余的2431共8个引脚的名称及功能如下:,MX,MN,/,QS1、QS0(InstructionQueueStatus),指令队列状态信号,输出,第24和25脚,这两个信号的组合给出了前一个T状态中指令队列的状态,以便于外部8088/8086CPU内部指令队列的动作跟踪,如下表所示:,(4)最大模式下的2431引脚,S2、S1、S0(buscyclestatus),总线周期状态信号输出,第28、27、26脚,低电平的信号,这些信号组合起来,可以指出当前总线周期中,所进行数据传输过程的类型,总线控制器8288利用这些信号来产生对存储单元、I/O端口的控制信号。,(4)最大模式下的2431引脚,(Lock),LOCK,总线封锁输出信号,第29脚,低电平有效,当该引脚输出低电平时,系统中其它总线部件就不能占用系统总线。,LOCK信号是由指令前缀LOCK产生的,在LOCK前缀后面的一条指令执行完毕之后,便撤消LOCK信号。此外,在8088/8086的2个中断响应脉冲之间,LOCK信号也自动变为有效的低电平,以防止其它总线部件在中断响应过程中,占有总线而使一个完整的中断响应过程被中断。,RQ,GT,GT,、(Request/Grant),0,/,RQ,1,/,(4)最大模式下的2431引脚,总线请求信号输入/总线允许信号输出,第30、31脚,这两个信号端可供CPU以外的两个处理器,用来发出使用总线的请求信号和接收CPU对总线请求信号的应答。这两个引脚都是双向的,请求与应答信号在同一引脚上分时传输,方向相反。其中RQ/GT0比RQ/GT1的优先级高。,图2.88086在最大模式下的典型配置,最大模式和最小模式在配置上的主要差别在于在最大模式下,要用8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。在最大模式的系统中,一般还有中断优先级管理部件。,(6)8086/8088CPU的引脚分类,8086/8088CPU的40个引脚可以分成下列几大类:(1)数据/地址复用线、地址线、地址/状态复用线AD0AD7、AD8AD15、A16A19/S3S6;(2)常规信号GND(2个)、CLK;(3)常用信号ALE、;(4)中断INTR、NMI、;(5)、READY、RESET;(6)HOLD、HLDA;(7)(8086)(8088)、。,习题与思考:18086/8088系统中为什么一定要有地址锁存器?需要锁存哪些信息?2若8086CPU工作于最小模式,试指出当CPU完成将AH的内容送到物理地址为91001H的存储单元操作时,以下哪些信号应为低电平:M/IO、RD、WR、BHE/S7、DT/R。若CPU完成的是将物理地址91000H单元的内容送到AL中,则上述哪些信号应为低电平。3什么是引脚的分时复用?请说出8086/8088CPU有哪些引脚是分时复用引脚?其要解决的问题是什么?4试说明8086/8088工作在最大和最小模式下系统基本配置的差异。,2.1.28086/8088的引脚信号和工作模式,2.1.38086的操作和时序,教学重点,两种工作模式下的典型时间序列分析。,2.116位8086/8088微处理器,2.1.38086的操作和时序,8086微机系统的主要操作系统的复位与启动操作;暂停操作;总线操作;(I/O读、I/O写、存贮器读、存贮器写)中断操作;最小模式下的总线保持;最大模式下的总线请求/允许。,时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系.CPU时序决定系统各部件间的同步和定时CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。总线时序描述CPU引脚如何实现总线操作.,2.1.38086的操作和时序,1.系统的复位和启动操作,28086的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti,2.1.38086的操作和时序,(1)最小模式下的总线读操作时序时序如图211所示,一个最基本的读周期包含有4个状态,即T1、T2、T3、T4,在存储器和外设速度较慢时,要在T3之后可插入1个或几个等待状态Tw。,(1)最小方式下的总线读操作,首先M/IO有效,用来指出本次读周期是存贮器读还是I/O读,它一直保持到整个总线周期的结束即T4状态。地址线信号有效,高4位通过地址/状态线A19/S6A16/S3送出,低16位通过地址/数据线AD15AD0送出,用来指出操作对象的地址,即存贮器单元地址或I/O端口地址。ALE有效,在最小模式的系统配置中我们讲过,地址信号通过地址锁存器8282锁存,ALE即为8282的锁存信号,下降沿有效。BHE(对8088无用)有效,用来表示高8位数据总线上的信息有效,现在通过传送的是有效地址信息,BHE常作为奇地址存贮体的选通信号,因为奇地址存贮体中的信息总是通过高8位数据线来传输,而偶地址体的选通则用A0。当系统中配有总线驱动器时,T1使DT/R变低,表示本周期为读周期,并通知总线驱动器接收数据,T1状态,(1)最小模式下的总线读操作时序,图示,(1)最小模式下的总线读操作时序,T2状态,高四位地址/状态线送出状态信息,S6S6。低16位地址/数据线浮空,为下面传送数据准备。BHE/S7引脚成为S7(无定义)。RD有效,表示要对存贮器/I/O端口进行读。DEN有效,使得总线收发器(驱动器)可以传输数据,图示,(1)最小模式下的总线读操作时序,T3状态,在基本总线周期的T3状态,内存单元或者I/O端口将数据送到数据总线上,CPU通过AD15AD0接收数据。,图示,(1)最小模式下的总线读操作时序,Tw状态,若存贮器或外设速度较慢,不能及时送上数据的话,则通过READY线通知CPU,CPU在T3的前沿(即T2结束末的下降沿)检测READY,若发现READY0,则在T3结束后自动插入1个或几个Tw,并在每个Tw的前沿处检测READY,等到READY变高后,则自动脱离Tw进入T4。,图示,(1)最小模式下的总线读操作时序,T4状态,在T4与T3(或Tw)的交界处(下降沿),CPU对数据总线进行采样,从而获得数据,并使各控制及状态线进入无效,图示,(2)最小方式下的总线写操作,T1状态,(2)最小模式下的总线写操作时序,基本上同读周期,只有此时DT/R为高不是低。,T2状态,与读周期有两点不同:(1)RD变成WR;(2)A15A0不是浮空,而是发出要写入存储器或IO端口的数据,图示,T3状态,(2)最小模式下的总线写操作时序,在T3状态,CPU继续提供状态信息和数据,并且继续维持WR、M/IO及DEN信号为有效电平。,Tw状态,若CPU在T3状态的一开始未收到“准备好”信号,那么,会在状态T3和T4之间插入1到n个Tw,直到在某个Tw的前沿处,CPU采样到“准备好”信号后为止。,图示,(2)最小模式下的总线写操作时序,T4状态,在T4状态,CPU认为存储器或I/O端口已经完成数据写入,因而,数据从数据总线上被撤除,各控制信号线和状态信号线也进入无效状态。此时,DEN信号进入高电平,从而使总线收发器不工作。,图示,(3)总线空操作,前面我们曾讲过,只有在CPU与存贮器或I/O端口之间传送数据时,CPU才执行相应的总线操作,而当它们之间不传送数据时,则进入总线空闲周期Ti,而总线空闲周期即对应总线空操作。在总线空闲周期内,CPU的各种信号线上的状态维持不变。,习题与思考:8086/8088CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入Tw周期?应插入多少个Tw取决于什么因素?试简述8086/8088系统最小模式时从储存器读数据时的时序过程。,3、中断操作和中断系统,2.1.38086的操作和时序,中断源:引起中断的原因或发出中断请求的设备称为中断源。8086/8088为每个中断源分配了一个中断类型码,其取值范围为0255,即可处理256种中断。从产生中断的方法来分,这256种中断可以分为两大类:一类叫硬件中断;一类叫软件中断。,1.中断的分类,三、中断操作和中断系统,即通过外部的硬件产生的中断,如打印机、键盘等,有时也称为外部中断。硬件中断又可分为两类:可屏蔽中断和不可屏蔽中断。不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响,每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。这种中断一旦发生,系统会立即响应;可屏蔽中断:由INTR引脚引入,它受中断允许标志的影响,也就是说,只有当IF1时,可屏蔽中断才能进入,反之则不允许进入,可屏蔽中断可有多个,一般是通过优先级排队,从多个中断源中选出一个进行处理。,(1)硬件中断,即CPU根据软件中的某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0引起的中断,或用INTn指令产生的中断。,(2)软件中断(内部中断),三、中断操作和中断系统,三、中断操作和中断系统,溢出中断由INTO指令引起断点中断由INT3指令引起单步由标志TF引起不对应指令除0由计算结果引起不对应指令,如何根据不同的中断源进入相应的中断服务子程序,目前用的最多的就是向量式中断。,2、中断向量和中断向量表,三、中断操作和中断系统,中断向量:把各个中断服务子程序的入口都称为一个中断向量;每个中断类型对应一个中断向量。,中断向量表:将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。,2、中断向量和中断向量表,8086的中断向量表是位于0段的03FFFH的存贮区内。每个中断向量占四个单元,其中前两个单元存放中断向量的偏移量(IP),低位在前,高位在后;后两个单元存放中断中断向量的段地址(CS),也是低位在前,高位在后。整个中断向量的排列是按中断类型号进行的。,2、中断向量和中断向量表,2、中断向量和中断向量表,中断类型号4即可计算某个中断类型的中断向量在整个中断向量表中的位置。如类型号为20H,则中断向量的存放位置为20H480H,(设中断服务子程序的入口地址为4030:2010,则在0000:0080H0000:0083H中就应顺序放入10H、20H、30H、40H。当系统响应20H号中断时,会自动查找中断向量,找出对应的中断向量装入CS、IP,即转入该中断服务子程序。,3、中断响应过程与时序,(1)硬件中断的响应过程,硬件中断指的是由NMI引脚进入的非屏蔽中断或由INTR引脚进入的可屏蔽中断。,从NMI引脚进入的中断为非屏蔽中断,它不受中断允许标志IF的影响。其类型号为2,入口地址放在0段的0008H、0009H、000AH和000BH这4个单元中。,在实际系统中,非屏蔽中断一般用来处理系统的重大故障,如系统掉电处理。,(1)硬件中断的响应过程,可屏蔽中断的响应过程:读取中断类型码将标志寄存器的值推入堆栈把标志寄存器的IF和TF清零将断点保护到堆栈中。寻找中断向量,转入中断处理程序,图2-17中断响应流程图,流程图的几点说明,8086/8088除软件中断外,内部“非屏蔽中断”、“可屏蔽中断”均设立有优先级,其中内中(除单步外)即0、1、3、4号中断的优先级高于非屏蔽中断,非屏蔽中断高于可屏蔽中断,单步中断优先级最低;只有在可屏蔽中断的情况下才判断IF1?,才取中断类型码,其余的没有这个动作。关于单步中断,它是每执行一条指令中断一次,显示出当时各寄存器的内容,供用户参考,当进入单步中断响应时,CPU自动清除了TF,在中断返回后,由于恢复了响应时的标志寄存器的值,因此TF1,执行完一条指令后又进入单步中断,直到程序将TF改为0为止。,关于中断的嵌套,NMI总是可以响应的,若在中断处理子程序中设立了开中断指令,INTR的请求也能响应。弹出IP、CS、标志,返回断点的动作由IRET指令完成。有些情况下,即使条件满足,CPU也不能马上响应中断,必须执行完下一条指令(而不是当前指令)才行。正好执行LOCK指令;执行往SS寄存器赋值的传送指令,因为一般要求连续用两条指令对SS和SP寄存器赋值,以保证堆栈指针的正确性。当遇到等待指令或串操作指令时,允许在指令执行的过程中进入中断。这时需注意在中断处理子程序中保护现场,以保证中断返回后能继续正确地执行这些指令。,流程图的几点说明,(2)硬件中断的时序,T1T2T3T4TiTiT1T2T3T4,ALE,INTA,AD7AD0,中断类型,23个空闲状态,要求INTR信号是一个高电平信号,并且维持2个T,因为CPU是在一条指令的最后一个T采样INTR,进入中断响应后,它在第一个总线周期的T1仍需采样INTR。当8086工作在最小模式时,从INTA发出中断响应信号,而在最大模式时,则是通过S2、S1、S0的组合完成。第一个总线周期用来通知外设,CPU准备响应中断,第二个总线周期,接收外设发回的中断类型码,该类型码必须通过16位数据总线的低8位传送。在中断响应总线周期,M/IO为低,数据/地址线浮空,BHE/S7和地址/状态线均浮空,中间的三个空闲周期也可为两个或没有(8088)。,(2)硬件中断的时序(续),(2)硬件中断的时序(续),CPU执行总线时序如下:,第1步,执行2个中断响应总线周期,之间用2至3个空闲状态隔开。,第2步,执行1个总线写周期,在这个周期中,把标志寄存器的值推入堆栈。,第3步,将标志寄存器的中断允许标志IF和单步标志TF置成0,这样禁止了中断响应过程中有其他可屏蔽中断进入,还禁止了中断处理过程中出现单步中断。,第4步,执行1个总线写周期,在这个周期中,将CS的内容推入堆栈。,第5步,执行1个总线写周期,在这个周期中,将IP的内容推入堆栈。,第6步,执行1个总线读周期,在这个周期中,从中断向量所在的前两个字节中读得入口地址的偏移量送到IP寄存器中。,第7步,执行1个总线读周期,在这个周期中,从中断向量所在的后两个字节中读得入口地址的段值送到CS寄存器中。,如果是非屏蔽中断或者软件中断,则跳过第1步,而从第2步开始按次序执行到第7步。,(5)中断处理子程序,进一步保护中断现场(PUSH)开放中断(STI)中断处理的具体内容关中断(CLI)弹出堆栈指令,恢复中断现场(POP)中断返回指令(IRET),(3)软件中断,即通过中断指令来使CPU执行中断处理子程序的方法,特点如下:中断类型码由指令提供,不需执行中断响应总线周期,也不受IF标志的影响。正在执行软件中断时,若来NMI,则立即响应,若来可屏蔽中断,只要条件允许(如IF1,当前指令执行完)也可响应。软件中断,由于其处理程序是定位装配的(中断向量表),又可方便地用INTn指令调用,因此在使用中和一般的子程序没有两样,并且原则上是0255种类型均可使用。,4.最小模式下的总线保持,T4,T4或TI,CLK,A19/S6A16/S3,AD15AD0,DEN,DT/RM/IO,HOLD,HLDA,RD、WR、INTA,4.最小模式下的总线保持,在每个时钟脉冲的上升沿处,CPU会对HOLD引脚上的信号进行检测。若检测到HOLD处于高电平,并允许让出总线,那么在总线周期的T4状态或TI之后的下一个时钟周期,CPU会发出HLDA信号,从而CPU便将总线让给发出总线保持请求的设备,直到此后这个发出总线保持请求的设备又将HOLD信号变为低电平,CPU才又收回总线控制权。,2.1.38086的存储器编址和I/O编址,1、8086的存储器编址,(1)存储容量8088/8086有20根地址总线,因此,它可以直接寻址的存储器单元数为220=1Mbyte(2)物理地址8088/8086可直接寻址1Mbyte的存储空间,其地址区域为0000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论