第2章 16位和32位微处理(微型计算机技术课件)_第1页
第2章 16位和32位微处理(微型计算机技术课件)_第2页
第2章 16位和32位微处理(微型计算机技术课件)_第3页
第2章 16位和32位微处理(微型计算机技术课件)_第4页
第2章 16位和32位微处理(微型计算机技术课件)_第5页
已阅读5页,还剩121页未读 继续免费阅读

下载本文档

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

文档简介

第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的外部结构,即引脚信号图,注意:在不同的工作模式下,其中一部分引脚的名称和功能可能不一致。8088/8086CPU芯片都是双列直插式集成电路芯片,都有40个引脚,其中32个引脚在两种工作模式下的名称和功能是相同的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。,如图所示,图2-48086/8088CPU引脚功能,2.1.28086/8088的引脚信号和工作模式,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:,引脚的功能,信号的流向,有效电平,三态能力,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态,2.1.28086/8088的引脚信号和工作模式,28086/8088的引脚信号和功能,2.1.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)地址/状态复用信号输出引脚,输出第3538脚分别为A19/s6A15/s3,这些引脚在总线周期的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芯片当前总线周期的读写操作,,16位微机系统的内存组织,(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脚,输入,时钟信号的方波信号,占空比约为33%,即1/3周期为高电平,2/3周期为底电平,8088/8088的时钟频率(又称为主频)为4.77MHz,即从该引脚输入的时钟信号的频率为4.77MHz。时钟信号为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.58282锁存器和8086的连接,图2.68286收发器和8088的连接,图2.78284A和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端口的控制信号。S2、S1、S0与具体物理过程之间的对应关系,如表2-5所示。,(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在最大模式下的典型配置,如图2-8所示,是8088/8086在最大模式下的典型配置。最大模式和最小模式在配置上的主要差别在于在最大模式下,要用8288总线控制器来对CPU发出的控制信号进行变换和组合,以得到对存储器或I/O端口的读/写信号和对锁存器8282及总线收发器8286的控制信号。最大模式系统中,需要用总线控制器来变换与组合控制信号的原因在于:在最大模式的系统中,一般包含2个或多个处理器,这样就要解决主处理器和协处理器之间的协调工作,和对系统总线的共享控制问题,8288总线控制器就起了这个作用。在最大模式的系统中,一般还有中断优先级管理部件。8259A用以对多个中断源进行中断优先级的管理,但如果中断源不多,也可以不用中断优先级管理部件。,(5)相关问题的说明,8088/8086的数据线与地址线、状态线是分时复用的,即在某一时刻,总线上出现的是输出地址信息,在另一时刻,总线上是所需读、写的数据信息,或状态信息。除了个别引脚外,8088/8086的控制信号引脚的定义是一致的,有差别的是,8088的第18脚为IO/M,8086为IO/M,主要是为了使前者能与8位微处理器8080/8085相兼容的缘故。8088的第34引脚为SS0,8086为BHE/S7,这是因为8086有16根数据线,可以用高、低8位总线分别进行一个字节的传送,也可以同时进行两个字节的传送,BHE正是为了指明这几类操作而设置的,而8088的数据线只有8根,就不存在这一要求,因此就不需要BHE引脚了。Reset引脚是复位信号输入端,系统启动或在系统运行过程中,CPU在接收到Reset信号后,会使系统复位。复位后,CPU处于如下状态:CPU的标志寄存器、指令指针寄存器IP、段寄存器DS、ES、SS和指令队列均被清零,码段寄存器CS被置为FFFFH,CPU将从0FFFF0H处开始执行指令。CPU与内存、I/O端口之间在时间上的匹配主要靠“READY”信号。信号与(或)配合使用,指明从内存或者I/O端口读信息。高4位地址线与状态线分时复用,在T1状态,输出地址信息,在其余状态,输出状态信息。,(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的操作和时序,一、相关的基本概念1.什么是时序?,时序是计算机操作运行的时间顺序。,时序(Timing)是指信号高低电平(有效或无效)变化及相互间的时间顺序关系CPU时序决定系统各部件间的同步和定时总线时序描述CPU引脚如何实现总线操作,2.1.38086的操作和时序,什么是总线操作?,2.1.38086的操作和时序,2.为什么要研究时序,可以进一步了解在微机系统的工作过程中,CPU各引脚上信号之间的相对时间关系。由于微处理器内部电路、部件的工作情况,用户是看不到的,通过检测CPU引脚信号线上,各信号之间的相对时间关系,是判断系统工作是否正常的一种重要途径;,(2)可以深入了解指令的执行过程;,(3)可以使我们在程序设计时,选择合适的指令或指令序列,以尽量缩短程序代码的长度及程序的运行时间。因为对于实现相同的功能,可以采用不同的指令或指令序列,而这些指令或指令序列的字节数及执行时间有可能不相同的。,(4)对于学习各功能部件与系统总线的连接及硬件系统的调试,都十分有意义,因为CPU与存储器、I/O端口协调工作时,存在一个时序上的配合问题。,(5)才能更好地处理微机用于过程控制及解决实时控制的题,,3.指令周期、总线周期及时钟周期,2.1.38086的操作和时序,微机系统的工作,必须严格按照一定的时间关系来进行,CPU定时所用的周期有三种,即指令周期、总线周期和时钟周期。,(1)指令周期一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间,称为相应指令的指令周期。由于指令的类型、功能不同,因此,不同指令所要完成的操作也不同,相应地,其所需的时间也不相同。也就是说,指令周期的长度因指令的不同而不同。,(2)总线周期我们把CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。虽然,每条指令的功能不同,所需要进行的操作也不同,指令周期的长度也必不相同。但是,我们可以对不同指令所需进行的操作进行分解,它们又都是由一些基本的操作组合而成的。如存储器的读/写操作、I/O端口的读/写操作、中断响应等,这些基本的操作都要通过系统总线实现对内存或I/O端口的访问的。不同的指令所要完成的操作,是由一系列的总线操作组合而成的,而总线操作的数量及排列顺序因指令的不同而不同。8086的总线操作,就是8086CPU利用总线(AB、DB、CB)与内存及I/O端口进行信息交换的过程,与这些过程相对应的总线上的信号变化的相对时间关系,就是相应总线操作的时序。,2.1.38086的操作和时序,总线操作是指CPU通过总线对外的各种操作8086的总线操作主要有:存储器读、I/O读操作存储器写、I/O写操作中断响应操作总线请求及响应操作CPU正在进行内部操作、并不进行实际对外操作的空闲状态Ti描述总线操作的微处理器时序有三级指令周期总线周期时钟周期,什么是指令、总线和时钟周期?,2.1.38086的操作和时序,(3)时钟周期时钟周期是微机系统工作的最小时间单元,它取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。时钟周期又称为T状态。时钟周期是基本定时脉冲的两个沿之间的时间间隔,而基本定时脉冲是由外部振荡器产生的,通过CPU的CLK输入端输入,基本定时脉冲的频率,我们称之为系统的主频率。例如8088CPU的主频率是5MHz,其时钟周期为200ns。一个基本的总线周期由4个T状态组成,我们分别称为T1T44个状态,在每个T状态下,CPU完成不同的动作。,2.1.38086的操作和时序,4.8086/8088微机系统的主要操作8086/8088微机系统,能够完成的操作有下列几种主要类型系统的复位与启动操作;暂停操作;总线操作;(I/O读、I/O写、存贮器读、存贮器写)中断操作;最小模式下的总线保持;最大模式下的总线请求/允许。,二、典型的8086时序分析,2.1.38086的操作和时序,1引言指令所执行的操作,可以分为内部操作和外部操作。不同的指令其内、外部操作是不相同的,但这些操作可以分解为一个个总线操作。即总线操作的不同组合,就构成了不同指令的不同操作,而总线操作的类型是有限的,我们如果能够明确不同种类总线操作的时序关系,且可以根据不同指令的功能,把它们分解为不同总线操作的组合,那么,任何指令的时序关系,我们就都可以知道了。,2.1.38086的操作和时序,2最小模式下的典型时序CPU为了与存贮器或I/O端口进行一个字节的数据交换,需要执行一次总线操作,按数据传输的方向来分,可将总线操作分为读操作和写操作两种类型;按照读/写的不同对象,总线操作又可分为存贮器读/写与I/O读/写操作,下面我们就最小模式下的总线读/写操作时序,来进行具体分析。,2.1.38086的操作和时序,(1)最小模式下的总线读操作时序时序如图211所示,一个最基本的读周期包含有4个状态,即T1、T2、T3、T4,在存储器和外设速度较慢时,要在T3之后可插入1个或几个等待状态Tw。,图2.118086读周期时序,BHE输出,高为读内存低为读I/O,A15A0,S6S3,T4,T3,T2,T1,ALE,CLK,A19/S6A16/S3,BHE/S7,AD15AD0,数据输入,A19A16,M/IO,RD,Tw(1n),DT/R,DEN,首先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变低,表示本周期为读周期,并通知总线驱动器接收数据(DT/R接收T)。,T1状态,(1)最小模式下的总线读操作时序,图示,(1)最小模式下的总线读操作时序,T2状态,高四位地址/状态线送出状态信息,S6S6。低16位地址/数据线浮空,为下面传送数据准备。BHE/S7引脚成为S7(无定义)。RD有效,表示要对存贮器/I/O端口进行读。DEN有效,使得总线收发器(驱动器)可以传输数据(DEN接收OE)。,图示,(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.128086写周期的时序,BHE输出,高为读内存低为读I/O,A15A0,S6S3,T4,T3,T2,T1,ALE,CLK,A19/S6A16/S3,BHE/S7,AD15AD0,数据输入,A19A16,M/IO,WR,Tw(1n),DT/R,DEN,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最大模式下的典型时序,(1)最大模式下的总线读周期,(1)最大模式下的总线读周期,基本同最小模式,不同的是ALE、DT/R是由总线控制器发出的。,T1状态,在T1状态,CPU将地址的低16位通过AD15AD0发出,地址的高4位通过A19/S6A16/S3发出,总线控制器从ALE引脚上输出一个正向的地址锁存脉冲,系统中的地址锁存器利用这一脉冲将地址锁存起来,此外,总线控制器还为总线收发器提供数据传输方向控制信号DT/R。,图示,(1)最大模式下的总线读周期,T2状态,不同的是此时RD变成MRDC或IORC,送到存贮器或I/O端口。,在T2状态,CPU输出状态信号S7S3;总线控制器在T2状态的时钟上升沿处,使DEN信号有效,于是,总线收发器启动;总线控制器还根据S2、S1、S0的电平组合发出读信号MRDC或IORC,送到存储器或者输入输出设备端口,去执行存储器读操作或者输入输出端口读操作。,图示,(1)最大模式下的总线读周期,T3状态,数据已读出送上数据总线,这时S2、S1、S0111进入无源状态。若数据没能及时读出,则同最小模式一样自动插入Tw。,图示,(1)最大模式下的总线读周期,T4状态,数据从总线上消失,状态信号引脚S7S3进入高阻状态,而S2、S1、S0根据下一个总线周期的类型进行电平变化。,图示,(2)最大模式下的总线写周期,3最大模式下的典型时序,时序图如图214所示,与上述最大模式下的总线读周期相比,就是MRDC和IORC成为MWTC和IOWC;另外还有一组AMWC或AIOWC(比MWTC和IOWC提前一个T有效),这时MWTC(AMWC)或IOWC(AIOWC)取代最小模式下的WR。,(2)最大模式下的总线写周期,图2.13最大模式下的写操作时序,BHE输出,S2=1,S1=1,S0=0,A15A0,S6S3,T4,T3,T2,T1,ALE,CLK,A19/S6A16/S3,BHE/S7,AD15AD0,输出数据,A19A16,S2S0,AMWC,Tw(1n),DEN,S2=1,S1=1,S0=1,S7,D15D0,或AIOWC(S2=0,S1=1,S0=0),MWTC,或IOWC(S2=0,S1=1,S0=0),(2)最大模式下的总线写周期,T1状态,同读周期。,在T1状态,CPU从AD15AD0引脚上输出要写入的存储器单元或IO设备端口地址的低16位,而从A19/S6A16/S3引脚输出地址的高4位。CPU还使BHE进入低电平。总线控制器使DT/R输出高电平,以表示发送数据。,(2)最大模式下的总线写周期,T2状态,(2)最大模式下的总线写周期,T3状态,由此可见,两个提前的写信号AMWC和AIOWC比普通的写信号MWTC和IOWC超前了整整一个时钟周期,这样,一些较慢的设备或者存储器芯片就可以得到一个额外的时钟周期执行写操作。,(2)最大模式下的总线写周期,T4状态,AMWC等被撤消,S2、S1、S0根据下一总线周期的性质变化,DEN失效,从而停止总线收发器的工作,其它引脚高阻。,4总线空操作,前面我们曾讲过,只有在CPU与存贮器或I/O端口之间传送数据时,CPU才执行相应的总线操作,而当它们之间不传送数据时,则进入总线空闲周期Ti,而总线空闲周期即对应总线空操作。在总线空闲周期内,CPU的各种信号线上的状态维持不变。要注意的是,总线空操作并不意味着CPU不工作,只是总线接口部件BIU不工作,而总线执行部件EU仍在工作,如进行计算、译码、传送数据等。实质上总线空操作期间,是BIU对EU的一种等待。,习题与思考:1.什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何?2什么是时序?为什么要讨论时序?38086/8088CPU读/写总线周期各包含多少个时钟周期?什么情况下需要插入Tw周期?应插入多少个Tw取决于什么因素?4试简述8086/8088系统最小模式时从储存器读数据时的时序过程。,三、中断操作和中断系统,2.1.38086的操作和时序,中断源:引起中断的原因或发出中断请求的设备称为中断源。8086/8088为每个中断源分配了一个中断类型码,其取值范围为0255,即可处理256种中断。其中包括软件中断,系统占用的中断以及开放给用户使用的中断。从产生中断的方法来分,这256种中断可以分为两大类:一类叫硬件中断;一类叫软件中断。,1.中断的分类,三、中断操作和中断系统,即通过外部的硬件产生的中断,如打印机、键盘等,有时也称为外部中断。硬件中断又可分为两类:可屏蔽中断和不可屏蔽中断。不可屏蔽中断:由NMI引脚引入,它不受中断允许标志的影响,每个系统中仅允许有一个,都是用来处理紧急情况的,如掉电处理。这种中断一旦发生,系统会立即响应;可屏蔽中断:由INTR引脚引入,它受中断允许标志的影响,也就是说,只有当IF1时,可屏蔽中断才能进入,反之则不允许进入,可屏蔽中断可有多个,一般是通过优先级排队,从多个中断源中选出一个进行处理。,(1)硬件中断,即CPU根据软件中的某条指令或者对标志寄存器中某个标志的设置而产生,它与硬件电路无关,常见的如除数为0引起的中断,或用INTn指令产生的中断。,(2)软件中断(内部中断),三、中断操作和中断系统,三、中断操作和中断系统,溢出中断由INTO指令引起断点中断由INT3指令引起单步由标志TF引起不对应指令除0由计算结果引起不对应指令,系统处理中断的方法很多,处理中断的步骤中最主要的一步就是如何根据不同的中断源进入相应的中断服务子程序,目前用的最多的就是向量式中断。,2、中断向量和中断向量表,三、中断操作和中断系统,中断向量:把各个中断服务子程序的入口都称为一个中断向量;每个中断类型对应一个中断向量。,中断向量表:将这些中断向量按一定的规律排列成一个表,就是所谓的中断向量表,当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。,2、中断向量和中断向量表,8086/8088中断系统中的中断向量表是位于0段的03FFFH的存贮区内,每个中断向量占四个单元,其中前两个单元存放中断处理子程序的入口地址的偏移量(IP),低位在前,高位在后;后两个单元存放中断处理子程序入口地址的段地址(CS),也是低位在前,高位在后,整个中断向量的排列是按中断类型号进行的。,2、中断向量和中断向量表,图示给出了中断类型码与中断向量所在位置之间的对应关系。其中00H04H为专用中断,05H3FH为系统保留中断,用户一般是不能对它们定义的(这里面有一些为固定的用途,如INT21H即为MSDOS的系统调用),40FF为用户定义的中断。,图2-16,2、中断向量和中断向量表,中断类型号4即可计算某个中断类型的中断向量在整个中断向量表中的位置。如类型号为20H,则中断向量的存放位置为20H480H,(设中断服务子程序的入口地址为4030:2010,则在0000:0080H0000:0083H中就应顺序放入10H、20H、30H、40H。当系统响应20H号中断时,会自动查找中断向量,找出对应的中断向量装入

温馨提示

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

评论

0/150

提交评论