微处理器及其体系结构.ppt_第1页
微处理器及其体系结构.ppt_第2页
微处理器及其体系结构.ppt_第3页
微处理器及其体系结构.ppt_第4页
微处理器及其体系结构.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

微机原理及应用,第二章 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接口芯片都有一个或几个端口,一个端口对应一个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、最大工作方式 系统中可以只有一个处理器,也可以有两个或以上的微处理器,其中一个作为主处理器,其他作为后援处理器,用来协助主处理器处理某些方面的工作,这种方式是在需要8088构成中等或较大系统。,五、8086/8088的操作及其时序,1、时钟周期(Clock Cycle) 8086/8088CPU的所有操作均是在时钟脉冲CLK的统一控制下进行的。由外部的一片8284A芯片提供; 若时钟频率为5MHz(也称主频),则时钟周期或一个T状态是200ns。 2、指令周期 执行一条CPU指令所需的时间,称为一个指令周期。 一个指令周期是由若干个总线周期组成。,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle) CPU执行指令过程中,执行访问存储器或I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问(存取一个字节)所需的时间称为一个总线周期(分“读”和“写”) 。 一个基本的总线周期有四个T状态组成。 在第一个T状态( T1 )CPU发送20位地址,并产生地址锁存信号,把地址装入地址锁存器;,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle) 在第二个T状态( T2 ),CPU从总线上撤销地址,并将总线低16位输出设置成高阻,为读入数据作准备,或在低16位总线上送出写数据,准备进行写操作。 在总线的高4位,输出总线周期状态( S6S3 ),这些状态信息主要用于诊断监视。,五、8086/8088的操作及其时序,3、总线周期(Bus Cycle) 在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状态结束,选中的设备在逻辑上与总线脱离。,4、CPU时序 一个微机系统要完成各种任务,需要执行许多操作,这些操作也是在时钟周期的同步下,按时序一个状态一个状态地执行,这样,就构成了CPU的操作时序。 系统复位和启动操作;总线操作;中断操作;暂停操作;总线保持或总线请求/允许操作。 最小方式下的读总线周期 最小方式下的写总线周期,最小方式下的读总线周期,最小方式下的写总线周期,1、8086/8088CPU的内部结构,8位微处理器执行一段程序是通过重复执行以下步骤来完成的。 从内存中取出一条指令,分析指令操作码; 读出一个操作数(如果指令需要操作数); 执行指令; 将结果写入内存储器(如果指令需要)。 微处理器在取指令、取操作数和存储操作数时要占用总线; 分析操作码和执行指令时不占用总线。(图示),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能相互独立地工作,能使大部分的取指令和执行指令重叠进行。 EU执行的是BIU在前一时刻取出的指令; 同时,BIU又再取出EU在下一时刻要执行的指令。(图示) 8086/8088CPU的内部结构简图,执行部件(Execution UnitEU),作用:执行指令,与外界的联系必须通过总线接口部件。 EU负责从BIU(总线接口部件)的指令队列中取指令,并对指令译码; 根据指令要求,向EU内部各部件发出控制命令以完成各条指令的功能。 说明:对8086/8088来说,EU完全一样,执行部件(Execution UnitEU),EU主要完成两种类型的操作: 算术运算和逻辑运算(由算术逻辑单元ALU完成); 按指令的寻址方式计算出16位的偏移地址,并将它送到BIU(总线接口部件)中,形成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个字节。,总线接口部件(Bus Interface UnitBIU),BIU指令队列中,若出现一个空字节(8086是两个空字节),而且EU(执行部件)没有命令BIU对存储器或I/O端口进行访问,则BIU自动执行总线操作,读出指令并填入指令队列中,直至满为止(8088是4个字节,8086是6个字节)。 当EU(执行部件)执行完转移、调用和返回指令时,BIU将清除原队列中的内容,从新地址重新开始取指令,新取的第一条指令将直接送到EU去执行,随后取来的指令填入指令队列。 当指令队列已填满指令,而又没有访问存储器或I/O端口的命令,BIU进入空闲状态。,8088微处理器的内部结构框图,通用寄存器组,暂存寄存器,标志寄存器,EU 控制器,段寄存器组 指令指针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(总线接口部件),进入总线周期,完成要求的操作。,ALUArithmetic and Logic Unit ALU算术逻辑单元;,取指令和执行指令示意图(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、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提供。,段寄存器组(Segment register),8086/8088CPU把可以直接寻址的1M字节的内存空间,分成称为“段”的逻辑区域,每个“段”的物理长度为64K(216),而段的起始地址由4个“段寄存器”决定。 CS代码段寄存器,指向当前的代码段,指令由此段中取出; DS数据段寄存器,指向当前的数据段; SS堆栈段寄存器,存放当前的堆栈段的段基址; ES附加段寄存器,存放附加数据段的段基址,在进行字符串操作时,作为目的地址使用。,控制寄存器组,指令指针IP 标志寄存器,指令指针(Instruction PointerIP),指令指针IP是一个16位寄存器,总是存放着下一次要取出的指令的偏移地址。 特点: 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溢出标志,带符号数进行算术运算时,其结果超出了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不响应可屏蔽中断请求。 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、存储器组织,当字的地址是偶数地址时,即从偶数地址开始存放,称这样存放的字为规则字;,规则字,非规则字,规则字,当字的地址是奇数地址时,即从奇数地址开始存放,称这样的字为非规则字。,1、存储器组织,存储器与8086CPU连接时,1M的空间,实际被分成两个512K的存储空间。,(A0 =0 且BHE=0, 两库同时被选中),1、存储器组织,存储器与8086CPU连接时,对规则字的存取,需要一个总线周期; 对非规则的存取,则需要两个总线周期。,1、存储器组织,存储器与8088CPU连接时,因8088外部的数据总线是8位,因此对应的1M的存储空间是单一的。,对8088来说,每一个总线周期只能完成一个字节的存取操作。,2、存储器的分段和物理地址的形成,CPU内部所有寄存器和ALU都是16位的,不能直接寻址1M内存空间。 8086/8088把1M存储空间分成若干逻辑段,每段最多为64KB,各逻辑段的起始地址叫基址; 段内任意一个存储单元的地址,可用相对于基址的偏移量来表示,称为段内偏移地址,通常存放于IP、SP、SI和DI中。 逻辑地址的表示格式: 段基址:偏移地址,2、存储器的分段和物理地址的形成,逻辑地址的表示格式: 段基址:偏移地址 物理地址= 段基址10H偏移地址 如:已知某存储单元的逻辑地址为2000H:3300H,求该存储单元的物理地址? 解:物理地址= 段基址10H偏移地址 =2000H 10H3300H =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状态为负。第一个负脉冲通知外围设备的接口,它发出的中断请求已经得到允许;第二个负脉冲,外设将中断类型码送往数据总线。,2、最小工作方式引脚,ALE地址锁存允许信号(25脚,输出),是CPU在每个总线周期T1发出的; 高电平表示当前地址/数据复用线上输出的是地址信息; 利用它的下降沿把地址信号和BHE信号锁存在8282地址锁存器中。,2、最小工作方式引脚,DEN数据允许信号(26脚,输出,三态),表示CPU准备好接受和发送数据,是CPU提供双向数据收发器8286的选通信号。 在访问存储器和I/O,或中断响应周期均有效; 在DMA下,被设置为高阻。,2、最小工作方式,DT/R数据收发信号(27脚,输出,三态),在系统使用双向数据收发器8286时,用其控制数据的传送方向。 此引脚为高电平时,则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脚,输入),是系统中其他总线主控部件向CPU发出的请求占用总线的申请信号。 HLDA总线保持响应信号(30脚,输出),是CPU对请求占用总线使用权的响应信号。,2、最小工作方式,HOLD和HLDA是一对应答信号。当系统中某一总线主控部件要求占用总线时,向CPU的HOLD引脚发出一个高电平的请求信号;如果CPU允许,就在当前总线周期的T4状态,从HLDA引脚上发出一个高电平的应答信号,同时,使具有三态功能的地址/数据总线和控制总线处于浮空。 总线请求部件收到HLDA后,获得总线控制权。此时,HOLD和HLDA保持高电平; 当用完总线后,HOLD变为低电平,CPU再度获得总线控制权。,2、最小工作方式,对8088CPU来说,第34引脚为SSO,与27脚的DT/R 、 28脚的M/IO的组合,反映了当前总线周期的操作,表。 最小工作方式引脚列表 最小方式的典型结构,最小方式的典型结构,8282地址锁存器,8286双向数据收发器,ALE信号将地址信号和BHE装入锁存器,OE接地(总是允许输出),所以8282锁存的地址信号和BHE立即送到总线上,保证了地址信息不会丢失。,8282地址锁存器,在CPU与存储器或I/O设备交换信息时,CPU必须首先发送存储器和I/O端口的地址,然后才能传送数据。 由于8086/8088CPU地址线与数据线是分时复用的,所以在数据占有总线以前,必须先将总线上的地址码用地址锁存器暂存起来。 所谓地址锁存器就是一个暂存器,根据CPU控制信息的状态,将总线上的地址码暂存起来。 这样在读写总线周期由地址锁存器提供地址信号。,8282地址锁存器,8086/8088系统常用8282芯片作地址锁存器。,8282是带有三态输出缓冲器的8位锁存器,共20条引脚。 选通信号STB由高变低时满足建立时间要求的输入数据被锁入锁存器中。,保持STB为高电平,就使锁存器变得透明。 驱动OE输入端,数据就出现在输出端上; 当OE高电平时,输出缓冲器处于高阻状态。,8286双向数据收发器,在8086/8088组成的系统中,由于地址线/数据线是分时复用的,所以地址锁存是必不可少的,而CPU进行读写数据操作时,它不可能再发送地址,所以数据锁存则不是必须的。 存储器与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的组合及对应操作(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; 在总线周期的其他时间内,这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 ; 在总线周期的其他T状态,输出S7,目前未有定义。,* 说明:此34引脚仅对8086,8088与其不同。,(3)控制总线,BHE与A0 ( AD0 )组合控制传送数据的格式。,(3)控制总线,SSO34脚,对8088, BHE 变成了SSO(System Status Outp

温馨提示

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

最新文档

评论

0/150

提交评论