1、2、1 8086/8088微处理器微处理器2、1、1 8086/8088微处理器的结构及执行程序的操作微处理器的结构及执行程序的操作过程过程8086:Intel系列的系列的16位微处理器,位微处理器,16条数据线、条数据线、20条条地址线,可寻址地址范围地址线,可寻址地址范围220=1MB,80868086工作时,只工作时,只要一个要一个 5V 5V 电源和一个时钟,时钟频率为电源和一个时钟,时钟频率为5MHz5MHz。8088:内部与内部与8086兼容,也是一个兼容,也是一个16位微处理器,只位微处理器,只是外部数据总线为是外部数据总线为8位,所以称为准位,所以称为准16位微处理器。位微处理
2、器。它它具有包括乘法和除法的具有包括乘法和除法的1616位运算指令,所以能处理位运算指令,所以能处理1616位数据,还能处理位数据,还能处理8 8位数据。位数据。80888088有有2020根地址线,所以根地址线,所以可寻址的地址空间达可寻址的地址空间达220220即即1M1M字节。字节。AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器运算寄存器运算寄存器ALU标志标志执行部分执行部分控制电路控制电路1 2 3 4 5 6 CS DS SS ES IP 内部寄内部寄存器存器I/O控制控制电路电路地址加地址加法器法器20位位16位位8位位指令队列缓冲器指令队列
3、缓冲器外外总总线线执行部件执行部件总线接口部件总线接口部件8086CPU结构图结构图1、总线接口部件、总线接口部件功能:功能:(1)、从取指令送到指令队列。)、从取指令送到指令队列。(2)、)、CPU执行指令时,到指定的位置取操作数,执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。并将其送至要求的位置单元中。总线接口部件的组成:总线接口部件的组成:(1)、四个段地址寄存器)、四个段地址寄存器 CS,16位代码段寄存器;位代码段寄存器;DS,16位数据段寄存器;位数据段寄存器;ES,16位附加段寄存器;位附加段寄存器;SS,16位堆栈段寄存器。位堆栈段寄存器。(2)、)、16位指令
4、指针寄存器位指令指针寄存器IP(PC)。)。(3)、)、20位的地址加法器。位的地址加法器。(4)、六字节的指令队列缓冲器。)、六字节的指令队列缓冲器。说明:说明:(1)、指令队列缓冲器:)、指令队列缓冲器:在执行指令的同时,将取下在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。一条指令,并放入指令队列缓冲器中。CPU执行完一执行完一条指令后,可以指令下一条指令(流水线技术)。提条指令后,可以指令下一条指令(流水线技术)。提高高CPU效率。效率。(2)、地址加法器:)、地址加法器:产生产生20位地址。位地址。CPU内无论是段内无论是段地址寄存器还是偏移量都是地址寄存器还是偏移量都是1
5、6位的,通过地址加法器位的,通过地址加法器产生产生20位地址。位地址。2、执行部件、执行部件作用:作用:(1)、从指令队列中取出指令。)、从指令队列中取出指令。(2)、对指令进行译码,发出相应相应的控制信号。)、对指令进行译码,发出相应相应的控制信号。(3)、接收由总线接口送来的数据或发送数据至接口。)、接收由总线接口送来的数据或发送数据至接口。(4)、进行算术运算。)、进行算术运算。执行部件的组成:执行部件的组成:(1)、四个通用寄存器)、四个通用寄存器AX、BX、CX、DX。四个通用寄存器都是四个通用寄存器都是16位或作两个位或作两个8位来使用。位来使用。(2)、专用寄存器)、专用寄存器S
6、P-堆栈指针寄存器堆栈指针寄存器BP-基址指针寄存器基址指针寄存器DI-目的变址寄存器目的变址寄存器SI-源变址寄存器源变址寄存器(3)、算术逻辑单元)、算术逻辑单元ALU 完成完成8位或者位或者16位二进制算术和逻辑运算,计算偏移量。位二进制算术和逻辑运算,计算偏移量。(4)、数据暂存寄存器)、数据暂存寄存器协助协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。(5)、执行部件的控制电路)、执行部件的控制电路从总线接口的指令队列取出指令操作码,通过译码电路从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制分析,发出相应的控制命令,控制ALU数据
7、流向。数据流向。(6)、标志寄存器)、标志寄存器16位寄存器,其中有位寄存器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为03、8086/8088CPU执行程
8、序的操作过程执行程序的操作过程(1)、)、20位地址的形成,并将此地址送至程序存储器位地址的形成,并将此地址送至程序存储器指定单元,从该单元取出指令字节,依次放入指令队指定单元,从该单元取出指令字节,依次放入指令队列中。列中。(2)、每当)、每当8086的指令队列中有的指令队列中有2个空字节,个空字节,8088指指令队列中有令队列中有1个空字节时,总线接口部件就会自动取指个空字节时,总线接口部件就会自动取指令至队列中。令至队列中。(3)、执行部件从总线接口的指令队列首取出指令代)、执行部件从总线接口的指令队列首取出指令代码,执行该指令。码,执行该指令。(4)、当队列已满,执行部件又不使用总线时
9、,总线)、当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。接口部件进入空闲状态。(5)、执行转移指令、调用指令、返回指令时,先清)、执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。空队列内容,再将要执行的指令放入队列中。2、1、2 8086/8088微处理器的引脚功能微处理器的引脚功能根据所连的存储器和外设规模的不同,使它们可以在根据所连的存储器和外设规模的不同,使它们可以在两种模式下工作:两种模式下工作:系统的最小模式:系统的最小模式:只有一只有一8086/8088CPU。系统的最大模式:系统的最大模式:有两个或两个以上的有两个或两个以上的CPU
10、,一个为,一个为主主CPU8086/8088,另一个为协,另一个为协CPU8087/8089。指令周期指令周期:执行一条指令所需要的时间。执行一条指令所需要的时间。总线周期(机器周期)总线周期(机器周期):CPU通过总线与存储器或通过总线与存储器或I/O接口进行一次数据传输所需的时间。接口进行一次数据传输所需的时间。T状态(时钟周期):状态(时钟周期):CPU处理动作的最小单位。处理动作的最小单位。T1T2T3TWT4总线周期总线周期 而当系统规模较大时,要求有较强的驱动能力,而当系统规模较大时,要求有较强的驱动能力,这样就需要两个获两个以上的微处理器。其中有一个这样就需要两个获两个以上的微处
11、理器。其中有一个是主处理器是主处理器80868086或或80888088,其它的处理器称为协处理器,其它的处理器称为协处理器,它们协助主处理器工作。例如它们协助主处理器工作。例如80888088便通过总线控制器便通过总线控制器82888288来形成各种控制信号。来形成各种控制信号。如图所示,为如图所示,为8086CPU8086CPU和和8088CPU8088CPU的引脚信号图。的引脚信号图。共有共有4040条引脚线,这些引脚线用来输出或接收各种信条引脚线,这些引脚线用来输出或接收各种信号:地址线,数据线,控制线和状态线,电源线和定号:地址线,数据线,控制线和状态线,电源线和定时线。时线。由于由
12、于80888088微处理器是一种准微处理器是一种准1616位机。其内部结构位机。其内部结构基本上与基本上与80868086相同,其信号也与相同,其信号也与80868086基本相同,只是基本相同,只是有一些引脚的功能有所不同,在这里,我们将以有一些引脚的功能有所不同,在这里,我们将以80868086为例,具体介绍一下为例,具体介绍一下最小模式最小模式下和下和最大模式最大模式下各位引下各位引脚功能,如出现功能不同的引脚再具体讲解脚功能,如出现功能不同的引脚再具体讲解 。01020304050607080910111213141516171819204039383736353433323130292
13、827262524232221GNDAD14/A14AD13/A13AD12/A12AD11/A11AD10/A10AD9/A9AD8/A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15/A15A16/S3A17/S4A18/S5A19/S6/BHE/S7 HIGH(SSO)MN/MX/RDHOLD(/RQ/GT0)HLDA(/RQ/GT1)/WR(/LOCK)M/IO(/S2)DT/R(/S1)/DEN(/S0)ALE(QS0)/INTA(QS1)/TESTREADYRESET8086/80881、地址、地址/数据总线数据总线AD15-AD0
14、:地址:地址/数据复用引脚,双向,三态。数据复用引脚,双向,三态。(8086/8088)AD15-AD0:16位地址总线位地址总线A15-A0,输,输出访问存储器或出访问存储器或I/O的地址信息。的地址信息。(8086)AD15-AD0:16位数据总线位数据总线D15-D0,与存储,与存储器和器和I/O设备交换数据信息。设备交换数据信息。(8088)AD7-AD0:8位数据总线位数据总线D7-D0,与存储器和,与存储器和I/O设备交换数据信息。设备交换数据信息。地址地址/数据总线复用,分时工作。数据总线复用,分时工作。2、地址、地址/状态总线状态总线A19/S6-A16/S3A19/S6-A1
15、6/S3:地址地址/状态总线复用引脚,输出,三态。状态总线复用引脚,输出,三态。A19/S6-A16/S3:输出访问存储器的输出访问存储器的20位地址的高位地址的高4位位地址地址A19-A16。A19/S6-A16/S3:输出输出CPU的工作状态。的工作状态。A19/S6-A16/S3:分时工作,分时工作,T1状态:输出地址的高状态:输出地址的高4位信息;位信息;T2、T3、T4状态:输出状态信息。状态:输出状态信息。S6:指示指示8086/8088当前是否与总线相连,当前是否与总线相连,S6=0,表示,表示8086/8088当前与总线相连。当前与总线相连。S5:表明中断允许标志当前的设置。表
16、明中断允许标志当前的设置。S5=0,表示,表示CPU中断是关闭的,禁止一切可屏蔽中断源的中断请求中断是关闭的,禁止一切可屏蔽中断源的中断请求;S5=1,表示,表示CPU中断是开放的,允许一切可屏蔽中断中断是开放的,允许一切可屏蔽中断源的中断申请。源的中断申请。S4、S3:指出当前使用段寄存器的情况。指出当前使用段寄存器的情况。S4、S3组合所对应的段寄存器情况组合所对应的段寄存器情况 S4 S3 段寄存器段寄存器 0 0 当前正在使用当前正在使用ES 0 1 当前正在使用当前正在使用SS 1 0 当前正在使用当前正在使用CS 1 1 当前正在使用当前正在使用DS3、控制总线、控制总线(1)、/
17、BHE/S7:高高8位数据总线允许位数据总线允许/状态复用引脚。在状态复用引脚。在总线周期的总线周期的T1状态,此引脚输出状态,此引脚输出/BHE信号,表示高信号,表示高8位数据线位数据线D15-D8上的数据有效。上的数据有效。在在T2、T3、TW和和T4状态时,此引脚输出状态时,此引脚输出S7状态信号。状态信号。/BHE、A0组合:组合:/BHE A0 总线使用情况总线使用情况 0 0 从偶地址单元开始,在从偶地址单元开始,在16位数据总线上进行字传送位数据总线上进行字传送 0 1 从奇地址单元开始,在高从奇地址单元开始,在高8位数据总线上进行字节传送位数据总线上进行字节传送 1 0 从偶地
18、址单元开始,在低从偶地址单元开始,在低8位数据总线上进行字节传送位数据总线上进行字节传送 1 1 无效无效S7:8086中无定义。中无定义。8088中,在最大模式中,为高电平;中,在最大模式中,为高电平;在最小模式中,输出在最小模式中,输出SS0信号,此信号与信号,此信号与其它信号合作将总线周期的读其它信号合作将总线周期的读/写动作。写动作。(2)、)、/RD:读信号,三态输出,低电平有效。读信号,三态输出,低电平有效。/RD=0,表示当前表示当前CPU正在对存储器或正在对存储器或I/O端口进行读操作。端口进行读操作。(3)、)、/WR:写信号,三态输出,低电平有效写信号,三态输出,低电平有效
19、。/WR=0,表示当前,表示当前CPU正在对存储器或正在对存储器或I/O端口进行读端口进行读操作。操作。(4)、)、M/IO:存储器或存储器或IO端口访问信号,三态输出。端口访问信号,三态输出。M/IO=1,表示,表示CPU正在访问存储器;正在访问存储器;M/IO=0,表示,表示CPU正在访问正在访问IO端口。端口。(5)、)、READY:准备就绪信号,输入,高电平有效。准备就绪信号,输入,高电平有效。READY=1,表示,表示CPU访问的存储器或访问的存储器或IO端口已准备好端口已准备好传送数据传送数据。若。若CPU在总线周期在总线周期T3状态检测到状态检测到READY=0,表示未准备好,表
20、示未准备好,CPU自动插入一个或多个等待状态自动插入一个或多个等待状态TW,直到直到READY=1为止。为止。(6)、)、INTR:可屏蔽中断请求信号,输入,高电平有可屏蔽中断请求信号,输入,高电平有效。效。当当INTR=1,表示外设向,表示外设向CPU发出中断请求,发出中断请求,CPU在当前指令周期的最后一个在当前指令周期的最后一个T状态去采样该信号,若此状态去采样该信号,若此时,时,IF=1,CPU响应中断,执行中断服务程序。响应中断,执行中断服务程序。(7)、)、/INTA:中断响应信号,输出,低电平有效。中断响应信号,输出,低电平有效。表示表示CPU响应了外设发来的中断申请信号响应了外
21、设发来的中断申请信号INTR。(8)、)、NMI:不可屏蔽中断请求信号,输入,上升沿不可屏蔽中断请求信号,输入,上升沿触发。该请求信号不受触发。该请求信号不受IF状态的影响,也不能用软件屏状态的影响,也不能用软件屏蔽,蔽,一旦该信号有效,则执行完当前指令后立即响应中一旦该信号有效,则执行完当前指令后立即响应中断。断。(9)、)、/TEST:测试信号,输入,低电平有效。当测试信号,输入,低电平有效。当CPU执行执行WAIT指令时,指令时,每隔个时钟周期对每隔个时钟周期对/TEST进行进行一次测试一次测试,若,若/TEST=1,继续等待,直到,继续等待,直到/TEST=0。(10)、)、RESET
22、:复位信号,输入,高电平有效。:复位信号,输入,高电平有效。RESET信号至少要保持信号至少要保持4个时钟周期。个时钟周期。复位时:标志寄复位时:标志寄存器、存器、IP、DS、SS、ES为为0,CS=FFFFH,复位后,复位后CPU从从FFFF0H处开始处开始 执行。执行。(11)、)、ALE:地址锁存允许信号,输出,高电平有效。地址锁存允许信号,输出,高电平有效。用来锁存地址信号用来锁存地址信号A15-A0,分时使用,分时使用AD15-AD0地址地址/数据总线。数据总线。(12)、)、DT/R:数据发送数据发送/接收控制信号,三态输出。接收控制信号,三态输出。此信号控制数据总线上的收发器此信
23、号控制数据总线上的收发器8286的数据传送方向,的数据传送方向,DT/R=1,发送数据,发送数据-写操作;写操作;DT/R=0,接收数据,接收数据-读操作。读操作。(13)、)、/DEN:数据允许信号,三态输出,低电平有数据允许信号,三态输出,低电平有效。作为数据总线上收发器效。作为数据总线上收发器8286的选通信号。的选通信号。(14)、)、HOLD:总线请求信号,输入,高电平有效。总线请求信号,输入,高电平有效。当系统中当系统中CPU之外的另一个控制器要求使用总线时,之外的另一个控制器要求使用总线时,通过它向通过它向CPU发一高电平的请求信号。发一高电平的请求信号。(15)、)、HLDA:
24、总线请求响应信号,输出,高电平有总线请求响应信号,输出,高电平有效。效。当当HLDA有效时,表示有效时,表示CPU对其它控制器的总线请对其它控制器的总线请求作出响应求作出响应,与此同时,所有与三总线相接的,与此同时,所有与三总线相接的CPU的的线脚呈现高阻抗状态,从而让出总线。线脚呈现高阻抗状态,从而让出总线。(16)、)、MN/MX:工作模式选择信号,输入。工作模式选择信号,输入。MN/MX=1,表示,表示CPU工作在最小模式系统;工作在最小模式系统;MN/MX=0,表示,表示CPU工作在最大模式系统。工作在最大模式系统。(17)、)、CLK:主时钟信号,输入。主时钟信号,输入。8086/8
25、088的时钟的时钟频率为频率为5MHZ。4、电源线和地线、电源线和地线8086/8088采用单采用单+5V,1、20引脚为地线。引脚为地线。5、最大模式下的有关引脚、最大模式下的有关引脚(1)、)、QS1、QS2:指令队列状态信号,输出。:指令队列状态信号,输出。QS1 QS2 含义含义 0 0 无操作无操作 0 1 将指令首字节送入指令队列将指令首字节送入指令队列 1 0 队列为空队列为空 1 1 将指令其余字节送指令队列将指令其余字节送指令队列(2)、)、S2、S1、S0:总线周期状态信号,三态输出。:总线周期状态信号,三态输出。S2、S1、S0状态信号的编码状态信号的编码 S2 S1 S
26、0 操作过程操作过程 产生信号产生信号 0 0 0 发中断响应信号发中断响应信号 /INTA 0 0 1 读读I/O端口端口 IORC 0 1 0 写写I/O端口端口 IOWC 0 1 1 暂停暂停 无无 1 0 0 取指令取指令 /MRDC 1 0 1 读存储器读存储器 /MRDC 1 1 0 写存储器写存储器 /AMWC 1 1 1 无作用无作用 无无2、1、3 8086/8088系统存储器的组织和堆栈系统存储器的组织和堆栈1、8086/8088系统存储器的组织系统存储器的组织8086/80888086/8088是是1616位的微处理器,在组成存储系统时,总位的微处理器,在组成存储系统时,
27、总是使偶地址单元的数据通过是使偶地址单元的数据通过ADAD0 0 ADAD7 7传送,而奇地址单传送,而奇地址单元的数据通过元的数据通过ADAD8 8 ADAD1515传送,所有的操作可以是按字节传送,所有的操作可以是按字节为单位也可以是按字为单位来处理的,但为单位也可以是按字为单位来处理的,但8086/80888086/8088系系统中的存储器是以统中的存储器是以8 8位(一个字节)为单位对数据进行位(一个字节)为单位对数据进行处理的。因此每个字节用一个唯一的地址码表示,这称处理的。因此每个字节用一个唯一的地址码表示,这称为存储器的为存储器的标准结构标准结构。需要说明的是,在存储器中,任何连
28、续存放的两个字节需要说明的是,在存储器中,任何连续存放的两个字节都可以称为一个字。存放时,其低位字节可从奇数地址都可以称为一个字。存放时,其低位字节可从奇数地址开始,这种方式称为非规则方式,奇数地址的字称为开始,这种方式称为非规则方式,奇数地址的字称为非非规则字规则字。其高位字节可从偶数地址开始,这种方式称为。其高位字节可从偶数地址开始,这种方式称为规则方式,。将偶数地址的字称为规则方式,。将偶数地址的字称为规则字规则字。(2)8086存储器的分段结构存储器的分段结构 由于由于8086/8088有有20条地址线,可以寻址多达条地址线,可以寻址多达220(1M)字节,所以把)字节,所以把1M字节
29、的存储器分为任意数量字节的存储器分为任意数量的段,其中每一段最多可达寻址的段,其中每一段最多可达寻址216(64K)字节。)字节。8086CPU把把1M字节的存储器空间划分为任意的字节的存储器空间划分为任意的一些存储段,一个存储段是存储器中可独立寻址的一一些存储段,一个存储段是存储器中可独立寻址的一个逻辑单位,也称逻辑段,每个段的长度为个逻辑单位,也称逻辑段,每个段的长度为64K字节。字节。8086CPU中有四段寄存器:中有四段寄存器:CS,DS,SS和和ES,这四个段寄存器存放了这四个段寄存器存放了CPU当前可以寻址的四个段的当前可以寻址的四个段的基址,也即可以从这四个段寄存器规定的逻辑段中
30、存基址,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了定,就规定了CPU当前可寻址的段。当前可寻址的段。(3)8086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址存储器中的每个存储单元都可以用两个形式的地址来存储器中的每个存储单元都可以用两个形式的地址来表示:表示:实际地址实际地址(或称或称物理地址物理地址)和)和逻辑地址逻辑地址。实际地址:实际地址:也称物理地址,是用唯一的也称物理地址,是用唯一的20位二进制数位二进制数所表示的地址,规定了所表示的地址,规定了1M字节存储体中某个具体单字
31、节存储体中某个具体单元的地址元的地址。逻辑地址在程序中使用,即段地址:偏移地址逻辑地址在程序中使用,即段地址:偏移地址。(4)物理地址的形成物理地址的形成物理地址有两部分组成物理地址有两部分组成:段基址和偏移地址。段基址和偏移地址。8086/8088CPU中有一个地址加法器,它将段寄存器提中有一个地址加法器,它将段寄存器提供的段地址自动乘以供的段地址自动乘以10H即左移即左移4位,然后与位,然后与16位的偏位的偏移地址相加,并锁存在物理地址锁存器中。如图所示。移地址相加,并锁存在物理地址锁存器中。如图所示。物理地址物理地址=段基址段基址*16 +偏移地址。偏移地址。段基址:段基址:CS、DS、
32、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。段寄存器值段寄存器值偏移量偏移量+物理地址物理地址16位位4位位16位位20位位存储器物理地址的计算方法存储器物理地址的计算方法 CS 0000 IP代码段代码段 DS或或ES 0000 SI、DI或或BX SS 0000 SP或或BP数据段数据段堆栈段堆栈段存储器存储器段寄存器和偏移地址寄存器组合关系段寄存器和偏移地址寄存器组合关系2、堆栈、堆栈堆栈主要用于暂存数据和在过程调用或处理中断时暂堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。存断点信息。(1)堆栈的概念)堆栈的概念 堆栈是在存储器中开辟的一片数据存储区
33、,这片存储堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端区的一端固定,另一端活动,且只允许数据从活动端进出。采用进出。采用“先进后出先进后出”的规则的规则。(2)堆栈的组织)堆栈的组织堆栈指示器堆栈指示器SP,他总是指向堆栈的栈顶堆栈的伸展,他总是指向堆栈的栈顶堆栈的伸展方向既可以从大地址向小地址,也可以从小地址向大方向既可以从大地址向小地址,也可以从小地址向大地址。地址。8086/8088的堆栈的伸展方向是从大地址向小的堆栈的伸展方向是从大地址向小地址。地址。2、2 8086总线的操作时序总线的操作时序在微机系统中,在微机系统中,CPU是在时钟信
34、号是在时钟信号CLK控制下,按节控制下,按节拍有序地执行指令序列。从取指令开始,经过分析指拍有序地执行指令序列。从取指令开始,经过分析指令、对操作数寻址,然后执行指令、保存操作结果,令、对操作数寻址,然后执行指令、保存操作结果,这个过程称为这个过程称为指令执行周期指令执行周期。指令周期:指令周期:执行一条指令所需要的时间。执行一条指令所需要的时间。总线周期(机器周期):总线周期(机器周期):CPU通过总线与存储器或通过总线与存储器或I/O接口进行一次数据传输所需的时间。接口进行一次数据传输所需的时间。T状态(时钟周期):状态(时钟周期):CPU处理动作的最小单位。处理动作的最小单位。T1T2T
35、3TWT4总线周期总线周期2、2、2 8086的时序的时序8086的总线时序包括以下一个部分:的总线时序包括以下一个部分:(1)、系统复位。)、系统复位。(2)、存储器读操作。)、存储器读操作。(3)、存储器写操作。)、存储器写操作。(4)、中断响应操作。)、中断响应操作。(5)、输入输出周期。)、输入输出周期。(6)、空转周期。)、空转周期。总线操作总线操作总线读操作:总线读操作:CPU从存储器或外设读取数据。从存储器或外设读取数据。总线写操作:总线写操作:CPU将数据写入存储器或外设。将数据写入存储器或外设。1、存储器读周期、存储器读周期总线周期包括:总线周期包括:T1、T2、T3、(、(
36、TW)、)、T4机器周期。机器周期。(1)、)、T1周期周期M/IO信号:信号:从存储器读还是从从存储器读还是从I/O设备中读数据;设备中读数据;AD15-AD0、A19/S7-A16/S3:确定确定20位地址;位地址;/BHE:选择奇地址存储体选择。选择奇地址存储体选择。ALE:地址锁存信号,以使地址地址锁存信号,以使地址/数据线分开。数据线分开。(2)、)、T2状态状态A19/S6-A16/S3:出现出现S6-S3状态信号。决定段寄存器、状态信号。决定段寄存器、IF状态、状态、8086CPU不否连在总线上。不否连在总线上。AD15-AD0:高阻状态。高阻状态。/RD:由高电平变为低电平,开
37、始进行读操作。由高电平变为低电平,开始进行读操作。/DEN:变低电平,启动收发器变低电平,启动收发器8268,做好接收数据的,做好接收数据的准备。准备。(3)、)、T3状态状态若存储器或若存储器或I/O端口已做好发送数据准备,则在端口已做好发送数据准备,则在T3状状态期间将数据放到数据总线上,在态期间将数据放到数据总线上,在T3结束时,结束时,CPU从从AD15-AD0上读取数据。上读取数据。(4)、)、TW状态状态在在T3状态,存储器或外设没有准备好数据,不能在状态,存储器或外设没有准备好数据,不能在T3状态将数据放到总线上,使状态将数据放到总线上,使READY=0,则,则CPU在在T3和和
38、T4之间之间插入一个或几个插入一个或几个TW状态状态,直到直到数据准备好数据准备好READY=1为止。为止。TW状态时总线的动作与状态时总线的动作与T3时相同。时相同。(5)、)、T4状态状态CPU对数据总线进行采样,读出数据。对数据总线进行采样,读出数据。CPU往存储器或往存储器或I/O设备写数据的时序如下页所示:设备写数据的时序如下页所示:CLKT1T2T3、TWT4M/IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址输出地址输出数据输出数据输出/RDDT/R/DENCPU从存储器或从存储器或I/O端口读取数据的时序端口读取数
39、据的时序2、存储器写周期、存储器写周期(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不否
40、连在总线上。不否连在总线上。AD15-AD0:发出发出16位数据。位数据。/WR:由高电平变为低电平,开始进行写操作。由高电平变为低电平,开始进行写操作。/DEN:变低电平,启动收发器变低电平,启动收发器8268,做好发送数据的,做好发送数据的准备。准备。(3)、)、T3状态状态若存储器或若存储器或I/O端口已做好接收数据准备,则在端口已做好接收数据准备,则在T3状状态期间将数据放到数据总线上,在态期间将数据放到数据总线上,在T3结束时,结束时,CPU将将AD15-AD0上数据写入到存储器或上数据写入到存储器或I/O设备中。设备中。(4)、)、TW状态状态在在T3状态,存储器或外设没有准备好接
41、收数据,使状态,存储器或外设没有准备好接收数据,使READY=0,则,则CPU在在T3和和T4之间之间插入一个或几个插入一个或几个TW状态状态,直到直到设备准备好设备准备好READY=1为止。为止。(5)、)、T4状态状态在在T4状态,数据从数据总线上被撤除,各种控制信号状态,数据从数据总线上被撤除,各种控制信号和状态信号进入无效状态,和状态信号进入无效状态,CPU完成了对存储器或完成了对存储器或I/O设备的写操作。设备的写操作。3、输入、输入/输出周期输出周期8086与外设通讯,也即从外设输入数据,或把数据输与外设通讯,也即从外设输入数据,或把数据输出给外设的时序,与出给外设的时序,与CPU
42、同存储器之间的通讯时序同存储器之间的通讯时序,几几乎完全相同,只是乎完全相同,只是IOM信号应为高。所以我们就不信号应为高。所以我们就不赘述。赘述。4、空转周期、空转周期8086只有在只有在CPU于存储器或外设要传送指令或操作时,于存储器或外设要传送指令或操作时,才能执行如上所述的总线周期,若才能执行如上所述的总线周期,若CPU不执行总线周不执行总线周期,则总线接口执行空转操作期,则总线接口执行空转操作。CLKT1T2T3、TWT4M/IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址输出地址输出数据输出数据输出/WRDT/R/DE
43、NCPU往存储器或往存储器或I/O端口写数据的时序端口写数据的时序5、中断响应周期、中断响应周期中断响应周期:中断响应周期:从从CPU中止现行程序转中断服务程序中止现行程序转中断服务程序这一过程。这一过程。中断响应周期要用两个总线周期。中断响应周期要用两个总线周期。第一个响应周期:使第一个响应周期:使AD15-AD0、/BHE/S7、A19/S6-A16/S3悬空。悬空。第二个响应周期:外设向数据总线上输送一个字节的第二个响应周期:外设向数据总线上输送一个字节的中断类型号。中断类型号。每一响应周期的每一响应周期的T1状态输出一个高电平脉冲,作为地状态输出一个高电平脉冲,作为地址锁存信号。址锁存
44、信号。CLKT1T2T3T4T1T2T3T4第一中断响应周期第一中断响应周期第二中断响应周期第二中断响应周期ALE/INTAAD7-AD08086中断响应周期的时序图中断响应周期的时序图6、总线保持和响应周期(保持响应信号、总线保持和响应周期(保持响应信号HLDA)7、系统复位、系统复位产生产生:RESET端上的高电平维持端上的高电平维持4个时钟周期,可使个时钟周期,可使CPU复位。复位。CPU复位:复位:PSW、DS、ES、SS、IP等寄存器,指令队列等寄存器,指令队列被清零。被清零。CS寄存器设置为寄存器设置为FFFFH。注:由于复位后,注:由于复位后,IF=0,处关中断状态,所以在初始,
45、处关中断状态,所以在初始化程序中应开中断,使化程序中应开中断,使CPU可响应中断请求。可响应中断请求。当当RESET由高电平变低电平由高电平变低电平7个机器周期后,个机器周期后,CPU开开始从始从FFFF0处执行程序。处执行程序。8086的复位时序:的复位时序:CLKRESET输入输入RESET内部内部三态门三态门浮空浮空8086CPU复位后总线信号:复位后总线信号:AD15-AD0:A19/S6-A16/S3:/BHE/S7:S2、S1、S0:/LOCK、/RD、/INTA:ALE、HLDA、QS0、QS1:/RQ/GT0:/RQ/GT1:高阻状态高阻状态低电平低电平高电平高电平2、3 80
46、 x86的工作模式的工作模式主要介绍一下主要介绍一下实地址方式实地址方式和和保护虚地址方式保护虚地址方式。2、3、1 实地址方式实地址方式具有具有32条地址线的微处理器只有低条地址线的微处理器只有低20条地址线起作用,条地址线起作用,能寻址能寻址1M字节的物理地址。字节的物理地址。实地址方式和保护虚地址方式的区分是由控制寄存器实地址方式和保护虚地址方式的区分是由控制寄存器CR0的最低位的最低位PE位决定的。位决定的。若若PE位为位为0,则工作在实地址方式;,则工作在实地址方式;若若PE位为位为1,工作在保护虚地址方式,工作在保护虚地址方式;实地址方式下,采用类似于实地址方式下,采用类似于808
47、6的体系结构。归纳起的体系结构。归纳起来,有如下几个特点:来,有如下几个特点:寻址机构、存储器管理、中断处理机构和寻址机构、存储器管理、中断处理机构和8086一样一样操作数默认长度为操作数默认长度为16位,但允许访问处理器的位,但允许访问处理器的32位位寄存器组,在使用寄存器组,在使用32位寄存器组时,指令中要加上前位寄存器组时,指令中要加上前缀以表示越权存取。缀以表示越权存取。不用虚拟地址的概念,存储器容量最大为不用虚拟地址的概念,存储器容量最大为1M字节;字节;采用分段方式,每段大小固定为采用分段方式,每段大小固定为64K字节,存储段可字节,存储段可以彼此覆盖,即一个以彼此覆盖,即一个64
48、K字节的段如未用完,另一个字节的段如未用完,另一个段可以覆盖未用的存储区。段可以覆盖未用的存储区。实地址方式下,存储器中保留两个固定区域,一个实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。前者为为初始化程序区,另一个为中断向量区。前者为FFFF0HFFFFFH,后者为,后者为00000003FFH。在实地址方式下,运行的程序不分特权等级,实际在实地址方式下,运行的程序不分特权等级,实际上,实地址方式下的程序相当于工作在特权级上,实地址方式下的程序相当于工作在特权级0,除保,除保护虚地址方式下的一些专用指令外,所有其他指令都护虚地址方式下的一些专用指令外,所有其
49、他指令都能在实地址方式下运行。能在实地址方式下运行。2、3、2 保护虚地址方式保护虚地址方式在保护方式下,全部在保护方式下,全部32根地址有效,可寻址达根地址有效,可寻址达4G字节字节的物理空间;的物理空间;支持多任务,一个任务可运行多达支持多任务,一个任务可运行多达16KB个段,每个段个段,每个段最大可为最大可为4G字节,故一个任务最大可达字节,故一个任务最大可达64MM字节的字节的虚拟地址,能快速的进行任务切换和任务保护环境;虚拟地址,能快速的进行任务切换和任务保护环境;在保护方式运行的程序分为在保护方式运行的程序分为4个特权级:个特权级:0、1、2、3,操作系统核心运行在最高特权等级操作
50、系统核心运行在最高特权等级0,用户程序运行在,用户程序运行在最低特权等级最低特权等级3。4级特权保护结构级特权保护结构 如图所示:如图所示:应用程序应用程序3级级常用扩展程序常用扩展程序内核内核0级级2级级系统服务程序系统服务程序1级级系统和应用程序分离系统和应用程序分离1、保护方式下的寻址机制、保护方式下的寻址机制在保护方式下,一个存储单元的地址也是由在保护方式下,一个存储单元的地址也是由段基地址段基地址和和段内偏移量段内偏移量两部分组成两部分组成。在保护方式下,段基地址也是在保护方式下,段基地址也是32位的,所以就不能由位的,所以就不能由段寄存器的内容直接形成段寄存器的内容直接形成32位的
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。