第2章 第二章 80868088微处理器及其体系结构.ppt

上传人:文库蛋蛋多 文档编号:2263518 上传时间:2023-02-07 格式:PPT 页数:77 大小:1.51MB
返回 下载 相关 举报
第2章 第二章 80868088微处理器及其体系结构.ppt_第1页
第1页 / 共77页
第2章 第二章 80868088微处理器及其体系结构.ppt_第2页
第2页 / 共77页
第2章 第二章 80868088微处理器及其体系结构.ppt_第3页
第3页 / 共77页
第2章 第二章 80868088微处理器及其体系结构.ppt_第4页
第4页 / 共77页
第2章 第二章 80868088微处理器及其体系结构.ppt_第5页
第5页 / 共77页
点击查看更多>>
资源描述

《第2章 第二章 80868088微处理器及其体系结构.ppt》由会员分享,可在线阅读,更多相关《第2章 第二章 80868088微处理器及其体系结构.ppt(77页珍藏版)》请在三一办公上搜索。

1、第二章 8086/8088微处理器及其体系结构,一、8086/8088CPU的编程结构二、8086/8088的存储器组织三、8086/8088的I/0组织四、8086/8088CPU的引脚功能和工作方式五、8086/8088的操作及其时序,一、8086/8088CPU的编程结构,1、8086/8088CPU的内部结构2、8086/8088CPU的寄存器结构,二、8086/8088的存储器组织,1、存储器组织2、存储器的分段和物理地址的形成,三、8086/8088的I/0组织,由于I/O设备的工作速度远远低于CPU,所以I/O设备不能直接和CPU总线相连,必须通过I/O接口芯片。每个I/O接口芯

2、片都有一个或几个端口,一个端口对应一个I/O地址,就象存储单元地址一样。8086/8088设有输入指令IN和输出指令OUT用于访问I/O端口。,四、8086/8088CPU的引脚功能和工作方式,8086/8088CPU是采用40条引脚DIP(双列直插式)封装。1、8086/8088CPU两种工作方式2、两种工作方式的公用引脚3、最小工作方式引脚4、最大工作方式引脚,CPU工作方式,1、最小工作方式 系统中只有一个微处理器8088(或8086),所有的总线控制信号都直接由8088(或8086)产生,这种方式适合较小规模的应用。2、最大工作方式 系统中可以只有一个处理器,也可以有两个或以上的微处理

3、器,其中一个作为主处理器,其他作为后援处理器,用来协助主处理器处理某些方面的工作,这种方式是在需要8088构成中等或较大系统。,五、8086/8088的操作及其时序,1、时钟周期(Clock Cycle)8086/8088CPU的所有操作均是在时钟脉冲CLK的统一控制下进行的。由外部的一片8284A芯片提供;若时钟频率为5MHz(也称主频),则时钟周期或一个T状态是200ns。2、指令周期 执行一条CPU指令所需的时间,称为一个指令周期。一个指令周期是由若干个总线周期组成。,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)CPU执行指令过程中,执行访问存储器或I/O端口

4、的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期(分“读”和“写”)。一个基本的总线周期有四个T状态组成。在第一个T状态(T1)CPU发送20位地址,并产生地址锁存信号,把地址装入地址锁存器;,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)在第二个T状态(T2),CPU从总线上撤销地址,并将总线低16位输出设置成高阻,为读入数据作准备,或在低16位总线上送出写数据,准备进行写操作。在总线的高4位,输出总线周期状态(S6S3),这些状态信息主要用于诊断监视。,五、8086/8088的操作及其时序,3、总线周期(Bus Cycl

5、e)在T3状态,CPU高4位继续提供状态信息;在低16位地址/数据线上,或者连续发出写数据,或者采样读入数据。如果被选中的存储器或 I/O不能以CPU的最大传送速率传送数据,则该设备必须通知CPU“未准备好”,迫使CPU在T3状态后插入等待状态TW。CPU在T3的上升沿采样READY信号,是低电平,就插入等待状态TW。,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle)当选中的设备完成它的读写操作时,它就发出“准备就绪(READY)”信号,迫使CPU脱离TW状态并继续工作。如果执行的总线周期是读周期,CPU则在最后一个等待状态的结束读取数据。总线周期在T4状态结束,选中的

6、设备在逻辑上与总线脱离。,五、8086/8088的操作及其时序,4、CPU时序 一个微机系统要完成各种任务,需要执行许多操作,这些操作也是在时钟周期的同步下,按时序一个状态一个状态地执行,这样,就构成了CPU的操作时序。系统复位和启动操作;总线操作;中断操作;暂停操作;总线保持或总线请求/允许操作。最小方式下的读总线周期 最小方式下的写总线周期,最小方式下的读总线周期,最小方式下的写总线周期,1、8086/8088CPU的内部结构,8位微处理器执行一段程序是通过重复执行以下步骤来完成的。从内存中取出一条指令,分析指令操作码;读出一个操作数(如果指令需要操作数);执行指令;将结果写入内存储器(如

7、果指令需要)。微处理器在取指令、取操作数和存储操作数时要占用总线;分析操作码和执行指令时不占用总线。(图示),1、8086/8088CPU的内部结构(2),8086/8088CPU内部结构基本相同,有20条外部地址总线,可以寻址1M内存空间;8086CPU的内部和外部数据总线均是16位,是典型的16位微处理器;8088CPU内部数据总线是16位,外部数据总线是8位,所以被称为准16位微处理器。,1、8086/8088CPU的内部结构,8086/8088CPU设计成两个独立的功能部件:(1)执行部件EU;(2)总线接口部件BIU。EU和BIU能相互独立地工作,能使大部分的取指令和执行指令重叠进行

8、。EU执行的是BIU在前一时刻取出的指令;同时,BIU又再取出EU在下一时刻要执行的指令。(图示)8086/8088CPU的内部结构简图,执行部件(Execution UnitEU),作用:执行指令,与外界的联系必须通过总线接口部件。EU负责从BIU(总线接口部件)的指令队列中取指令,并对指令译码;根据指令要求,向EU内部各部件发出控制命令以完成各条指令的功能。说明:对8086/8088来说,EU完全一样,执行部件(Execution UnitEU),EU主要完成两种类型的操作:算术运算和逻辑运算(由算术逻辑单元ALU完成);按指令的寻址方式计算出16位的偏移地址,并将它送到BIU(总线接口部

9、件)中,形成20位的实际地址。当EU执行完一条指令,就再到BIU的指令队列前部取出BIU预先读入的指令代码。若指令队列是空的,则EU处于等待状态;一旦指令队列中有一条指令,EU立即取出执行。,总线接口部件(Bus Interface UnitBIU),作用:根据EU的请求,完成CPU与存储器、CPU与I/O之间的信息传送。取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据EU命令对指定存储单元或I/O端口存取数据。说明:对8086/8088来说,BIU有差别:8088外部数据总线是8位,指令队列是4个字节;8086的外部数据总线是16位,指令队列是6个字节。,总线接口部件(B

10、us Interface UnitBIU),BIU指令队列中,若出现一个空字节(8086是两个空字节),而且EU(执行部件)没有命令BIU对存储器或I/O端口进行访问,则BIU自动执行总线操作,读出指令并填入指令队列中,直至满为止(8088是4个字节,8086是6个字节)。当EU(执行部件)执行完转移、调用和返回指令时,BIU将清除原队列中的内容,从新地址重新开始取指令,新取的第一条指令将直接送到EU去执行,随后取来的指令填入指令队列。当指令队列已填满指令,而又没有访问存储器或I/O端口的命令,BIU进入空闲状态。,8088微处理器的内部结构框图,通用寄存器组,暂存寄存器,标志寄存器,EU控制

11、器,段寄存器组指令指针IP,内部寄存器,指令队列,总线控制电路,BIU(总线接口部件),ALU数据总线(16位),地址总线(20位),数据总线(16位),(执行部件)EU,(8位),8086/8088,总线,EU与BIU之间的通讯,16位的ALU数据总线和8位的指令队列总线用于EU内部和EU与BIU之间的通讯。16位CPU内部工作过程简述如下:1)EU部件从BIU部件的指令队列前部取出指令(指令代码和数据),然后对指令进行译码,并执行指令规定的操作;2)在执行指令的过程中,如果指令要求访问存储器或I/O端口,那么,EU(执行部件)就会请求BIU(总线接口部件),进入总线周期,完成要求的操作。,

12、ALUArithmetic and Logic UnitALU算术逻辑单元;,取指令和执行指令示意图(1),8位CPU(如8080),取指令和执行指令示意图(2),8位CPU(如8080),16位CPU(8086/8088),8086/8088的寄存器结构,8086/8088CPU内部具有13个16位寄存器和1个16位但只用了9位的标志寄存器:1)通用寄存器组(8个);2)段寄存器组(4个);3)控制寄存器组(2个)。,图示,通用寄存器组,共有8个16位的通用寄存器:数据寄存器地址指针寄存器和变址寄存器,数据寄存器,AX、BX、CX、DX,用于存放16位的数据和地址。可以拆分成AH、AL、BH

13、、BL、CH、CL、DH、DL,用来存放8位数据,可以独立寻址,独立使用。隐含使用:AX作为累加器;BX作为基址寄存器;CX作为计数寄存器;DX在乘除运算中做辅助累加器。,地址指针寄存器和变址寄存器,SP、BP、SI、DI,都是16位寄存器,可以存放数据,通常用来存放逻辑地址的偏移量,是形成20位物理地址的其中一部分。,地址指针寄存器和变址寄存器,SP堆栈指针,是栈顶的偏移量。BP基址指针,用于存放位于堆栈段中的一个数据区基址的偏移地址。SI源变址寄存器,存放源操作数地址的偏移量;DI目的变址寄存器,存放目的操作数地址的偏移量;SP、BP的段基址由寄存器SS提供,SI、DI其段基址由寄存器DS

14、提供。,段寄存器组(Segment register),8086/8088CPU把可以直接寻址的1M字节的内存空间,分成称为“段”的逻辑区域,每个“段”的物理长度为64K(216),而段的起始地址由4个“段寄存器”决定。CS代码段寄存器,指向当前的代码段,指令由此段中取出;DS数据段寄存器,指向当前的数据段;SS堆栈段寄存器,存放当前的堆栈段的段基址;ES附加段寄存器,存放附加数据段的段基址,在进行字符串操作时,作为目的地址使用。,控制寄存器组,指令指针IP标志寄存器,指令指针(Instruction PointerIP),指令指针IP是一个16位寄存器,总是存放着下一次要取出的指令的偏移地址

15、。特点:1)用户程序不能使用IP,它由BIU(总线接口部件)自动修改;2)转移指令、过程调用指令和返回指令会改变IP的内容。,标志寄存器(Flag RegisterFR),标志寄存器FR是一个16位寄存器,其中9位作为标志位:其中6个状态标志由EU(执行部件)设置,反映ALU算术或逻辑运算结果的某些特征;其他3个是控制标志位,用来控制微处理器的某些操作,可以由指令设置。,6个状态标志位,CF进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0;OF溢出标志,带符号数进行

16、算术运算时,其结果超出了8位或16位的表示范围,产生溢出,则OF=1,否则OF=0;,6个状态标志位,ZF零标志,运算结果各位都为零,则ZF=1,否则ZF=0;SF符号标志,运算结果为负数时,即运算结果的最高位为1,则SF=1,否则SF=0;PF奇偶标志,反映操作结果中“1”的个数的情况,若有偶数个“1”,则PF=1,否则PF=0。,3个控制标志位,DF方向标志,用来控制数据串操作指令的步进方向;当设置DF=1时,将以递减顺序对数据串中的数据进行处理。当设置DF=0时,递增。IF中断允许标志,当设置IF=1,开中断,CPU可响应可屏蔽中断请求;当设置IF=0时,关中断,CPU不响应可屏蔽中断请

17、求。TF陷阱标志,为程序调试而设的。当设置TF=1,CPU处于单步执行指令的方式;当设置TF=0时,CPU正常执行程序。,1、存储器组织,8086/8088系统中的存储器按字节编址,8086/8088CPU有20条地址线,可寻址的最大存储空间是220=1M,每个字节对应唯一一个20位的物理地址。,表示为:(00000H)=23H(00001H)=11H(FFFFFH)=64H,1、存储器组织,当存放的数据是一个字时,其低字节放在低地址,高字节放在高地址;字的地址用低字节的地址表示。表示为:,字,字,字,(FFFFEH)=6409H,(00000H)=1123H,(FFFFDH)=09A8H,1

18、、存储器组织,当字的地址是偶数地址时,即从偶数地址开始存放,称这样存放的字为规则字;,规则字,非规则字,规则字,当字的地址是奇数地址时,即从奇数地址开始存放,称这样的字为非规则字。,1、存储器组织,存储器与8086CPU连接时,1M的空间,实际被分成两个512K的存储空间。,(A0=0 且BHE=0,两库同时被选中),1、存储器组织,存储器与8086CPU连接时,对规则字的存取,需要一个总线周期;对非规则的存取,则需要两个总线周期。,1、存储器组织,存储器与8088CPU连接时,因8088外部的数据总线是8位,因此对应的1M的存储空间是单一的。,对8088来说,每一个总线周期只能完成一个字节的

19、存取操作。,2、存储器的分段和物理地址的形成,CPU内部所有寄存器和ALU都是16位的,不能直接寻址1M内存空间。8086/8088把1M存储空间分成若干逻辑段,每段最多为64KB,各逻辑段的起始地址叫基址;段内任意一个存储单元的地址,可用相对于基址的偏移量来表示,称为段内偏移地址,通常存放于IP、SP、SI和DI中。逻辑地址的表示格式:段基址:偏移地址,2、存储器的分段和物理地址的形成,逻辑地址的表示格式:段基址:偏移地址物理地址=段基址10H偏移地址 如:已知某存储单元的逻辑地址为2000H:3300H,求该存储单元的物理地址?解:物理地址=段基址10H偏移地址=2000H 10H3300

20、H=23300H,1、8086/8088CPU两种工作方式公用引脚,*引脚40,电源输入端,5V;*引脚1、20,接地端;*引脚19,时钟信号输入端,常用5MHz。(通常用8284A时钟发生器)(1)地址/数据总线(2)地址/状态总线(3)控制总线和其他控制线,2、最小工作方式引脚,当MN/MX(33号引脚)接+5V时,8086/8088处于最小工作方式,整个系统只有一片CPU,所有的总线控制信号都由该CPU产生。(24 31脚)INTA中断响应信号(24脚,输出),是CPU对外设的中断请求的回答信号,是位于两个连续基本总线周期中的两个负脉冲,在T2 T3 Tw状态为负。第一个负脉冲通知外围设

21、备的接口,它发出的中断请求已经得到允许;第二个负脉冲,外设将中断类型码送往数据总线。,2、最小工作方式引脚,ALE地址锁存允许信号(25脚,输出),是CPU在每个总线周期T1发出的;高电平表示当前地址/数据复用线上输出的是地址信息;利用它的下降沿把地址信号和BHE信号锁存在8282地址锁存器中。,2、最小工作方式引脚,DEN数据允许信号(26脚,输出,三态),表示CPU准备好接受和发送数据,是CPU提供双向数据收发器8286的选通信号。在访问存储器和I/O,或中断响应周期均有效;在DMA下,被设置为高阻。,2、最小工作方式,DT/R数据收发信号(27脚,输出,三态),在系统使用双向数据收发器8

22、286时,用其控制数据的传送方向。此引脚为高电平时,则CPU进行数据发送;此引脚为低电平时,CPU进行数据接受;在DMA方式,被设置为高阻。,2、最小工作方式,M/IO(8088)存储器/IO控制信号(28脚,输出,三态)高电平表示访问I/O,低电平表示访问存储器,通常该引脚接至存储器或接口芯片的片选CS端;当DMA时,被设置为高阻。(注:8086和8088相反)WR写信号(29脚,输出,三态)此引脚低电平时,表示CPU正在执行存储器或I/O的写操作。在写周期,WR在T2T3TW有效;在DMA被设置为高阻。,2、最小工作方式,HOLD总线保持请求信号(31脚,输入),是系统中其他总线主控部件向

23、CPU发出的请求占用总线的申请信号。HLDA总线保持响应信号(30脚,输出),是CPU对请求占用总线使用权的响应信号。,2、最小工作方式,HOLD和HLDA是一对应答信号。当系统中某一总线主控部件要求占用总线时,向CPU的HOLD引脚发出一个高电平的请求信号;如果CPU允许,就在当前总线周期的T4状态,从HLDA引脚上发出一个高电平的应答信号,同时,使具有三态功能的地址/数据总线和控制总线处于浮空。总线请求部件收到HLDA后,获得总线控制权。此时,HOLD和HLDA保持高电平;当用完总线后,HOLD变为低电平,CPU再度获得总线控制权。,2、最小工作方式,对8088CPU来说,第34引脚为SS

24、O,与27脚的DT/R、28脚的M/IO的组合,反映了当前总线周期的操作,表。最小工作方式引脚列表 最小方式的典型结构,最小方式的典型结构,8282地址锁存器,8286双向数据收发器,ALE信号将地址信号和BHE装入锁存器,OE接地(总是允许输出),所以8282锁存的地址信号和BHE立即送到总线上,保证了地址信息不会丢失。,8282地址锁存器,在CPU与存储器或I/O设备交换信息时,CPU必须首先发送存储器和I/O端口的地址,然后才能传送数据。由于8086/8088CPU地址线与数据线是分时复用的,所以在数据占有总线以前,必须先将总线上的地址码用地址锁存器暂存起来。所谓地址锁存器就是一个暂存器

25、,根据CPU控制信息的状态,将总线上的地址码暂存起来。这样在读写总线周期由地址锁存器提供地址信号。,8282地址锁存器,8086/8088系统常用8282芯片作地址锁存器。,8282是带有三态输出缓冲器的8位锁存器,共20条引脚。选通信号STB由高变低时满足建立时间要求的输入数据被锁入锁存器中。,保持STB为高电平,就使锁存器变得透明。驱动OE输入端,数据就出现在输出端上;当OE高电平时,输出缓冲器处于高阻状态。,8286双向数据收发器,在8086/8088组成的系统中,由于地址线/数据线是分时复用的,所以地址锁存是必不可少的,而CPU进行读写数据操作时,它不可能再发送地址,所以数据锁存则不是

26、必须的。存储器与I/O的数据线可以直接与CPU的数据线相连的。但CPU的负载能力有限,一般使用总线驱动器增加处理器带负载能力。由于数据在CPU与存储器和I/O接口之间的传送是双向的,所以要求总线驱动器是双向的,所以,又被称为双向数据收发器。,8286双向数据收发器,8286是常用的8位双向总线驱动器,引脚T是控制收发方向。T为高电平,由A端输入传送至B端;T为低电平,则由B端输入传送至A端。,OE是一个用于开启相应的输出驱动器,将数据送入相应的总线上去的输入控制信号。当OE是低电平时,才允许8286传送数据;否则,8286高阻输出。,2、最小工作方式,SSO,与DT/R、M/IO的组合及对应操

27、作(8088),3、最大工作方式,当MN/MX(33号引脚)接地时,8086/8088处于最大工作方式,系统的总线控制信号由专用的总线控制器8288提供。最大方式用于多处理器和协处理器的结构中。最大工作方式引脚列表,(1)地址/数据总线(AD15AD0),是分时复用总线,三态。在总线周期T1内,它们是用来输出要访问的存储器地址或I/O端口地址A15A0;在总线周期的其他时间内,作为双向数据总线:对8086就是D15D0;对8088就是D7D0。,(2)地址/状态总线A19/S6 A16/S3,是分时复用总线,输出,三态。在总线周期T1内,它们是用来输出要访问的存储器地址的高4位A19A16;在

28、总线周期的其他时间内,这4条线作为输出CPU的状态信息。i)S6恒为0,指示当前CPU与总线相连;)S5反映中断允许标志IF的值;)S4和S3组合值用来指示当前正在使用哪个段寄存器。,S4和S3的编码含义,当进行DMA(Direct Memory Access直接存储器存取方式),A19/S6 A16/S3这些引脚被设置为高阻状态。,(3)控制总线,BHE/S734脚*,对8086,高8位数据总线允许/状态信号,输出,三态,也是分时复用总线。在总线周期T1内,作为D15D8允许信号,低电平有效,BHE其实就是Bus High Enable;如输出高电平,表示只使用低8位数据线 D7D0;在总线

29、周期的其他T状态,输出S7,目前未有定义。,*说明:此34引脚仅对8086,8088与其不同。,(3)控制总线,BHE与A0(AD0)组合控制传送数据的格式。,(3)控制总线,SSO34脚,对8088,BHE 变成了SSO(System Status Output,输出)最小方式时与另外两个引脚组合提供状态信息;最大方式始终为高电平。,(3)控制总线,RD读控制(32脚,输出,低电平有效),表示CPU正在读存储器或I/O端口输入;,(3)控制总线,READY准备好信号(22脚,输入),是由所访问的存储器或I/O设备发来的响应信号,高电平表示数据已经准备就绪,马上可以进行一次数据传送。CPU在总

30、线周期T3,对READY进行采样;如果READY为低电平,则会继续插入等待状态TW,在TW状态,CPU继续对READY信号进行采样,直到READY信号有效为止(即转为高电平);等待状态的插入延长了总线周期,不过,为了保证CPU与存储器和I/O之间传送数据的配合,这是必须的。,(3)控制总线,TEST测试信号(23脚,输入),当CPU执行WAIT指令时,每隔5个时钟周期对此引脚测试一次,是高电平时,CPU继续等待,一直等到出现低电平,CPU才开始执行下一条指令。,(3)控制总线,INTR中断请求(18脚,输入),是可屏蔽中断请求信号,当此引脚为高电平时,表示外设提出了中断请求。(INTR:int

31、errupt request)CPU在每一条指令的最后一个时钟周期对INTR引脚进行测试,若为高电平,而且中断允许标志 IF1,则在该指令执行完毕后,响应中断请求。NMI非屏蔽中断请求(17脚,输入,上升沿触发),当该引脚输入一个由低电平变高电平的信号时,CPU会在执行完当前指令后,响应中断请求。不受IF影响,不能用指令加以屏蔽。(NMI:nonmaskable interrupt),(3)控制总线,RESET复位信号(21脚,输入),高电平持续4个时钟周期以上有效。复位信号有效后,FR、IP、DS、SS、ES和指令队列清零,(CS)=FFFFH。RESET变为低电平时,CPU从FFFF0H开始执行程序。,(3)控制总线,MN/MX最小/最大工作方式(33脚,输入)该引脚接高电平时,表示CPU工作于最小工作方式;该引脚接地时,表示CPU工作于最大工作方式。,8088引脚公用信号列表,8086/8088引脚信号定义(1),8086/8088引脚信号定义(2),8086/8088引脚信号定义(3),

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号