微机原理与接口技术.ppt_第1页
微机原理与接口技术.ppt_第2页
微机原理与接口技术.ppt_第3页
微机原理与接口技术.ppt_第4页
微机原理与接口技术.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1,第二章8086/8088系统结构,内容提要:8086微处理器基本结构8086微处理器寄存器结构8086微处理器引脚功能8086最小/最大模式系统配置、8086CPU时序8086微处理器存储器和I/O组织,学习目标:掌握8086/88微处理器CPU基本结构、寄存器结构及作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;理解8086/88微处理器存储器读/写时序;,重点:存储器和I/O组织、工作模式、典型时序分析难点:时序分析学时:4,2,2.1微处理器的内部结构,微处理器的基本结构1)算术逻辑单元(运算器),2)寄存器组:包括通用寄存器,地址寄存器,标志寄存器。,3)指令处理单元(控制器):包括指令寄存器,指令译码逻辑,时序和控制逻辑,3,2.1.18088/8086的功能结构,1、总线接口单元(BIU):由指令队列、指令指针、段寄存器、和总线控制逻辑等组成,负责CPU对存储器和外设进行访问。,2、执行单元(EU):由ALU、通用寄存器、地址寄存器、标志寄存器和指令译码逻辑等组成,负责指令的译码、执行和数据的运算。,一、微处理器的组成,4,8086内部结构框图,5,指令执行过程,6,二、8086/8088执行程序的操作过程,BIU功能及工作过程:,总线接口部件的功能是负责与存储器、I/O接口传送信息。主要工作过程如下:,当指令队列中出现两个以上的指令字节空隙(8088是1个字节空隙)时,BIU会自动按CS和IP值所形成的20位实际物理地址对应的程序存储器单元中取指令字节,一次从程序存储器中取两个指令字节,顺序存放在指令队列寄存器中,由EU从队列指令中取走位于前列的指令,若指令需要在内存单元中读取数据,此时根据EU的请求在BIU中形成一个20位的存放数据的实际物理地址,CPU从物理地址单元中取得操作数,经BIU送到内部的运算部件(ALU)数据总线,再由EU执行相应操作,根据指令的性质,若需要,再由EU提出请求,将运算结果写入由BIU所指出的内存单元或者I/O端口中,7,注:执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。,反映本次操作结果的状态写入到响应的状态寄存器,EU功能及工作过程:,EU从BIU的指令队列中取出指令代码,由EU控制电路的译码器对指令进行译码后执行指令所规定的全部功能,执行指令所得结果或执行指令所需的数据,都由EU向BIU发出命令,对存储器或I/O接口进行读/写操作,8,传统微处理器的指令执行过程,8086/8088CPU的指令执行过程,三、EU和BIU的关系,9,2.1.28086/8088的寄存器结构,8086/8088中可供编程使用的有14个16位寄存器,按其用途可分为:通用寄存器、段寄存器、指针和标志寄存器。,10,1.通用寄存器,(1)数据寄存器AX、BX、CX、DX数据寄存器一般用于存放参与运算的操作数或运算结果。每个数据寄存器都是16位的,但又可将高、低8位分别作为两个独立的8位寄存器来用。高8位分别记作AH、BH、CH、DH,低8位分别记作AL,BL,CL,DL。例如AX可当作两个8位寄存器AH、AL使用。注意:8086/8088CPU的14个寄存器除了这4个16位寄存器能分别当作两个8位寄存器来用之外,其它寄存器都不能如此使用。,通用寄存器包括四个数据寄存器,两个地址指针寄存器和两个变址寄存器。,11,DX(Data)称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。,AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。此外,所有的I/O指令都使用该寄存器与外设端口交换信息。,BX(Base)称为基址寄存器。8086/8088CPU中有两个基址寄存器BX和BP。BX用来存放操作数在内存中数据段内的偏移地址,BP用来存放操作数在堆栈段内的偏移地址。,CX(Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。,12,(2)地址指针寄存器SP、BP,SP(StackPointer)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。BP(BasePointer)称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。,SI(SourceIndex)称为源变址寄存器。DI(DestinationIndex)称为目的变址寄存器。这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。,(3)变址寄存器SI、DI,13,上述寄存器各自都有自己的特定用途:,14,2.专用寄存器(控制寄存器),(1)指令指针寄存器IP(InstructionPointer):在8086/8088是一个16位的寄存器,存放EU要执行的下一条指令的偏移地址,用以控制程序中指令的执行顺序,实现对代码段指令的跟踪。用户程序不能直接访问IP。80386以上的微处理器EIP是32位的寄存器。,(2)标志寄存器FLAGS:在8086/8088中是一个16位的寄存器,共9个标志,其中6个用作状态标志,3个用作控制标志。状态标志:用来反映EU执行算术和逻辑运算以后的结果特征。控制标志:控制标志是用来控制CPU的工作方式或工作状态注:80286以上的微处理器EFLAGS增加了一些其他的标志位(见教材,学生自己看作了解)。,15,标志寄存器(FLAGS),16,3.段寄存器,(1).CS(CodeSegment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。CS的内容左移四位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。,(2).DS(DataSegment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。DS的内容左移四位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。,(3).SS(StackSegment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。,(4).ES(ExtraSegment)称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。附加数据段用来存放字符串操作时的目的字符串。,注:80X86系列中其它处理器中的系统级寄存器、调试和测试寄存器、浮点寄存器有兴趣的学生自学了解。,段?,17,2.1.3存储器和I/O组织,一、存储器组织,存储器空间,存储器是按字节进行组织的,两个相邻的字节被称为一个“字”。存放的信息若是以字节(8位)为单位的,将在存储器中按顺序排列存放。,8086/8088有20条地址线,可直接对1M个存储单元进行访问。每个存储单元存放一个字节,且每个存储单元都有一个20位的地址,这1M个存储单元对应的地址为00000HFFFFFH,如图所示。,存储单元地址,1、存储器空间与存储器结构,18,存储器的分体结构,19,存储体连接图,A19A0,20,2、存储器分段,21,3、逻辑地址与物理地址,物理地址(PA):就是存储器的实际地址,它是指CPU和存储器进行数据交换时所使用的地址(20位)。,逻辑地址(LA):是在程序中使用的地址,它由段地址和偏移地址两部分组成(16位)。,逻辑地址的表示形式“段地址偏移地址”,物理地址=段地址10H偏移地址,注:段地址:CS、DS、ES、SS偏移地址:IP、DI、SI、BP、SP等,22,23,例2.1设(1)(CS)=4232H,(IP)=0066H(2)(SS)=3210H,(SP)=001AH,则物理地址计算如下,1200H:0345H12345H1100H:1345H12345H,注:每个存储单元有唯一的物理地址,但它却可由不同的“段基址”和“偏移量”组成。,例2.2,24,段寄存器和偏移地址寄存器的组合,25,2.28086/8088CPU的引脚功能及系统工作模式,2.2.1引脚功能,26,1、Vcc(电源)、GND(地);8086CPU只需要单一的十5电源,由Vcc输入,GND为接地端。,一、引脚:,2、CLK(Clock):主时钟信号输入由8284时钟发生器输入,时钟频率随CPU芯片型号不同有较大差异。,3、AD15AD0:分时复用的地址/数据总线;传送地址时三态输出,传送数据时可双向三态输入、输出,4、A19/S6,A18/S5,A17/S4,A16/S3:分时复用的地址/状态线;输出信号(1)当ALE有效时:用做地址线的高四位,A19A16和AD15AD0一起构成访问存储器的位物理地址。当CPU访问I/O端口时,A19A16保持为“”电平。(2)当ALE无效时:S6S3用来输出状态信息,其中:S3和S4状态组合起来指出当前正在使用的是哪个段寄存器,27,28,9、READY:准备就绪信号;输入信号,高电平有效由RAM或I/O端口向此引脚发出的输入信号,表示CPU访问的存储器或I/O端口已做好输入/偷出数据的准备工作,可以进行读写操作。当READY无效时,要求CPU插入一个或多个等待周期。直到READY信号有效为止。,29,10、INTR:可屏蔽中断请求信号;由外部输入,高电平有效此信号若为高电平,表示I/O设备向CPU申请中断。如此时CPU允许中断(中断允许标志位IF1),CPU就会在结束当前指令后,响应中断请求,进入可屏蔽中断的处理程序,11、INTA:中断响应信号;输出信号,低电平有效表示CPU响应了外部发来的INTR信号;在中断响应总线周期,可用来作读选通信号,12、NMI:不可屏蔽中断请求信号;由外部输入,边沿触发,正跳沿有效不受中断允许标志的限制,当NMI引脚出现由低到高的电平变化时,CPU就会在结束当前指令后,转向执行中断服务程序。,30,14、RESET:复位信号;由外部输入,高电平有效RESET信号至少要保持个时钟周期,CPU接收到复位信号后,停止当前操作,并把标志寄存器、段寄存器、指令指针和指令队列等复位到初始状态,15、ALE:地址锁存允许信号;输出信号,高电平有效在最小模式系统中用来作地址锁存器8282/8283的片选信号,31,18、HOLD:总线请求信号;外部输入,高电平有效在最小模式系统中,当其它部件要求占用总线时,可通过对此引脚施加一个高电平总线请求信号,向CPU请求使用总线。,19、HLDA:总线请求响应信号;输出信号,高电平有效CPU一旦测试到有HOLD请求时,就在当前总线周期结束时,使HLDA有效,表示响应这一总线请求,并立即让出总线使用权。,32,注:1.8088与8086引脚的三个不同点:(1)AD15AD0的定义不同。在8086中都定义为地址/数据分时复用引脚;而在8088中,由于只需要8条数据线,因此,对应于8086的AD15AD8这8根引脚在8088中定义为A15A8,它们在8088中只做地址线用。(2)引脚34(BHE/S7)的定义不同。在最大方式下,8088的第34引脚保持高电平,而8086在最大方式下34引脚的定义与最小方式下相同。(3)引脚28(M/IO)的有效电平高低定义不同。8088和8086的第28引脚的功能是相同的,但有效电平的高低定义不同。8088的第28引脚为,当该引脚为低电平时,表明8088正在进行存储器操作;当该引脚为高电平时,表明8088正在进行I/O操作。8086的第28引脚为,电平与8088正好相反。,2.当8086CPU工作在最大模式系统下时,引脚2431的功能将被重新定义请见参考资料。,33,2.2.28086/8088的工作模式,1、最小模式:是指单机系统即系统中只有一个微处理器8086/8088。在这种系统中,8086/8088直接产生所有的总统控制信号。系统所需的外加其它总线控制逻辑部件最少。,为了适应各种使用场合,8086/8088CPU有两种配置方式:,2、最大模式:最大模式可构成多机系统,即系统中包含有两个或多个处理器,其中一个为主处理器8086/8088CPU。其它处理器称为协处理器、它们是协助主处理器进行工作的。在最大模式系统中,系统所需控制信号由总线控制器8288提供。,34,一、最小模式系统:以8086为主体的单机系统,当把8086的33脚MN/MX接+5V时,8086CPU就处于最小工作方式了,即单处理器方式。系统所需的控制信号均由8086CPU直接提供,由于AD15AD0为数据/地址复用总线,为使地址信息有足够的保持时间,在系统总线上增加地址锁存器8282/8283。为增加系统数据总线的驱动能力,加接总线收发器8286/8287。,35,36,上图中8086的AD0AD15、A16A19、BHE连接到地址锁存器的DI1DI7端。由于每片8282/8283只有8个输入输出管脚,而要求锁存的地址信号有21个,因而需要三片锁存器。8086CPU的第25管脚ALE接到8282/8283的STB端,当地址锁存允许信号ALE有效时,地址被锁存到锁存器中。由于OE被固定接地,所以CPU输出的地址码一旦被锁存后,立即稳定输出到地址总线上。,1、8282/8283地址锁存器,8282/8283是带三态缓冲器的8位通用数据锁存器,二者的区别仅在于位输入/输出信号是反相(8283)还是同相(8282)选通脉冲STB高电平期间,锁存器中的触发器的Q端随输入端的数据信息而变化,输入端的位数据被锁存到锁存器中;OE有效时,锁存器中的数据输出;OE无效,则输出端呈高阻状态。,37,2、8286/8287总线收发器,为了提高8086/8088CPU数据总线(AD0-AD15)的驱动能力和承受电容负载的能力,在CPU和数据总线之间必须接入双向总线缓冲器,8286/8287是为数据总线接口设计的三态输出8位双向数据缓冲器,8286和8287两者的区别:8287的位数据输出反相。控制信号:传送方向控制信号、输出允许信号OE。当OE有效时,允许数据通过;当OE无效时,禁止数据通过,输出呈高阻状态。OE有效:1时70为输入端,B7B0为输出端,位数据被正向传送;OE有效:0时70为输出端,B7B0为输入端,位数据被反向传送。,38,在8086最小模式系统中,8286/8287作位数据缓冲器用。,8286/8287的OE端与8086CPU的数据允许信号DEN相连,当8086与存储器或I/O端口进行数据交换时:DEN有效(DEN0),使8286的OE有效,允许数据通过;DEN无效(DEN1),使8286的OE无效,禁止数据通过。,8286/8287的端与8086CPU的数据发送/接收信号DT/R相连,当8086写存储器或I/O端口时:DT/R为高电平,使8286的端为高电平,位数据由CPU向存储器或I/O端口输出;当8086读存储器或I/O端口时:DT/R为低电平,使8286的端为低电平,位数据由存储器或I/O端口向CPU输入。,应该指出:在8086最小系统中,可不用总线收发缓冲器8286/8287,这时地址/数据总线可直接与存储器或I/O端口的数据线相连。,39,3、在最小方式下,第2431引脚的功能如下,a.INTA(InterruptAcknowledge):引脚24,中断响应信号,输出。b.ALE(AddressLatchEnable):引脚25,地址锁存允许信号,输出。c.DEN(DataEnable):引脚26,数据允许信号,输出。d.(DataTransmit/Receive):引脚27,数据发送/接收信号,输出。e.(Memory/InputandOutput):引脚28,存储器I/O端口控制信号,输出。f.(Write):引脚29,写信号,输出。g.HOLD(Holdrequest):引脚31,总线保持请求信号,输入。h.HLDA(HoldAcknowledge):引脚30,总线保持响应信号,输出。,说明:在最小方式下,8086CPU直接产生全部总线控制信号和命令输出信号,并提供请求访问总线的逻辑信号。,40,二、最大模式系统,当把8086的33脚接地时,这时的系统处于最大工作方式。最大模式系统除包含8086/8088CPU外,还可以包含协处理器。协处理器具有很强的独立处理数据功能。为解决CPU和协处理器之间的协调工作和共享总线的控制,需要有一个总线控制器8288和一个总线仲裁器8289,41,42,1.比较最大方式和最小方式系统结构图可以看出:,相同点:最大方式和最小方式有关地址总线和数据总线的电路部分基本相同,即都需要地址锁存器及数据总线收发器。,不同点:控制总线的电路部分有很大差别。最小工作方式下,控制信号可直接从8086/8088CPU得到,不需要外加电路。最大方式是多处理器工作方式,需要协调主处理器和协处理器的工作。因此,8086/8088的部分引脚需要重新定义,控制信号不能直接从8086/8088CPU引脚得到,需要外加8288总线控制器,通过它对CPU发出的控制信号(S0,S1,S2)进行变换和组合,以得到对存储器和I/O端口的读写控制信号和对地址锁存器8282及对总线收发器8286的控制信号,使总线的控制功能更加完善。,43,2.在最大方式下,第2431引脚的功能如下:,a.QS1、QS0(InstructionQueueStatus):引脚24、25,指令队列状态信号,输出。,b.、(BusCycleStatus):引脚26、27、28,输出总线周期状态信号。,44,c.LOCK(Lock):引脚29,总线封锁信号,输出。,(Request/Grant):引脚30、31,总线请求信号(输入)/总线请求允许信号(输出)。,说明:在单处理器方式下为了增加控制总线的驱动能力,也可以采用8288总线控制器。,45,2.38086的总线周期和操作时序,一、周期的概念及种类,1.指令周期一条指令从其代码被从内存单元中取出到其所规定的操作执行完毕,所用的时间,称为相应指令的指令周期。,2.总线周期我们把CPU通过总线与内存或I/O端口之间,进行一个字节数据交换所进行的操作,称为一次总线操作,相应于某个总线操作的时间即为总线周期。,3.时钟周期时钟周期是微机系统工作的最小时间单元,它取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。时钟周期又称为T状态。,注:1个指令周期=n个总线周期=4*n个时钟周期正常状态,46,基本总线周期用T1、T2、T3、T4表示。,二、总线周期,8086/8088CPU在与存储器或I/O端口交换数据时需要启动一个总线周期。按照数据的传送方向来分,总线周期可分为:“读”总线周期(CPU从存储器或I/O端口读取数据)“写”总线周期(CPU将数据写入存储器或I/O端口),在8086/8088中,一个基本的总线周期由4个时钟周期组成,如果内存或IO接口速度较慢,来不及响应,则需在T3之后插入1个或几个Tw状态。,47,48,时钟周期,空闲状态,等待状态,49,各个状态对应的操作:,T1状态:CPU把要读/写的存储单元的地址或I/O端口的地址放到地址总线上。,T2状态:缓冲周期,若是“读”总线周期,T2状态时总线浮空;若是“写”总线周期,不需要缓冲时间。,T3T4状态:CPU与存储器或I/O端口之间传输。考虑到CPU与慢速的存储器或I/O端口之间的速度配合,可插入若干附加的时钟功能,称为等待状态或等待时钟周期TW.,具有等待状态的总线周期:CPU在T3之后插入1个或多个等待周期TW。,具有空闲状态的总线周期:一个总线周期之后不立即执行下一个总线周期,即CPU此时执行的指令不需要对存储器或I/O端口进行访问,且目前指令队列满而不需要到内存中读指令,执行空闲周期。,50,三、操作时序,本节主要讲解8086最小工作模式下的以下主要操作:读/写操作(的总线周期)系统的复位和启动操作(的总线周期)总线操作(的总线周期)中断操作(的总线周期),一个微型机系统要完成各种任务,必须同存储器或I/O设备进行各种操作,这些操作都是通过系统外部总线来完成,是一些最基本的操作。,51,8086的基本工作时序:存储器读操作、存储器写操作、中断响应操作、输入输出周期系统复位、,T1T2T3TWT4(1)T1状态M/IO信号:从存储器读还是从I/O设备中读数据。AD15-AD0、A19/S7-A16/S3:确定20位地址。BHE:选择奇地址存储体。ALE:地址锁存信号,以使地址/数据线分开。,(3)T3状态若存储器或I/O端口已做好发送数据准备,则在T3状态期间将数据放到数据总线上,在T3结束时,CPU从AD15-AD0上读取数据。,(4)TW状态在T3状态,存储器或外设没有准备好数据,不能在T3状态将数据放到总线上,使READY=0,则CPU在T3和T4之间插入一个或几个TW状态,直到数据准备好READY=1为止。TW状态时总线的动作与T3时相同,(5)T4状态CPU对数据总线进行采样,读出数据。见图所示,52,存储器写操作、中断响应操作、输入输出周期系统复位、存储器读操作、,T1T2T3TWT4(1)T1状态M/IO信号:对存储器写还是对I/O设备中写数据。AD15-AD0、A19/S7-A16/S3:确定20位地址。BHE:选择奇地址存储体选择。ALE:地址锁存信号,以使地址/数据线分开。DT/R:为高电平,指示收发器8286发送数据,写操作。,(2)T2状态A19/S6-A16/S3:出现S6-S3状态信号。决定段寄存器、IF状态、8086CPU是否连在总线上。AD15-AD0:发16位数据。WR:由高电平变为低电平,开始进行写操作。DEN:变低电平,启动收发器8286,做好发送数据的准备,(3)T3状态存储器或I/O端口做好接收准备,则在T3期间将数据放DB上,在T3结束时,CPU将AD15-AD0上数据写入到存储器或I/O设备中,(4)TW状态在T3状态,存储器或外设没有准备好接收数据,使READY=0,则CPU在T3和T4之间插入一个或几个TW状态,直到设备准备好READY=1为止。,(5)T4状态数据从DB上被撤除,各种控制信号和状态信号进入无效状态,CPU完成了对存储器或I/O设备的写操作。,53,中断响应操作、输入输出周期系统复位、存储器读操作、存储器写操作、,中断响应周期从CPU中止现行程序转中断服务程序这一过程,用两个总线周期。第一个响应周期:使AD15-AD0、BHE/S7、A19/S6-A16/S3悬空。第二个响应周期:外设向数据总线上输送一个字节的中断类型号。每一响应周期的T1状态输出一个高电平脉冲,作为地址锁存信号。,54,输入输出周期系统复位、存储器读操作、存储器写操作、中断响应操作、,8086与外设通讯,也即从外设输入数据,或把数据输出给外设的时序,与CPU同存储器之间的通讯时序,几乎完全相同,只是MIO信号应为低。所以我们就不赘述,55,系统复位、存储器读操作、存储器写操作、中断响应操作、输入输出周期,8086的复位时序,产生:RESET端上的高电平维持4个时钟周期,可使CPU复位,复位时序如图2-12所示。PSW、DS、ES、SS、IP等寄存器及指令队列(被清零),CS寄存器设置为FFFFH。注:由于复位后,IF=0,处关中断状态,所以在初始化程序中应开中断,使CPU可响应中断请求。当RESET由高电平变低电平7个机器周期后,CPU开始从FFFF0处执行程序。,56,57,注(最大与最小模式总线周期的不同之处):,最小模式8282锁存及8286收发器的控制信号、

温馨提示

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

评论

0/150

提交评论