第2章 微处理器_第1页
第2章 微处理器_第2页
第2章 微处理器_第3页
第2章 微处理器_第4页
第2章 微处理器_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

第2章微处理器【任务驱动】

本章主要介绍8086微处理器的相关知识,通过本章的学习,让学生掌握8086的内部结构及外部引脚定义,掌握8086存储器的组织形式,理解8086微处理器的工作模式和总线时序。【重点难点】1.8086CPU内部并行结构及外部引脚2.8086CPU的存储器组织及地址变换3.8086CPU的基本时序12.1微处理器概述2.2Intel8086/8088CPU结构2.3Intel8086/8088CPU的引脚2.4Intel8086/8088的典型时序分析2微处理器(Microprocessor),又称中央处理器(CentralProcessingUnit,CPU)。是采用大规模或超大规模集成电路(LSI/VLSI)技术做成的半导体芯片,集成了计算机的主要部件:控制器、运算器和寄存器组等,是微机的核心部件。主要完成各种算术及逻辑运算,并控制计算机各部件协调地工作。CPU是微机的核心芯片,是整个系统的运算和指挥控制中心。不同型号的微机,其性能的差别首先在于其CPU性能的不同,而CPU的性能又与它的内部结构有关,每种CPU都有其特有的指令系统。但无论哪种CPU,其内部基本结构总是相近的,都有控制器、运算器和寄存器组3大主要部件。2.1微处理器概述31.运算器:又称为算术逻辑单元(ArithmeticandLogicUnit,ALU),它是以加法器为基础,辅之以移位寄存器及相应控制逻辑组合而成的电路,在控制信号的作用下,可完成加、减、乘、除四则运算和各种逻辑运算,以及浮点运算。2.控制器:一般由指令寄存器、指令译码器、时序和控制逻辑电路组成。控制器是整个CPU的指挥控制中心,对协调整个微机有序工作极为重要。它从存储器中依次取出程序的各条指令,并根据指令的要求,向微机的各个部件发出相应的控制信号,使各部件协调工作,从而实现对整个微机系统的控制。43.寄存器组:实质上是CPU内部的若干个的高速存储单元,在汇编语言中通常是按名字来访问它们。寄存器可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,如堆栈指针、程序计数器、标志寄存器、地址寄存器等。而通用寄存器则可由程序员规定其用途。通用寄存器的数目因CPU的不同而异,8088/8086CPU中有8个16位的通用寄存器,缩短了指令的长度和指令的执行时间。微处理器中还有一些不能直接为程序员所用的寄存器,如累加锁存器、暂存器和指令寄存器等,它们仅受内部定时和控制逻辑的控制。我们通常说的Z80、8086、80286、80386、80486指的是Z80处理器、8086微处理器、80286微处理器、80386微处理器和80486微处理器。在这一章中,我们将学习8086处理器及其系列芯片的内部结构、操作与时序等。58086/8088是Intel系列的16位微处理器,它是采用HMOS工艺制造的,内部包含约29000个晶体管,用单一的+5V电源,时钟频率为5MHz~10MHz。8086有16根数据线和20根地址线,其寻址空间达1M字节;8088是一种准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。8086/8088芯片内设有硬件乘除指令部件和串处理指令部件,可对位、字节、字串、BCD码等多种数据类型进行处理。8086/8088的指令系统完全相同,在软件上完全兼容。2.2Intel8086/8088CPU结构68086CPU采用了一种较先进的指令流水线结构,取指令(或取操作数)与执行指令的功能分别由两个独立部件实现,即总线接口单元BIU(BusInterfaceUnit)和执行单元EU(ExecutionUnit)。因此,当EU执行某条指令时,BIU同时完成从主存中预取后续指令,两个部件并行地工作,使指令的读取与执行可以部分重叠,从而指令的执行速度。为此,将8086CPU结构从功能上划分为两个逻辑单元,即总线接口单元BIU和执行单元EU,其内部组成结构如图2.1所示。72.2.1总线接口单元BIU和执行单元EU

图2.18086CPU内部结构图8(一)总线接口单元BIUBIU是8086CPU与存储器或I/O设备之间的接口部件,负责全部引脚的操作。具体来说,BIU负责:(1)取指令。产生指令地址,根据指令地址从存储器取出指令,送到指令队列中排队或直接送给EU去执行;(2)取操作数。从存储器的指定单元或外设端口中取出指令规定的操作数传送给EU;(3)传送结果。把EU的操作结果传送到指定的存储单元或外设端口中。BIU内部设有:1.4个16位的段寄存器:代码段寄存器CS(CodeSegment)数据段寄存器DS(DataSegment)堆栈段寄存器SS(StakeSegment)附加段寄存器ES(ExtraSegment)92.一个16位的指令指针寄存器IP(InstructionPointer)。3.6字节指令队列缓冲器。8086的指令队列缓冲器为六个字节,8088的指令队列缓冲器为四个字节。无论8086还是8088,都会在执行指令的同时,从内存中取下一条指令或几条指令,取来的指令就放在指令队列缓冲器中。这样,一般情况下,CPU执行完一条指令就可以立即执行下一条指令,称为流水线技术,减少了CPU为取指令而等待的时间,从而提高了CPU的效率。4.20位地址加法器和总线控制电路。地址加法器用来产生20位地址。上面已提到8086可用20位地址寻址1MB的内存空间,但8086内部所有的寄存器都是16位的,所以需要一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。10(二)执行单元EU执行单元(EU)的作用是:(1)从指令队列中取出指令;(2)对指令进行译码,发出相应的传送数据或算术运算的控制信号;(3)接收由总线接口部件传送来的数据,或把数据传送到总线接口部件;(4)进行算术运算。执行部件由下列部分组成:1.4个通用寄存器AX,BX,CX,DX四个通用寄存器既可作为16位寄存器用,也可以作为8位寄存器使用,分别为AH,AL,BH,BL,CH,CL,DH,DL。AX寄存器又称为累加器,8086指令系统中有许多指令都通过累加器的动作来执行。AX为16位累加器,AL为8位累加器。112.专用寄存器4个专用寄存器,基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。4个专用寄存器的用法将在指令系统有专门的论述。3.算术逻辑单元ALU它是16位的运算器,可用于8位或16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器单元所需的16位偏移量。4.数据暂存寄存器它协助ALU完成运算,暂存参加运算的数据。5.EU控制电路从总线接口单元的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器F根据运算结果改变状态。126.标志寄存器标志寄存器共有16位,其中7位未用,所用的各位含义如图2.2所示。6个状态标志,反映CPU指令运行后的运行状态信息,分别为SF、ZF、PF、CF、AF和OF。这些标志位根据指令执行后的操作结果进行变化,然后判断转移等。3个控制标志,分别为DF、IF和TF。控制标志与状态标志的区别是,控制标志可由编程员通过指令进行设置,有专门的指令对控制标志置0或置1;状态信息是由中央处理器执行运算指令,并根据运算结果而自动设置。6个状态标志位的职能是:CF——进位标志位。做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。PF——奇偶标志位。当结果的低8位中1的个数为偶数时,则该标志位置1;否则清0。AF——半加标志位。在做加法时,当位3需向位4进位,或在做减法时位3需向位4借位,该标志位就置1;否则清0。该标志位通常用于对BCD算术逻辑结果的调整。13ZF——零标志位。运算结果各位都为0时,该标志位置1;否则清0。SF——符号标志位。当运算结果的最高位为1时,该标志位置1;否则清0。OF——溢出标志位。在算术运算中,当带符号的数的运算结果超出了8位或16位带符号数所能表达的范围时,即字节运算大于+127或小于-128时,字运算大于+32767或小于-32768时,该标志位置位。14图2.2标志寄存器各位的含义153个控制标志位的控制职能如下:(1)DF(DirectionFlag):方向控制标志位决定变址寄存器SI、DI的变化方向,即是增量变化还是减量变化。一般用于串处理指令,控制从前往后、还是从后往前对字符串进行操作处理。(2)IF(InteruptFlag):中断允许/禁止标志位IF=1,允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。IF=0,关闭中断。CPU禁止响应可屏蔽中断请求。(3)TF(TrapFlag):跟踪(陷阱)标志位TF=1,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,用户能检查程序。TF=0,CPU正常工作,不产生中断。162.2.28086/8088的存储器组织(一)存储器的标准结构8086CPU有20根地址线,可寻址1MB存储空间。存储器按字节编址,从00000H—FFFFFH,每个字节用惟一的地址表示。存放的数是字节形式,存储器单元按顺序排列存放。如图2.3所示,存放的数为一个字时,将字的高位字节放在高地址中,将低位字节放在低地址中,高低地址连续。对于存放的字,其低位字节可以在奇数地址中(即从奇地址开始)存放,这种方式称为非规则存放,这样存放的字称为非规则字,CPU需要两次访问存储器才能存取该字。也可以在偶数地址中(即从偶地址开始)存放,这是规则存放,这样存放的字称为规则字,CPU一次便可对该字所在的两个存储单元进行存取。为加快程序的运行速度,编程时应注意用规则字。8088系统外部数据总线只有8位,CPU每次访问存储器只读写一个字节,如果要读写一个字,CPU需要访问两次存储器17左图中,地址为00102H单元中存放的字数据是285BH,地址为00106H单元中存放的字数据是0AF6DH。图2.3内存中数据存储格式18(二)存储器的分段前面我们已经提到8086/8088可以具有1MB的内存空间,可是其内部结构以及内部数据的直接处理能力和寄存器都只有16位,故只能直接提供16位地址,寻址64KB存储空间,很显然,不采取特殊措施,是不能寻址1MB存储空间的。为此,我们引入了分段的概念,如图2.4所示,将1MB字节的存储器空间分成若干逻辑段,每个段最长为64KB,段内地址是连续的。逻辑段之间可以是连续的,也可以是分开的或重叠的。段的首地址必须能被16整除,即每段首地址的低4位必须为0,高16位就是段基础地址(简称段基址)。段内任一存储单元与它所在段的段基值之间的距离称为偏移量或偏移地址。段基值存放在段寄存器CS、SS、DS、ES中,程序可以从4个段寄存器给出的逻辑段中存取代码和数据。1920(三)物理地址和逻辑地址物理地址(PhysicalAddress)又叫实际地址,是CPU和存储器进行数据交换时使用的地址,在8086/8088系统的存储器中每个单元有惟一的一个20位的物理地址,CPU访问存储器必须按这个物理地址去进行。但总线接口单元得到的往往是其段基址和偏移地址,那么已知一个存储单元的段基值和它的偏移量,如何计算其物理地址呢?物理地址(20位)=段基值×10H+偏移地址段寄存器的内容×16(10H,相当于左移4位)变为20位,再在低端16位上加上16位的偏移地址(也叫做有效地址),便可得到20位的物理地址,其产生过程如图2.5所示。16位的偏移地址有多种产生方法,在下一篇中再详细说明。21图2.5.物理地址的形成过程22逻辑地址由两部分组成:段基值和偏移量。它们都是用无符号的16位二进制数或4位十六进制数表示。逻辑地址的一般表示形式为:段基值:偏移量这里仅以8086CPU复位后如何形成启动地址为例,说明物理地址的计算方法。一条指令的物理地址是根据代码段寄存器CS和指令指针寄存器IP的内容得到的,复位时CS的内容为FFFFH,IP的内容为0000H。复位后的启动地址由CS段寄存器和IP的内容(作为偏移量)共同决定,即启动地址=CS×16+IP=FFFF0H+0000H=FFFF0H23段寄存器的设立不仅使8086的存储空间扩大到1MB,而且为信息按特征分段存储带来了方便。在存储器中,信息按特征可分为程序代码、数据、微处理器状态等。为了操作方便,存储器可以相应地划分为:程序区,用来存放程序的指令代码;数据区,用来存放原始数据、中间结果和最后运算结果;堆栈区,用来存放压入堆栈的数据和状态信息。只要修改段寄存器的内容,就可将相应的存放区设置在存储器的任何位置上。这些区域可以通过段寄存器的设置使之相互独立,也可将它们部分或完全重叠。需要注意的是,改变这些区域的地址时,是以16个字节为单位进行的。表2.1表示了各段寄存器的使用情况。24表2.18086/8088中段寄存器使用的基本约定25(四)堆栈所谓堆栈(Stack)是为保护数据、调度数据而开辟的特殊数据区域。堆栈的一端是固定的(栈底),另一端是浮动的(栈顶),正常的堆栈操作,其信息的存取在浮动的一端进行。堆栈中的数据严格按照“先进后出(FirstInLastOut或FILO)”的原则进行存取操作,即数据是由栈顶压入和弹出的。由堆栈段寄存器SS提供段基值,堆栈指针寄存器SP提供偏移地址,每当压入或弹出数据时,SP的内容会自动修改,它始终指向堆栈的顶部。计算物理地址的公式是:物理地址(PA)=(SS)×10H+(SP)当需要对堆栈段中的某个单元的数据进行操作时,还可使用BP寄存器通过各种寻址方式得到有效地址EA作为偏移地址,这样其物理地址是:物理地址(PA)=(SS)×10H+EA26(五)8086系统存储区的分配1.00000H~003FFH共1KB区域用来存放中断矢量,这一区域称为中断矢量表。中断矢量表的定义和作用参阅中断一章的有关内容。2.B0000H~B0F9FH是单色显示器的显示缓冲区,存放单色显示器当前屏幕显示字符所对应的ASCII码和属性。3.B8000H~BBF3FH约16KB是彩色显示器的显示缓冲区,存放彩色显示器当前屏幕像点所对应的代码。4.FFFF0H~FFFFFH共16个单元,一般用来存放一条无条件转移指令,转到系统的初始化程序。这是因为系统加电或者复位时,会自动转到FFFF0H执行。272.3.18086/8088CPU引脚特性8086/8088CPU采用双列直插式的封装形式,有40条引脚,如图2.6所示。为了适应不同的应用环境,8086/8088CPU有两种工作方式:最大方式和最小方式,这由引脚加以控制。最小方式适用于单微处理器组成的小系统,在这种系统中,所有的总线控制信号都直接由8086/8088产生;最大方式适用于多微处理器组成的大系统,它包含两个或多个微处理器,其中一个就是8086/8088,称为主处理器,其他的处理器则称为协处理器。8088是一种准16位微处理器,它的内部数据总线是16位,外部数据总线是8位,在软件上8088与8086直接兼容,在硬件上除指令队列、第15引脚~第18引脚、第34引脚、第28引脚外,其他基本相同。我们主要了解最小模式下的8086CPU引脚。2.3Intel8086/8088CPU的引脚28图2.68086CPU和8088CPU引脚图29(一)地址/数据总线AD15~AD0(AddressDataBus)这是分时复用的存储器或I/O端口地址和数据总线,双向工作,三态。在总线周期的T1状态作为地址线,输出要访问的存储器或I/O端口的地址;在总线周期的T2~T3状态作为数据线传输数据。(二)地址/状态线A19/S6~A16/S3(AddressStatus)地址/状态复用引脚,输出,三态。在总线周期的T1状态,用来输出地址的最高4位.在总线周期的T2、T3、TW和T4状态时,用来输出状态信息。当S6为0时,表示8086/8088CPU当前与总线连接。S5表明中断允许标志的当前设置,为1时,表示当前允许可屏蔽中断请求,为0则禁止一切可屏蔽中断请求。状态信号中的S4和S3用来指示当前使用哪一个段寄存器,具体规定如表2.2所示。30S4S3当前正使用的段寄存器00ES01SS10CS/不需要用段寄存器11DS表2.2当前使用的段寄存器的指示31(三)控制总线

1./BHE/S7

(BusHighEnable/Status)高8位数据总线允许/状态复用引脚,输出,三态。在总线周期的T1状态,8086在/BHE/S7引脚输出信号,为0表示高8位数据线D15~D8上的数据有效。在T2,T3,TW和T4状态,/BHE/S7引脚输出状态信号,在8086设计中,S7为备用信号,其内容不固定。通过/BHE/S7信号和A0的组合就可以告诉连接在总线上的存储器,当前的数据在总线上将以何种形式出现。表2.3已归纳出4种读/写格式。32

/BHE/S7A0操作所使用的数据引脚

00从偶地址开始读/写一个字AD15~AD0

10从偶地址开始读/写一个字节AD7~AD0

01从奇地址开始读/写一个字节AD15~AD810从奇地址开始读/写一个字(需要两个周期完成,第一个周期将低8位数据送AD15~AD8,第二个周期将高8位数据送AD7~AD0)AD15~AD8AD7~AD0

11无存取操作

表2.3

/BHE/S7和A0编码的含义332./RD(Read)读信号输出,三态。信号指出将要执行一个对存储器或I/O端口的读操作。低电平有效,在一个执行读操作的总线周期中,信号在T2、T3和TW状态均为低电平。3.READY等待状态控制(输入,高电平有效),表示数据传送已结束的信号8086CPU与存储器或I/O相配时,当CPU发出读/写操作,因后者速度慢,来不及响应时,CPU通常在T3之后,检测READY引脚上的信号如果READY为0,则自动插入一个等待时钟周期,然后再检测READY的状态,如果还是0,则再插入等待周期,直到READY=1时为止当READY=1时,通知CPU数据传输完成,结束等待进入T4状态。344./TEST等待测试(输入,低电平有效),当CPU在执行WAIT指令时,每隔5个时钟周期对该线的输入进行一次测试。为0时,CPU进入等待,重复执行WAIT指令,直到为1,再继续执行WAIT后的下一条指令,等待期间允许外部中断。5.INTR(InterruptRequest)屏蔽中断请求信号输入端,高电平有效。CPU在执行每条指令的最后一个时钟周期时,会对INTR引脚的信号进行采样。若CPU的中断允许标志为1,且又接收到INTR信号,则CPU会在执行完当前指令后,响应中断请求,执行一个中断处理子程序。356.NMI(Non-MaskableInterrupt)非屏蔽中断请求信号输入。NMI不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端输入一个正沿触发信号时,CPU会在执行完当前指令后,执行对应的不可屏蔽中断处理程序。7.RESET复位信号输入,高电平有效。RESET将使8086CPU立即结束当前操作。CPU内部进入复位工作。CPU要求复位信号至少要保持4个时钟周期的高电平,才能结束正在进行的操作。当RESET信号变为低电平时,CPU就开始执行再启动过程。复位后CPU内部各寄存器的状态如表2.4所示。36寄存器内容状态标志寄存器F清零指令指针IP0000H代码段寄存器CSFFFFH数据段寄存器DS0000H堆栈段寄存器SS0000H附加段寄存器ES0000H指令流队列清空表2.4复位后CPU中寄存器状态378.CLK(Clock)系统时钟输入。8086/8088要求时钟信号的占空比为33%,即1/3周期为高电平,2/3周期为低电平,即时钟信号的低、高之比采用2∶1时为最佳状态。9.MN//MX最小/最大方式信号输入。当接+5V电压时,CPU工作于最小方式;接地时,CPU工作于最大方式。382.3.28086最小工作方式时的系统总线结构8086/8088CPU最小工作方式用于单片微处理器组成的小系统,在这种方式中,由8086/8088CPU直接产生小系统所需要的全部控制信号。当接+5V电压时,CPU工作于最小方式,引脚24~31的控制功能有变化。最小工作方式,就是系统中只有一个微处理器(如8086)。在这种系统中,所有的总线控制信号都直接由8086产生,系统中总线控制逻辑电路减少到最少。最小工作方式系统适合于较小规模的应用,其典型系统结构图如图2.7所示。39图2.78086最小方式典型系统结构40了解微处理器的时序对于进一步理解微处理器执行指令的过程,各部件与系统总线的连接及硬件系统的调试都十分有意义。所谓时序就是计算机完成操作的时间顺序,相当于学校的作息时间表,学校的正常教学活动都按作息时间表有条不紊地进行。计算机系统为了完成自身的功能,需要执行各种操作,这些操作与时钟同步,按时序一步一步地执行,这就构成了CPU的操作时序。时钟周期是时钟脉冲产生的,一个时钟周期又叫T周期,它是计算机中的基本时间单位,象我们的作息时间都以分钟来计算一样;微处理器访问存储器或外设都要通过总线,完成一次总线操作所需的时间称为总线周期,它由几个T周期组成;一个最基本的总线周期是由4个时钟周期组成,常将4个时钟周期称为4个状态T1、T2、T3和T4。指令周期是执行一条指令所需的时间,它由一个至几个总线周期组成。2.4Intel8086/8088的典型时序分析41归纳起来,8086的主要操作有如下一些:系统的复位和启动操作总线操作暂停操作中断操作总线保持或总线请求/允许操作。422.4.1系统的复位和启动操作8086/8088的复位和启动操作是通过RESET引脚触发执行的。要求复位信号RESET至少维持4个时钟周期的高电平,当该信号一旦进入高电平,8086/8088CPU就会结束现行操作,保持在复位状态,直到RESET变为低电平为止。在复位状态时,CPU内部各寄存器的内容如表2.5所示。寄存器名FLAGIPCSDSSSES指令队列其他寄存器复位状态0000H0000HFFFFH0000H0000H0000H清空0000HRESET变高电平后,再过一个时钟周期,所有三态输出线被设成高阻状态,并一直保持,直到RESET回到低电平43寄存器名FLAGIPCSDSSSES指令队列其他寄存器复位状态0000H0000HFFFFH0000H0000H0000H清

空0000H表2.58086/8088CPU复位时寄存器状态442.4.28086CPU最小方式时总线时序8086/8088CPU与存储器及I/O端口交换数据需要执行一个总线周期。它可分为两部分,即读总线周期和写总线周期。前者是CPU从存储器或I/O端口读取一个数据。后者是CPU将一个数据写入存储器单元或I/O端口。(一)读总线周期时序一个最基本的读总线周期包含4个状态,即T1、T2、T3、和T4。在存储器和外设速度较慢时,要在T3之后插入一个或几个等待状态TW。如图2.8所示为8086CPU最小方式时读总线周期时序图。图中画了4个T状态即一个总线周期,且每个T状态都是一个占空度约33%的时钟周期,全部时序图都以这个时钟作为基准。45图2.88086CPU的读总线周期

461.T1状态当CPU准备开始一个总线读周期时,用信号指出当前执行的读操作是从存储器读,还是从I/O端口读。如果从存储器读,则为高电平,如果是从I/O端口读,则为低电平。信号的有效电平一直保持到整个总线周期的结束。在T1状态,CPU经地址/数据复用线AD15~AD0和地址/状态复用线A19/S7~A16/S3发出20位地址信息,发出地址信息的同时和ALE控制信号有效,信号用来表示高位数据线上的信息可以使用,用该信号作为奇地址存储体的选择信号,配合地址信号来实现对存储单元的寻址。ALE信号作为地址锁存信号,启动锁存器8212,在ALE信号下降沿将20位地址和BHE信号锁存,从而把地址信息和数据状态信息分开。另外,在T1状态信号变为低电平,表示CPU这次是从内存或外设端口读取数据,即表明数据的传送方向。472.T2状态在T2状态时,A19/S7~A16/S3上的地址信号消失,而出现S6~S3状态信号,这些状态信号保持到读周期结束,状态信号用来表明当前正在使用哪一个段寄存器,指示可屏蔽中断允许标志IF的状态,以及表明8086CPU当前是连在总线上。AD15~AD0变成高阻状态,为读入数据作准备。有效信号为由高电平变成低电平,送至存储器或I/O端口,开始从被选中的存储单元或I/O端口读取数据。也变成低电平有效信号,启动收发器8286,与在T1状态时已有效的信号一样,做好了接收来自存储器或I/O端口的数据。483.T3状态如果存储器或I/O端口已做好了数据准备而不需要等待状态时,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU从AD15~AD0上读取数据。4.TW状态在总线读周期,若存储器或I/O设备来不及把数据放到数据总线上,则发出一个低电平信号到CPU的READY端,使CPU在T3和T4之间插入一个或几个TW状态,来等待存储器或I/O端口的数据。8086CPU这时的工作过程是:在T3状态开始测试READY引脚信号,若发现READY信号有效,则表示存储器或I/O端口能按时将数据送上数据总线,T3状态之后即进入T4状态;若测试到READY为低电平,则在T3状态结束后,不进入T4状态,而插入一个或几个TW状态,在每个TW状态开始,CPU都测试READY线,只有发现它为高电平后,才在该TW结束后进入T4状态。49在最后一个TW状态,数据已经出现在数据总线上。所以,在最后一个TW状态中,总线的动作和基本总线周期中T3状态所完成的动作完全一样。而在其他的TW状态,所有控制信号的电平和T3状态的一样,但数据尚未出现在数据总线上。5.T4状态在T4状态和前一个状态交界的下降沿处,CPU对数据总线进行采样,读取数据。50(二)写总线周期时序和读操作一样,最基本的写操作周期也包含4个T状态,若存储器或I/O端口来不及接收数据,也是在T

温馨提示

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

评论

0/150

提交评论