8086微处理器及其系统课件.ppt

上传人:小飞机 文档编号:2139087 上传时间:2023-01-17 格式:PPT 页数:59 大小:2.66MB
返回 下载 相关 举报
8086微处理器及其系统课件.ppt_第1页
第1页 / 共59页
8086微处理器及其系统课件.ppt_第2页
第2页 / 共59页
8086微处理器及其系统课件.ppt_第3页
第3页 / 共59页
8086微处理器及其系统课件.ppt_第4页
第4页 / 共59页
8086微处理器及其系统课件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《8086微处理器及其系统课件.ppt》由会员分享,可在线阅读,更多相关《8086微处理器及其系统课件.ppt(59页珍藏版)》请在三一办公上搜索。

1、8086 微处理器及其系统,主要内容8086 微处理器8086 系统的最小/最大工作方式8086 存储器,8086 微处理器,8086是Intel系列的16位微处理器。8086采用HMOS工艺,集成2.9万个晶体管,单一的+5V电源,40条引脚,双列直插式封装,时钟频率510MHz,最快的指令执行时间为0.4s。8086有16根数据线,20根地址线,寻址1MB的存储单元和64KB的I/O端口。,8086 CPU的内部结构,从功能上讲,可分为两个独立部分,并行重叠操作。,8086 微处理器,总线接口单元(Bus Interface Unit,BIU),BIU从内存预取指令送到指令队列缓冲器;CP

2、U执行指令时,BIU配合EU对指令的内存单元或I/O端口存取数据。,负责完成CPU与存储器或I/O设备之间的数据传送。即,8086 微处理器,执行单元(Execution Unit,EU),负责执行指令,即,执行的指令从BIU的指令队列缓冲器中取得;指令执行的结果或所需要的数据,由EU向BIU发出请求;再由BIU对存储器或I/O端口进行存取。,8086 微处理器,4个16位段地址寄存器 代码段寄存器(Code Segment)数据段寄存器(Data Segment)堆栈段寄存器(Stack Segment)附加段寄存器(Extra Segment),16位指令指针寄存器 IP(Instruct

3、ion Pointer)6字节指令队列缓冲器 20位地址加法器 总线控制器,总线接口单元组成,1.指令队列缓冲器,用于存放预取的指令。8086指令队列为6个字节。在执行指令的同时,从内存中取下面1条或几条指令,取来的指令依次放在指令队列中。采用“先进先出”的原则。,“先进先出”原则:按顺序存放,并按顺序取到EU中去执行。,总线接口单元组成,2.地址加法器和段寄存器,8086有20根地址线,内部寄存器只有16位。,“段加偏移”技术:,段寄存器存放确定各段起始地址的16位段地址信息。由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址,也称为逻辑地址或简称偏移量。将偏移地址与左移4位后的段寄

4、存器内容同时送到地址加法器,相加后形成20位实际地址。,总线接口单元组成,3.16位指令指针(Instruction Pointer,IP),IP中含有BIU要取的下一条指令(字节)的偏移地址。,IP在程序运行中自动加1,指向要执行的下一条指令(字节)。,总线接口单元组成,16位算术逻辑单元(ALU)算术、逻辑运算,计算16位偏移量16位标志寄存器F CPU的运算状态特征或存放控制标志数据暂存寄存器 协助ALU完成运算通用寄存器组 4个16位数据寄存器,4个16位指针与变址寄存器EU控制电路 控制、定时与状态逻辑电路,执行单元组成,8086内部寄存器结构共有13个16位寄存器和1个只用了9位的

5、16位标志寄存器。,8086的寄存器结构,数据寄存器 4个16位:AX,BX,CX,DX 8个8位:AH,AL;BH,BL;CH,CL;DH,DL,多数情况下,用于算术运算或逻辑运算指令中。,有些指令中,有特定的用途。,通用寄存器,指针寄存器和变址寄存器(16位,存放偏移地址),指针寄存器(P组):堆栈指针寄存器SP和基址指针寄存器BP。当前堆栈段中数据所在的地址。,SP(Stack Pointer):给出栈顶的偏移地址(入栈和出栈指令时)。,BP(Base Pointer):存放位于堆栈段中的数据区基地址的偏移地址。,通用寄存器,变址寄存器(I组)源变址寄存器SI和目的变址寄存器DI。存放当

6、前数据段的偏移地址。,SI(Source Index):源操作数的偏移地址。,DI(Destination Index):目的操作数的偏移地址。,通用寄存器,数据寄存器的隐含使用,通用寄存器,4个16位段寄存器CS(Code Segment):存放代码段的段地址。SS(Stack Segment):存放堆栈段的段地址。DS(Data Segment):存放数据段的段地址。ES(Extra Segment):存放附加段的段地址,用于存放处理后的数据。,段寄存器是为实现“段加偏移”寻址基址而设置的。,段寄存器,8086 CPU有20条地址线,具有寻址1MB存储空间。8086指令中给出的地址码仅有1

7、6位,指针寄存器和变址寄存器也只有16位,不能直接寻址1MB的内存空间。,用8086 CPU内部一组16位段寄存器内容作为段地址,再由段寄存器左移4位形成20位的段起始地址,称为段基地址或段基址。将1MB存储空间分成为若干个逻辑段,使每个逻辑段的长度为64KB。,段寄存器,8086 标志寄存器F为16位,用了其中9位。6个状态标志位:CF,PF,AF,ZF,SF,OF3个控制标志位:DF,IF,TF,0,7,8,15,FL,FH,2,4,6,9,10,11,溢出标志,方向标志,中断允许标志,跟踪标志,进位标志,奇偶标志,辅助进位标志,零标志,符号标志,标志寄存器,状态标志位:反映算术或逻辑运算

8、后结果状态。,CF(Carry Flag):进位标志,D0位。执行结果在最高位上产生了一个进位或借位,CF=1;无进位或借位,CF=0。会受循环指令影响。,PF(Parity Flag):奇偶性标志,D2位。执行结果的低8位中有偶数个”1”时,PF=1;否则PF=0。机器中传递信息时,对产生的代码出错情况提供检测条件。,标志寄存器,AF(Auxiliary Flag):辅助进位标志,D4位。执行结果的低4位向高4位有进位或借位时,AF=1;否则AF=0。一般用在BCD码运算中。,ZF(Zero Flag):零标志,D6位。如运算结果为零,ZF=1;如运算结果不为零,ZF=0。,标志寄存器,SF

9、(Sign Flag):符号标志,D7位。如运算结果为负数,SF=1;如运算结果为正数,ZF=0。,OF(Overflow Flag):溢出标志,D11位。如带符号数在进行算术运算时产生了溢出,OF=1;如无溢出,OF=0。溢出表示运算结果已经超出机器能够表示的数值范围。,标志寄存器,控制标志位:控制CPU的操作,由程序设置或清除。,DF(Direction Flag):方向标志,D10位。控制数据串操作指令的步进方向。,标志寄存器,IF(Interrupt Flag):中断允许标志,D9位。控制可屏蔽中断。若用指令STI将IF=1,允许接受外部从INTR引脚发来的可屏蔽中断请求;若用指令CL

10、I将IF=0,禁止接受外部发来的可屏蔽中断请求。IF的状态不影响非屏蔽中断(NMI)请求,也不影响CPU响应内部的中断请求。,标志寄存器,TF(Trap Flag):跟踪(陷井)标志,D8位。为方便调试程序而设置的。若TF=1,CPU处于单步工作方式;若TF=0,正常执行程序。,标志寄存器,时序:三种总线上出现的信息不但有严格的顺序,而且有准确的时间,称为定时或时序。时钟:时钟脉冲发生器产生具有一定频率和占空比的脉冲信号,称之为机器的主脉冲或时钟。主频:时钟的频率,是机器的一个重要指标。时钟周期:主频的倒数,是CPU的基本时间计量单位。也叫一个T周期或T状态,或一个节拍。8086主频为5MHz

11、,则一个时钟周期为200ns。总线周期:在取指令和传送数据时,CPU总线接口部件占用的时间称为总线周期或机器周期。,总线周期,一个最基本的总线周期由4个时钟周期组成:用 T1,T2,T3,T4 表示,总线周期,T1状态:CPU往多路复用总线上发送地址信息,选中所要寻址的存储单元或外设端口地址。,T2状态:CPU从总线上撤销地址,并使总线的低16位浮置成高阻状态,为传送数据作准备。,T3状态:总线的高4位继续提供状态信息,低16位将出现由CPU写出的数据,或CPU从存储器或者外设端口读入的数据。,总线周期,等待状态:有些情况下,I/O或M不能及时配合CPU传送数据,在T3状态启动之前它会通过 R

12、EADY 引脚向CPU发一个“未准备好”信号。CPU在T3状态之后自动插入若干个时钟周期Tw。直至CPU接受到“准备好”信号,自动脱离Tw状态进入T4。,T4状态:总线周期结束。,空闲周期TI:两个总线周期之间,若干个时钟周期。,总线周期,8086CPU引脚特性,数据/地址、状态/地址复用线的特点,功能各异:不同控制线具有不同的作用 方向确定:仅为单向输入或输出 电平触发:不同控制线有不同的电平触发方式,VCC+5V GND 地,控制线的特点,电源线,8086CPU引脚特性,分时总线复用:同一总线在不同时间传输的是不同的信号,这些信号的作用是不同的。8086 采用总线分时复用方法在不影响CPU

13、功能的情况下,减少了CPU的引脚数目,使系统得到简化。,分时复用地址/数据总线:AD15AD0(引脚39,2-16,16根)传送地址时:单向,三态输出 传送数据时:双向,三态输入输出,T1状态:输出要寻址的存储器或I/O端口地址;T2状态:浮置成高阻状态,为传输数据作准备;T3状态:用于传输数据;T4状态:结束总线周期。,通过分时复用利用40条引脚实现20位地址、16位数据及众多控制信号和状态信号的传输。,8086CPU引脚特性,分时复用地址/状态总线:A19/S6A16/S3(引脚35-38,4根)输出,三态。,T1状态:输出地址的最高4位;T2T4状态:输出状态信息。访问存储器:T1状态时

14、输出的A19A16送到锁存器(8282)锁存,与AD15AD0组成20位的地址信号;访问I/O端口:不使用这4条引线,A19A16=0。,S6为0,8086当前与总线相连。S5表明中断允许标志位IF的当前设置。S4和S3指示当前正在使用哪个段寄存器。,8086CPU引脚特性,电源线和地线:3根 1个电源线Vcc(引脚40):输入电压+5V10%2个地线GND(引脚1,20):均接地,8086CPU引脚特性,控制总线:8根,(引脚34):高8位数据总线允许/状态复用 三态,输出,在总线周期的T1状态时输出,S7在T2T4时输出。8086中,当 引脚上输出 信号时,表示总线高8位AD15AD8上的

15、数据有效,存储体奇库选择控制。S7在8086中未被赋予定义。,8086CPU引脚特性,(引脚32):读控制,三态,输出,低有效,=0时,CPU将执行对M或I/O端口的读操作。,对内存单元还是对I/O端口读取数据,取决于(8086)或(8088)信号。,在一个读操作的总线周期中,信号在T2、T3和Tw状态均为低电平,以保证CPU读有效。,8086CPU引脚特性,(引脚22):“准备好”信号,输入,高有效 由所寻址的M或端口发出,READY=1时,表示所寻址的M或I/O设备已准备就绪,马上可进行一次数据传输。,CPU在每个总线周期的T3状态开始对READY信号采样。,READY=0,表示M或I/O

16、设备尚未准备好,则CPU在T3状态之后自动插入一个或几个等待状态Tw,直到READY 变为高电平,进入T4状态,完成数据传送过程。,8086CPU引脚特性,(引脚23):等待测试信号,输入,低有效,当CPU执行WAIT指令时,进入空转等待状态,且每隔5个时钟周期对该线的输入进行一次测试;,若=1时,CPU将停止取下条指令而继续处于等待状态,重复执行WAIT指令,直至=0时,等待状态结束,CPU才继续往下执行被暂停的指令。,8086CPU引脚特性,(引脚18):可屏蔽中断请求,输入,高有效,INTR=1时,表示外设提出了中断请求,8086/8088在每个指令周期的最后一个T状态去采样此信号。,若

17、IF=1,CPU响应中断,停止执行当前的指令序列,并转去执行中断服务程序。,8086CPU引脚特性,(引脚17):非屏蔽中断请求,输入,上升沿触发,此请求不受IF状态的影响,也不能用软件屏蔽,只要此信号一出现,CPU就会在现行指令结束后引起中断。,8086CPU引脚特性,与8284A(时钟发生/驱动器)的复位输出端相连;,(引脚21):复位信号,输入,高有效,8086 要求复位脉冲宽度不得小于4个时钟周期,而初次接通电源时所引起的复位,则要求维持的高电平不能小于50s;,复位后,CPU的主程序流程恢复到启动时的循环待命初始状态。,8086CPU引脚特性,(引脚19):系统时钟,输入,通常与82

18、84A时钟发生器的时钟输出端CLK相连,该时钟信号的低/高之比常采用2:1(占空度为1/3)。,8086CPU引脚特性,其它控制线(引脚24-31):8个,,8086工作于最小方式,全部控制信号由CPU本身提供;,,8086工作于最大方式,控制信号由8288总线控制器提供。,这些控制线的性能,根据方式控制线(引脚33)所处状态而定。,8086CPU引脚特性,条件特点应用,最小工作模式:控制线 MN/MX=H最大工作模式:控制线 MN/MX=L,最小工作模式:控制线由CPU自身产生最大工作模式:控制线由芯片8288产生,最小工作模式:硬件简单,用于专用机最大工作模式:硬件复杂,用于系统机,808

19、6CPU工作方式,接电源电压,系统处于最小方式,即单处理器系统方式;,时钟信号发生器8284A:外接晶体的基本振荡频率为15MHZ,经8284A三分频后。送给CPU作系统时钟CLK。,8位地址锁存器8282:锁存后地址信号,在整个周期保持不变。,三态输出的8位数据总线收发器8286:用于增加系统的驱动能力。,等待状态产生电路:向8284A的 RDY端提供一个信号,经同步后,向CPU的READY线发“准备就绪”信号,通知 CPU数据传送已完成,可退出当前总线周期。,最小工作方式,最小工作方式,接地,系统处于最大方式,含两个或多个处理器,需解决主处理器和协处理器之间协调工作,及总线共享问题。,时钟

20、发生/驱动器8284A:1片,8位地址锁存器8282:3片,三态输出的8位数据总线收发器8286:2片,等待状态产生电路:,总线控制器8288:对CPU发出的控制信号变换、组合,得到对M或I/O的读/写信号,对8282和8286的控制信号。,最大工作方式,最大工作方式,8086存储器组织,20条AB,寻址1M存储空间;按字节组织,每个字节唯一地址;字节:顺序存放字:低位字节放在低地址中 高位字节放在高地址中双字:低位字是偏移量 高位字是段地址规则字:低位字节存放在偶数地址非规则字:低位字节存放在奇数地址,字节的存取需要1个总线周期。,数 据,偶数地址,奇数地址,(a)读偶数地址中的字节,(b)

21、读奇数地址中的字节,被读字节,忽略,数 据,偶数地址,奇数地址,被读字节,忽略,8086存储器组织,规则字存取需要1个总线周期,非规则字存取需要2个总线周期。,数据,偶数地址,奇数地址,数据,偶数地址,奇数地址,数据,(c)读偶数地址中的字,数据,(d)读奇数地址中的字,偶数地址,奇数地址,被读字,被读字节1,忽略,被读字节2,忽略,8086存储器组织,高位(奇数)库512K8,低位(偶数)库512K8,1MB 存储空间,分成2个512 KB的存储体(存储库);,低位库:与数据总线 相连,每个地址为偶数地址。高位库:与数据总线 相连,每个地址为奇数地址。,8086存储器组织,地址总线 可同时对

22、高、低位库的存储单元寻址,或 用于库的选择,分别接到库选择端。,8086存储器组织,20根地址总线,允许寻址1MB存储空间;IP、SP、SI、DI 都是16位,直接寻址大空间64KB;,为寻址1MB存储空间,实行分段管理,每一段最长为64KB。段和段之间关系:连续、分开、部分重叠、完全重叠;,存储器分段,每个段大小可从一个字节开始,任意递增,最多包含64KB长的连续存储单元;,每个段的20位起始地址(段基址),是能被16整除的数,即最后4位为零,可通过程序在段寄存器中装入16位段地址来设置;段地址是20位段基址的前16位。,1个程序所用的具体存储空间:1个或多个逻辑段;,段基址存在CS、SS、

23、DS、ES中,程序可从中给出的逻辑段中存取代码和数据;,段区的分配是由操作系统完成的,系统允许程序员指定。,存储器分段,实际地址(物理地址):CPU对存储器进行访问时的实际寻址所使用的地址,对8086来讲,用20位二进制数或5位十六进制数表示。,逻辑地址:程序和指令中表示的一种地址,由段地址和偏移地址两部分组成,用无符号的16位二进制或4位十六进制数表示。,段地址:16位段寄存器直接给出的16位地址。,偏移地址(偏移量或偏移):由指令寻址时的寄存器组合与位移量之和,16位的偏移量。表示所寻址的地址单元距离段起始地址之间的偏移。,一个实际地址可对应多个逻辑地址。,实际地址和逻辑地址,8086/8

24、088系统中的堆栈是用段定义语句在存储器中定义的一个堆栈段,如同其它逻辑段,可在1MB的存储空间中浮动。,一个系统堆栈数目不受限制,栈长度不超过64KB。,堆栈由段寄存器SS和堆栈指针SP来寻址 SS:给出堆栈段的段基址;SP:给定当前栈顶,即指出从堆栈的段基址到栈顶的偏移量。,栈顶是堆栈操作的唯一出口,是栈地址较小的一端。,堆栈,为加快堆栈操作的速度,均以字为单位进行。,SP,SS,栈顶,栈底,栈底,SP,SS,栈顶,AX,PUSH AX,SP,SS,栈底,栈顶,BX,POP BX,AX,POP AX,堆栈,重定位:一个完整的程序块或数据块,可在存储器所允许的空间内任意浮动,并定位到一个新的可寻址的区域。,“段加偏移”寻址机制允许重定位(或再定位)是一种重要特性。,原来为8086在实模式下运行所编写的程序,在以后80286以上高型号微处理器中,当系统由实模式转换为保护模式时也可运行。,各种通用计算机系统在运行同一软件和数据时能够保持兼容性。,重定位,59,Thank you!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号