收藏 分销(赏)

8086-微处理器及总线.pptx

上传人:丰**** 文档编号:9987274 上传时间:2025-04-16 格式:PPTX 页数:107 大小:1.56MB
下载 相关 举报
8086-微处理器及总线.pptx_第1页
第1页 / 共107页
8086-微处理器及总线.pptx_第2页
第2页 / 共107页
点击查看更多>>
资源描述
#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,1,第二章 微处理器和总线,透彻理解与熟练掌握,8086/8088,内部组成结构、,寄存器结构与总线周期等。,深入理解存储器的分段设计。,正确理解与熟练掌握物理地址和逻辑地址关系。,理解堆栈及其操作。,理解,“,段加偏移,”,寻址机制。,2,Intel,系列,CPU,一直占着主导地位。,Intel 8086/8088,、,Z8000,和,MC68000,为代表的,16,位微处理器是,第,3,代,产品,其性能已达到中、高档小型计算机的水平。,8086/8088,后续的,80286,、,80386,、,80486,以及,Pentium,系列,CPU,结构与功能已经发生很大变化,但从基本概念与结构以及指令格式上来讲,仍然,是经典,8086/8088CPU,的延续与提升,。,其它系列流行的,CPU(,如,AMD,公司的,6X86MX/M,等,),也与,80 x86CPU,兼容,。,前言(一),3,8086,是,Intel,系列的,16,位,微处理器。,8086,采用,HMOS,工艺,集成,2.9,万个,晶体管,,单一的,+5V,电源,,40,条,引脚,双列直插式,封装,,,时钟,频率,510MHz,,最快的指令执行,时间,为,0.4,s,。,8086,有,16,根数据线,,20,根地址线,寻址,1MB,的存储单元和,64KB,的,I/O,端口。,8088,是准,16,位微处理器。内部寄存器、运算器以及内部数据总线都是,16,位,但,外部数据总线为,8,条,。,前言(二),4,从功能上讲,可分为两个,独立,的部分,,并行,重叠操作:,CPU,内部结构(一),5,总线接口单元,(Bus Interface Unit,BIU),:,执行单元,(Execution Unit,EU),:,BIU,从内存,预取指令,送到,指令队列缓冲器,;,CPU,执行指令时,,BIU,配合,EU,对指令的内存单元或,I/O,端口,存取数据,。,负责,执行指令,,即,执行的指令从,BIU,的指令队列缓冲器中,取得,;,指令执行的结果或所需要的数据,由,EU,向,BIU,发出,请求;,再由,BIU,对存储器或,I/O,端口进行,存取,。,负责完成,CPU,与存储器或,I/O,设备之间的,数据传送,。即,CPU,内部结构(二),6,EU,与,BIU,当,EU,从指令队列中取走指令,,指令队列出现空字节时,,,BIU,就自动执行一次取指令周期,从内存中取出后续的指令代码放入队列中;,当,EU,需要数据时,,,BIU,根据,EU,给出的地址,从指定的内存单元或外设中取出数据供,EU,使用;,在运算结束时,,,BIU,将运算结果送入指定的内存单元或外设;,如果指令队列为空,,,EU,就等待;,若,BIU,正在取指令,,,EU,发出访问总线的请求,则必须等,BIU,取指令完毕后,该请求才能得到相应;,一般情况下,程序顺序执行,,当遇到跳转指令时,,,BIU,就使指令队列复位,从新地址取出指令,并立即传给,EU,执行。,7,4,个,16,位,段地址寄存器,代码段,寄存器,(Code Segment),:取得,CPU,所执行的指令。,数据段,寄存器,(Data Segment),:存放程序所使用的数据。,堆栈段,寄存器,(Stack Segment),:堆栈操作的执行地址在此段中。,附加段,寄存器,(Extra Segment),:也用来存放数据。,6,字节,指令队列缓冲器,16,位,指令指针寄存器,IP(Instruction Pointer),20,位,地址加法器,总线控制器,总线接口单元组成,8,用于存放预取的指令。,8086,指令队列为,6,个,字节。,在执行指令的同时,从内存中取下面,1,条或几条指令,取来的指令依次放在指令队列中。,采用“,先进先出,”的原则。,指令队列的存在,使,8086/8088,的,EU,和,BIU,并行工作,从而减少了,CPU,为取指令而等待的时间,提高了,CPU,的利用率,加快了整机的运行速度,另外也降低了对存储器存取速度的要求。,指令队列缓冲器,9,16,位指令指针,(Instruction Pointer,IP),IP,中含有,BIU,要取的下一条指令,(,字节,),的偏移地址。,IP,在程序运行中,自动加,1,,指向要执行的下一条指令,(,字节,),。,有些指令,能使,IP,值改变或使,IP,值压进堆栈,或由堆栈弹出恢复原址。,指令指针寄存器,10,8086,有,20,根,地址线,内部寄存器只有,16,位,。,“,段加偏移”技术:,段寄存器,存放确定各段起始地址的,16,位,段地址信息,。,由,IP,提供或由,EU,按寻址方式计算出寻址单元的,16,位,偏移地址,简称,偏移量,。,将偏移地址,与,左移,4,位后的段寄存器内容,同时送到地址加法器,相加后形成,20,位,实际地址,。,偏移地址,15,0,段寄存器,0000,15,0,段地址,左移,4,位,存储器实际地址,19,0,实际地址,(,物理地址,),地址加法器和段寄存器,11,16,位算术逻辑单元,(ALU),算术、逻辑运算,计算,16,位偏移量,16,位标志寄存器,F,CPU,的运算状态特征或存放控制标志,数据暂存寄存器,协助,ALU,完成运算,通用寄存器组,4,个,16,位数据寄存器,,4,个,16,位指针与变址寄存器,EU,控制电路,控制、定时与状态逻辑电路,执行单元组成,12,8086,内部寄存器结构共有,13,个,16,位,寄存器和,1,个,只用了,9,位的,16,位,标志寄存器。(,共,14,个,16,位寄存器,),8086,的寄存器结构,段寄存器,控制寄存器,13,数据寄存器,AX,,,BX,,,CX,,,DX,数据寄存器一般用于存放参与运算的数据或运算结果。,每一个数据寄存器都是,16,位寄存器,但又可将高、低,8,位分别作为两个独立的,8,位寄存器使用。它们的高,8,位记作,AH,、,BH,、,CH,、,DH,,低,8,位记作,AL,、,BL,、,CL,、,DL,,这给编程带来了很大的方便。,多数,情况下,用于算术运算或逻辑运算指令中。,有些,指令中,有特定的用途。,通用寄存器(一),14,数据寄存器各自习惯用法,上述,4,个寄存器一般作为通用寄存器使用,但又有各自的习惯用法。,(1),AX,称为累加器,,在乘除法运算、串运算和,I/O,指令中都作为专用寄存器。,(2),BX,称为基址寄存器,,在计算机寻址时,常用来存放基址。,(3),CX,称为计数寄存器,,在循环和串操作指令中用作计数器。,(4),DX,称为数据寄存器,,在寄存器间接寻址的,I/O,指令中存放,I/O,端口地址,在做双字长乘除法运算时,,DX,与,AX,合起来存放一个双字长数据,(32,位,),,其中,DX,存放高,16,位。,15,地址指针寄存器,SP,、,BP,(,16,位,存放偏移地址),堆栈指针,寄存器,SP,和,基址指针,寄存器,BP,。,用来指明当前堆栈段中数据所在的地址。,SP(Stack Pointer),:,给出,栈顶,的偏移地址(入栈和出栈指令时)。,BP(Base Pointer),:,存放位于堆栈段中的,数据区,基地址的偏移地址。,通用寄存器(二),16,源变址,寄存器,SI,和,目的变址,寄存器,DI,。,存放当前数据段的偏移地址。,SI(Source Index),:,源操作数的偏移地址。,DI(Destination Index),:,目的操作数的偏移地址。,变址寄存器,(,16,位,存放偏移地址),通用寄存器(三),17,4,个,16,位段寄存器,,8086,指令可直接访问。,CS(Code Segment),:,存放代码段的段地址。,SS(Stack Segment),:,存放堆栈段的段地址。,DS(Data Segment),:,存放数据段的段地址。,ES(Extra Segment),:,存放附加段的段地址,,用于存放处理后的数据。,段寄存器是为实现,“段加偏移”,寻址基址而设置的。,段寄存器,18,段寄存器的使用,段寄存器的设立不仅使,8088,的存储空间扩大到,1M,,且为信息按特征分段存储带来了方便。,在存储器中,信息按特征可分为:,程序代码、数据和堆栈,等。,因此存储器可相应地划分为:,程序段,:用来存放程序的指令代码;,数据段及附加段,:用来存放数据和运算结果;,堆栈段,:用来传递参数、保存数据和状态信息。,19,表,2.1,存储器操作时段地址和段内偏移地址的来源,存储器操作类型,段 地 址,偏移地址,正常来源,其他来源,取指令,CS,无,IP,存取操作数,DS,CS,、,ES,、,SS,有效地址,EA,通过,BP,寻址存取操作数,SS,CS,、,ES,、,SS,有效地址,EA,堆栈操作,SS,无,BP,、,SP,源字符串,DS,CS,、,ES,、,SS,SI,目的字符串,ES,无,DI,20,8086,标志寄存器,F,为,16,位,,用了其中,9,位。,6,个,状态标志位:,CF,,,PF,,,AF,,,ZF,,,SF,,,OF,3,个,控制标志位:,DF,,,IF,,,TF,OF,DF,IF,TF,SF,ZF,AF,PF,CF,0,7,8,15,FL,FH,2,4,6,9,10,11,溢出标志,方向标志,中断允许标志,跟踪标志,进位标志,奇偶标志,辅助进位标志,零标志,符号标志,标志寄存器(一),21,状态标志位:,反映算术或逻辑运算后结果状态。,CF(Carry Flag),:,进位,标志,,D0,位。,执行结果在,最高位,上产生了一个,进位或借位,,,CF=1,;无进位或借位,,CF=0,。,会受,移位、循环,指令影响。,PF(Parity Flag),:,奇偶,性标志,,D2,位。,执行结果的,低,8,位,中有偶数个“,1”,时,,PF=1,;否则,PF=0,。机器中传递信息时,对产生的,代码出错情况,提供检测条件。,标志寄存器(二),22,AF(Auxiliary Flag),:,辅助进位,标志,,D4,位。,执行结果的,低,4,位向高,4,位,有进位或借位时,,AF=1,;否则,AF=0,。,AF,标志主要用于实现,BCD,码算术运算结果,的调整。,ZF(Zero Flag),:,零,标志,,D6,位。,如运算结果为,零,,,ZF=1,;,如运算结果,不为零,,,ZF=0,。,标志寄存器(三),23,SF(Sign Flag),:,符号,标志,,D7,位。,如运算结果为,负数,,,SF=1,;,如运算结果为,正数,,,ZF=0,。,OF(Overflow Flag),:,溢出,标志,,D11,位。,如,带符号数,在进行,算术,运算时产生了,溢出,,,OF=1,;,如无溢出,,OF=0,。,溢出表示运算结果已经超出机器能够表示的数值范围。,标志寄存器(四),24,控制标志位:,控制,CPU,的操作,由,程序,设置或清除。,DF(Direction Flag),:,方向,标志,,D10,位。,控制数据,串操作指令的步进方向,。,若用指令,STD,将,DF=1,,,数据串,操作过程中地址,自动递减,;,若用指令,CLD,将,DF=0,,则地址,自动递增,。,标志寄存器(五),25,IF(Interrupt Flag),:,中断允许,标志,,D9,位。,控制,可屏蔽中断,。,若用指令,STI,将,IF=1,,,允许,接受外部从,INTR,引脚,发来的可屏蔽中断请求;,若用指令,CLI,将,IF=0,,,禁止,接受外部发来的可屏蔽中断请求。,IF,的状态,不影响,非屏蔽中断,(NMI),请求,,也不影响,CPU,响应内部的中断请求。,标志寄存器(六),26,TF(Trap Flag),:,跟踪,(,陷井,),标志,,D8,位。,为,方便调试程序,而设置的。,若,TF=1,,,CPU,处于,单步工作,方式;,若,TF=0,,正常执行程序。,总结:,对于状态标志,,,CPU,在进行算术逻辑运算时,根据操作结果自动将状态标志位置位,(,等于,1),或复位,(,等于,0),;,对于控制标志,,事先用指令设置,在程序执行时,检测这些标志,用以控制程序的转向。,标志寄存器(七),27,二、,8086/8088,存储器和,I/O,组织,1,、,8086/8088,的存储空间,8086/8088,有,20,条地址线,可直接对,1 M,个存储单元进行访问。每个存储单元存放一个字节型数据,且每个存储单元都有一个,20,位的地址,这,1 M,个存储单元对应的地址为,00000HFFFFFH,,如图,2.1,所示。,一个存储单元中存放的信息称为该存储单元的内容。如图,2.1,所示,,00001H,单元的内容为,9FH,,记为:,(00001H)=9FH,。,28,图,2.1,数据在存储器中的存放,29,3E,5D,00,43,4A,48,E0,59,13,57,34,CD,AB,67,45,10,90,30,0C,2BH,2AH,29H,28H,27H,26H,25H,24H,23H,22H,21H,20H,1FH,1EH,1DH,1CH,1BH,1AH,19H,MEM,偏移量,:0043H,段地址,:3E5DH,指针数据,指令,DEC DX,指令,DEC AX,指令,ADC r,m/r(,字,),(5734H),非规则字数据,字节数据,(AB67H),规则字数据,字节数据,字节数据,指令,NOP,指令,OR AL,IMMED,20,条,AB,,寻址,1M,存储空间;,按字节组织,每个字节,唯一,地址,;,字节:,顺序存放,字,:,低,位字节放在,低,地址中,高,位字节放在,高,地址中,双字:,低位字是偏移量,高位字是段地址,规则字:,低,位字节存放在,偶数,地址,非规则字:,低,位字节存放在,奇数,地址,数据在存储器的存放,30,字和双字型数据存放,若存放的是,字型数据,(16,位二进制数,),,则将字的低位字节存放在低地址单元,高位字节存放在高地址单元。如从地址,0011FH,开始的两个连续单元中存放一个字型数据,则该数据为,DF46H,,记为:,(0011FH)=DF46H,。,若存放的是,双字型数据,(32,位二进制数,这种数一般作为地址指针,其低位字是被寻址地址的偏移量,高位字是被寻址地址所在段的段地址,),,这种类型的数据要占用连续的,4,个存储单元,同样,低字节存放在低地址单元,高字节存放在高地址单元。如从地址,E800AH,开始的连续,4,个存储单元中存放了一个双字型数据,则该数据为,66A65E65H,,记为:,(E800AH)=66A65E65H,。,31,2,、存储器的段结构,8086/8088 CPU,中有关可用来存放地址的寄存器如,IP,、,SP,等都是,16,位的,故只能直接寻址,64 KB,。,为了对,1M,个存储单元进行管理,,8086/8088,采用了分段结构的方法对存储器管理,,即将,1M,的地址空间分成若干个,64K,的段,然后用段基地址加上段内偏移地址来访问物理存储器,。,32,逻辑段与小节,8086/8088,将整个存储器分为许多逻辑段,每个逻辑段的容量小于或等于,64 KB,,允许它们在整个存储空间中浮动,各个逻辑段之间可以紧密相连,也可以互相重叠。,在,8086/8088,存储空间中,从,0,地址开始,把每,16,个连续字节的存储空间称为,小节,。为了简化操作,逻辑段必须从任一节的首地址开始。这样划分的特点是:在十六进制表示的地址中,最低位为,0(,即,20,位地址中的,低,4,位为,0,),。在,1MB,的地址空间中,共有,64K,小节。,33,存储器分为许多逻辑段,34,物理地址 段地址 偏移地址,8086/8088,中,每一个存储单元都有一个唯一的,20,位地址,称此地址为该存储单元的,物理地址,。,CPU,访问存储器时,必须先确定所要访问的存储单元的物理地址,才能取得该单元的内容。,20,位的物理地址由,16,位的段地址和,16,位的段内偏移地址计算得到。,段地址,是每一个逻辑段的起始地址,必须是每个小节中的首地址,其低,4,位一定都是,0,,于是在保留段地址时,可只取段地址的高,16,位。,偏移地址,则是在段内相对于段起始地址的偏移值。,因此任一存储单元物理地址的计算方法,(,如图 所示,),是:,物理地址,=16,段地址,+,偏移地址,35,物理地址的形成,36,逻辑地址,在实际使用中,常用,“,段地址:偏移地址,”,来表示,逻辑地址,,其中段地址和偏移地址都是,16,位二进制数,(,常用,4,位十六进制数表示,),。,一个物理地址可用多种逻辑地址进行表示,但其物理地址是唯一的。,37,存储器分段示意图,38,堆栈是内存中一个特殊的区域,用以存放寄存器或存储器中暂时不用又必须保存的数据,在内存中所处的段为堆栈段。,8086,系统中的堆栈是用,段定义语句,在存储器中定义的一个堆栈段,如同其它逻辑段,可在,1MB,的存储空间中浮动。,堆栈由段寄存器,SS,和堆栈指针,SP,来寻址,SS,:给出堆栈段的段基址;,SP,:给定当前栈顶,即指出从堆栈的段基址到栈顶的偏移量。,栈顶,是堆栈操作的唯一出口,是栈地址较小的一端。,堆栈(一),39,为加快堆栈操作的速度,均以,字,为单位进行。,AA,BB,88,99,66,77,44,55,22,33,00,11,34,12,AA,BB,88,99,66,77,44,55,22,33,00,11,88,99,66,77,44,55,22,33,00,11,10,50,00,08,10,50,00,06,10,50,00,0A,10500,10502,10504,10506,10508,1050A,SP,SS,栈顶,栈底,栈底,10500,10502,10504,10506,10508,1050A,10500,10502,10504,10506,10508,1050A,SP,SS,栈顶,12,34,AX,PUSH AX,SP,SS,栈底,栈顶,12,34,BX,POP BX,BB,AA,AX,POP AX,堆栈(二),40,时钟:,时钟脉冲发生器,产生具有一定频率和占空比的脉冲信号,称之为机器的主脉冲或时钟。,主频:,时钟的,频率,,是机器的一个重要指标。,时钟周期:,主频的,倒数,,是,CPU,的基本时间计量单位。,也叫一个,T,周期,或,T,状态,,或,一个节拍,。,8086,主频为,5MHz,,则一个时钟周期为,200ns,。,总线周期:,在取指令和传送数据时,,CPU,总线接口部件占用的时间称为,总线周期,或,机器周期,。(,总线周期,是指,CPU,从存储器或,I/O,端口存取一个字节所需要的时间。因为这种操作必须通过总线才能完成,故称为总线周期。),总线周期(一),41,一个,最基本,的总线周期由,4,个,时钟周期组成:,用,T1,,,T2,,,T3,,,T4,表示,T1,T2,T3,Tw,T4,T1,T2,T3,T4,总线,周期,总线,周期,TI,TI,T1,T2,T3,Tw,Tw,T4,总线,周期,空闲,周期,总线周期(二),42,T1,状态:,CPU,往多路复用总线上,发送地址,信息,选中所要寻址的,存储单元,或,外设端口,地址。,T2,状态:,CPU,从总线上,撤销地址,,并使总线的,低,16,位,浮置成,高阻,状态,为传送数据作准备。,T3,状态:,总线的,高,4,位,继续提供,状态,信息,,低,16,位,将出现由,CPU,写出的,数据,,或,CPU,从存储器或者外设端口读入的数据。,总线周期(三),43,等待状态:,有些情况下,,I/O,或,M,不能及时配合,CPU,传送数据,在,T3,状态启动之前,它会通过,READY,引脚向,CPU,发一个“未准备好”信号。,CPU,在,T3,状态之后,自动插入若干个时钟周期,Tw,。直至,CPU,接受到“准备好”信号,自动脱离,Tw,状态进入,T4,。,T4,状态:,总线周期结束。,空闲周期,T,I,:,两个,总线周期之间,,若干个时钟周期。,总线周期(四),44,3.1,8086/8088,微处理器,3.1.4 8086/8088,的引脚信号和功能,GND,AD,14,AD,13,AD,12,AD,11,1,2,3,4,5,40,39,38,37,36,Vcc(+5V),AD,15,A,16,/S,3,A,17,/S,4,A,18,/S,5,GND,A,14,A,13,A,12,A,11,1,2,3,4,5,40,39,38,37,36,Vcc(+5V),A,15,A,16,/S,3,A,17,/S,4,A,18,/S,5,AD,10,AD,9,AD,8,AD,7,AD,6,AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,8,0,8,6,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,A,19,/S,6,BHE S,7,MN MX,RD,HOLD,(,RQ GT,0,),HLDA,(,RQ GT,1,),WR,(LOCK),M,(,IO S,2,),DT R,(,S,2,),DEN,(,S,0,),A,LE,(,QS,0,),INTA,(,QS,1,),TEST,READY,RESET,A,10,A,9,A,8,AD,7,AD,6,AD,5,AD,4,AD,3,AD,2,AD,1,AD,0,NMI,INTR,CLK,GND,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,8,0,8,8,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,A,19,/S,6,SS,0,(,HIGH,),MN MX,RD,HOLD,(,RQ GT,0,),HLDA,(,RQ GT,1,),WR,(,LOCK,),M,(,IO S,2,),DT R,(,S,2,),DEN,(,S,0,),A,LE,(,QS,0,),INTA,(,QS,1,),TEST,READY,RESET,34,45,8086/8088 CPU,具有,40,条引脚,采用双列直插式的封装形式。为了减少芯片上的引脚数目,,8086/8088 CPU,都采用了,分时复用,的地址,/,数据总线。,正是由于这种分时复用的方法,才使得,8086/8088 CPU,可用,40,条引脚实现,20,位地址、,16,位数据,(8,位数据,),及许多控制信号和状态信号的传输。,由于,8088,只传输,8,位数据,所以,8088,只有,8,个地址引脚兼作数据引脚,而,8086,有,16,个地址,/,数据复用引脚。,这些引脚构成了,8086/8088 CPU,的外总线,它包括地址总线、数据总线和控制总线。,8086/8088 CPU,通过这些总线和存储器、,I/O,接口等部件组成不同规模的系统并相互交换信息。,46,分时复用,地址,/,数据总线,:,AD,15,AD,0,(引脚,39,2-16,,,16,根),传送地址,时:单向,三态,输出,传送数据,时:双向,三态,输入输出,T1,状态:输出要寻址的存储器或,I/O,端口,地址,;,T2,状态:浮置成,高阻,状态,为传输数据作准备;,T3,状态:用于传输,数据,;,T4,状态:,结束,总线周期。,通过,分时复用,利用,40,条引脚实现,20,位地址、,16,位数据及众多控制信号和状态信号的传输。,当,CPU,响应中断以及系统总线“保持响应”时,复用线都被浮置为,高阻,状态。,8086,引脚信号与功能,47,分时复用,地址,/,状态总线,:,A,19,/S,6,A,16,/S,3,(引脚,35-38,,,4,根),输出,,三态。,T1,状态:输出,地址,的最高,4,位;,T2T4,状态:输出,状态,信息。,访问存储器,:,T,1,状态时输出的,A19A16,送到,锁存器,(8282),锁存,与,AD15AD0,组成,20,位的地址信号;,访问,I/O,端口,:,不使用,这,4,条引线,,A19A16=0,。,S6,为,0,,,8086,当前与总线,相连,。,S5,表明中断允许标志位,IF,的当前设置。,S4,和,S3,指示当前正在使用哪个,段寄存器,。,8086,引脚信号与功能,48,S,4,S,3,状态,0,0,当前正在使用,ES,0,1,当前正在使用,SS,1,0,当前正在使用,CS,,或未用任何段寄存器,1,1,当前正在使用,DS,S,4,、,S,3,的代码组合和对应的状态,8086,引脚信号与功能,49,电源线和地线,:,3,根,1,个,电源线,Vcc(,引脚,40),:输入电压,+5V,10%,2,个,地线,GND(,引脚,1,20),:均接地,8086,引脚信号与功能,50,控制总线,:,8,根,(,引脚,34),:,高,8,位数据总线允许,/,状态,复用,三态,,输出,在总线周期的,T,1,状态时输出,,S7,在,T,2,T,4,时输出。,8086,中,当 引脚上输出 信号时,表示总线高,8,位,AD15AD8,上的,数据有效,,存储体奇库选择控制,。,S7,在,8086,中未被赋予定义。,8086,引脚信号与功能,51,(,引脚,32),:读控制,,三态,,输出,低有效,=,0,时,,CPU,将执行对,M,或,I/O,端口的,读操作,。,在系统总线“保持响应”期间,被浮空。,对内存单元还是对,I/O,端口读取数据,,取决于,(8086),。,在一个,读操作,的总线周期中,信号在,T,2,、,T,3,和,T,w,状态均为低电平,以保证,CPU,读有效。,8086,引脚信号与功能(八),52,(,引脚,22),:“准备好”信号,,输入,高有效,由所寻址的,M,或端口,发出,READY=,1,时,表示所寻址的,M,或,I/O,设备已,准备就绪,,马上可进行一次数据传输。,CPU,在每个总线周期的,T3,状态开始,对,READY,信号,采样,。,READY=,0,,表示,M,或,I/O,设备尚未准备好,则,CPU,在,T3,状态之后,自动插入一个或几个等待状态,Tw,,直到,READY,变为高电平,进入,T4,状态,完成数据传送过程。,8086,引脚信号与功能(九),53,(,引脚,23),:等待测试信号,,输入,低有效,当,CPU,执行,WAIT,指令,时,进入空转等待状态,且每隔,5,个时钟周期,对该线的输入进行,一次测试,;,引脚用于多处理器系统中,实现,8086,与协处理器间的同步。,若,=,1,时,,CPU,将停止取下条指令而,继续处于等待,状态,重复执行,WAIT,指令,直至,=,0,时,等待状态,结束,,,CPU,才继续往下执行被暂停的指令。,8086,引脚信号与功能(十),54,(,引脚,18),:,可,屏蔽中断请求,,输入,高有效,INTR=,1,时,表示,外设提出了中断请求,,,8086,在每个指令周期的,最后一个,T,状态,去采样此信号。,若,IF=1,,,CPU,响应中断,停止执行当前的指令序列,并转去执行中断服务程序。,8086,引脚信号与功能(十一),55,(,引脚,17),:,非,屏蔽中断请求,,输入,,上升沿触发,此请求,不受,IF,状态的影响,,也,不能用软件屏蔽,,只要此信号一出现,,CPU,就会在现行指令结束后引起中断。,8086,引脚信号与功能(十二),56,与,8284A,(时钟发生,/,驱动器)的复位,输出,端相连,;,(,引脚,21),:复位信号,,输入,高有效,8086,要求复位脉冲宽度,不得小于,4,个时钟周期,,而,初次,接通电源时所引起的复位,则要求维持的高电平,不能小于,50s,;,复位后,,CPU,的主程序流程恢复到启动时的循环待命初始状态。,8086,引脚信号与功能(十三),57,(,引脚,19),:系统时钟,,输入,通常与,8284A,时钟发生器的时钟,输出,端,CLK,相连,该时钟信号的低,/,高之比常采用,2:1(,占空度为,1/3),。,8086,引脚信号与功能(十四),58,其它控制线,(,引脚,24-31),:,8,个,,,8086,工作于,最小,方式,,全部控制信号由,CPU,本身提供;,,,8086,工作于,最大,方式,,控制信号由,8288,总线控制器提供。,这些控制线的性能,根据,方式控制线,(,引脚,33,),所处状态而定。,8086,引脚信号与功能(十五),59,最小模式和最大模式,8086,有两种工作模式:,最小模式,是指系统中只有一个微处理器,(8086),。在这种系统中,,8086,直接产生所有的总线控制信号,系统所需的外加总线控制逻辑部件最少。,最大模式,是指系统中含有两个或多个微处理器,其中一个为主处理器,8086,,其他的处理器称为协处理器,是协助主处理器工作的。在最大模式下工作时,控制信号是通过,8288,总线控制器提供的。因此,在不同方式下工作时,,8086,的部分引脚,(,第,24,31,引脚,),会具有不同的功能。,60,接,电源电压,,系统处于,最小,方式,即,单处理器,系统方式;,时钟信号发生器,8284A,:,外接晶体的基本振荡频率为,15MHZ,经,8284A,三分频后。送给,CPU,作系统,时钟,CLK,。,8,位,地址锁存器,8282,:,锁存后地址信号,在整个周期保持不变。,三态输出的,8,位,数据总线收发器,8286,:,用于增加系统的驱动能力。,等待状态产生电路,:,向,8284A,的,RDY,端提供一个信号,经,同步,后,,向,CPU,的,READY,线发“准备就绪”信号,通知,CPU,数据传送已完成,,可退出当前总线周期。,最小工作方式(一),61,8284A,RDY,等待状态产生器,收发器,8286,(,2,片),(可选),地址锁存器,8282,(,3,片),2716,EPROM,(,2,),2KX8 2KX8,MCS-80,外部设备,2142,RAM,(,4,),1KX8(2)1KX8(2),最小工作方式(二),62,地址锁存器和数据收发器,地址锁存器(,8282,),由于,8086,的,AD15,AD0,为分时复用的地址,/,数据线,即在,T1,状态用来输出地址,从,T2,状态开始改为传送数据,而内存及,I/O,设备需要在整个总线操作周期中地址线上都保持有稳定的地址信号,所以需要在地址信号消失前将其锁存。,数据收发器(,8286,),对于数据信号,它不必锁存,但由于总线负载能力有限,当挂接部件过多时,就需要接入信号放大器,提高总线的负载能力,这种信号放大器称为数据收发器。,63,地址锁存器(,8282,),引 脚,功 能,DI,7,DI,0,数据输入,DO,7,DO,0,数据输出,OE,允许输出,,OE,为低电平时,允许锁存数据从,DO7,DO0,输出;,OE,为高电平时,输出端,DO7,DO0,呈高阻态,STB,选通输入,当其上信号由高变低时,将,DI7,DI0,上数据锁存起来,GND,、,VCC,地、电源,64,数据收发器(,8286,),65,8086,的地址锁存与数据收发逻辑,在总线周期的,T1,状态,当,ALE,信号由高变低时,,8282,将地址信号锁存,使得从,T2,开始,CPU,撤销地址信号后,地址总线上还能保持地址输出。,当,8086,与存储器或,I/O,设备交换数据时,,DEN,端产生一个低电平信号,使,8286,的,OE,端为,0,。,8286,的发送数据控制端,T,连接在,8086,的数据发送,/,接收端,DT/R,上,写操作时,,DT/R,为高电平,控制数据传送方向是从,CPU,流向存储器或,I/O,设备;在读操作时,,DT/R,为低电平,则数据的传送方向是从存储器或,I/O,设备流向,CPU,。在较小的,8086,系统中,也可以不用,8286,数据收发器,这时,多路复用的地址,/,数据总线直接与存储器或,I/O,设备的数据线相连。,66,(address latch enable),:引脚,25,地址锁存允许信号,,输出,高有效,CPU,在每个总线周期,T,1,状态,发出,作为地址锁存器的地址锁存信号。,(interrupt acknowledge),:引脚,24,中断响应信号,,输出,低有效,CPU,对来自外设的中断请求作出响应,发,两个连续负脉冲,。,第,1,个,负脉冲:,通知,外设端口,中断请求被允许;,第,2,个,负脉冲:外设往数据总线上,发送,中断类型码。,最小工作方式(三),67,(data enable),:引脚,26,数据允许信号,,输出,三态,低有效,为,总线收发器,端提供控制信号,决定是否允许 数据通过。,(data transmit/receive),:引脚,27,数据收发控制信号,,输出,三态,控制总线收发器的数据,传送方向,高,电平时:数据,发送,;,低,电平时:数据,接收,。,最小工作方式(四),68,(memory/input and output),:引脚,28,存储器,/,输入输出控制,信号,,输出,三态,用于,区分,CPU,访问,M,还是,IO,,,高电平:访问,M,;低电平:访问,IO,。,(write),:引脚,29,写控制信号,,输出,三态,低有效,表示,CPU,当前进行,M,或者,IO,的,写,操作。,最小工作方式(五),69,(hold request),:引脚,30,总线保持请求信号,,输入,高有效,是系统中的,其它,总线主控部件向,CPU,发出的,请求占用总线,的控制信号。,(hold acknowledge),:引脚,31,总线保持应答信号,,输出,高有效,与,HOLD,配合使用的联络信号,,有效期间,,所有与三态门连接的引脚处于浮空,让出总线。,最小工作方式(六),70,接地,,系统处于,最大,方式,含,两个或多个,处理器,需解决主处理器和协处理器之间,协调,工作,及,总线共享,问题。,时钟发生,/,驱动器,8284A,:,1,片,8,位,地址锁存器,8282,:,3,片,三态输出的,8,位,数据总线收发器,8286,:,2,片,等待状态产生电路,:,总线控制器,8288,:,对,CPU,发出的控制信号,变换、组合,,得到对,M,或,I/O,的读,/,写信号,对,8282,和,8286,的控制信号。,最大工作方式(一),71,最小方式:,控制信号 或,(),、,、,直接从,CPU,的第,24 29,脚送出。,最大方式:,从状态信号 、,组合中,得到。,最大工作方式(二),72,无源状态,(CPU,无作用,),1,1,1,写内存,0,1,1,读内存,1,0,1,取指令,0,0,1,暂停,1,1,0,写,I/O,端口,0,1,0,读,I/O,端口,1,0,0,发中断响应信号,0,0,0,操作过程,有源状态,至少一个为低电平,、的代码组合和对应的操作,有源状态:,三者只要有,1,个信号为低电平,对应了某一总线操作过程。,无源状态:,三者均为高,此时,,1,个总线操作过程就要结束,另,1,个新的总线周期还未开始。,最大工作方式(三),73,8284A,RDY,等待状态产生器,收发器,8286,(,2,片),地址锁存器,8282,(,3,片),2716,EPROM,(,2,),2KX8 2KX8,MCS-80,外部设备,2142,RAM,(,4,),1KX8(2)1KX8(2),总线,控制器,8288,1,最大工作方式(四),74,、,(instruction queue status),,引脚,24,25,指令队列状态信号,,输出,提供本总线周期的,前一个时钟周期,中指令队列的状态,便于外部对,8086,内部指令队列的跟踪。,含义,0,0,无操作,0,1,从指令队列的第,1,个字节中取走代码,1,0,队列为空,1,1,除第,1,个字节外,还取走了后续字节中的代码,、的代码组合和对应的操作,最大工作方式(五),75,(lock
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服