1、第第2章章8086微处理器及其体系结构微处理器及其体系结构本章学习重点:本章学习重点:了解了解8086CPU的编程结构及引脚功能的编程结构及引脚功能;掌握掌握8086的存储器和的存储器和I/O组织组织;掌握掌握8086的操作及时序的操作及时序;熟悉熟悉8086最小方式下的系统结构最小方式下的系统结构本章学习难点:本章学习难点:8086的编程结构及寄存器结构的编程结构及寄存器结构;8086的操作时序的操作时序2.1 80862.1 8086的编程结构的编程结构2.1.18086/8088CPU的内部结构的内部结构8086:Intel系列的系列的16位微处理器,数据总线位微处理器,数据总线16位、
2、位、20条地址线,可寻址地址范围条地址线,可寻址地址范围1MB,指令队列,指令队列6个字节,个字节,8086工作时,只要一个工作时,只要一个5V电源和一个时钟,时钟频率电源和一个时钟,时钟频率为为5MHz。8086CPU的内部由两个独立的工作部件构成:的内部由两个独立的工作部件构成:执行部件执行部件EU(ExecutionUnit)总线接口部件总线接口部件BIU(BusInterfaceUnit)。其内部结构框图如下图所示其内部结构框图如下图所示:地址总线地址总线20位位AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存器器 暂存器暂存器ALU状态状态 EU 控制
3、器控制器1 2 3 4 5 6 CS DS SS ES IP 内部内部寄存器寄存器总线总线控制控制电路电路地址加法器地址加法器8位位指令队列缓冲器指令队列缓冲器外外总总线线8086CPU结构图结构图队列总线队列总线总线接口单元总线接口单元BIU执行单元执行单元EUALU数据总线数据总线16位位 1.1.执行部件执行部件EUEU 作用:作用:(1 1)从指令队列中取出指令。)从指令队列中取出指令。(2 2)对指令进行译码,发出相应相应的控制信号。)对指令进行译码,发出相应相应的控制信号。(3 3)接收由总线接口送来的数据或发送数据至接口。)接收由总线接口送来的数据或发送数据至接口。(4 4)进行
4、算术运算。)进行算术运算。执行部件执行部件EU的组成:的组成:(1)算术逻辑单元)算术逻辑单元ALU它是运算器的核心,几乎所有的算术运算,逻辑运算和移位操作都是由它是运算器的核心,几乎所有的算术运算,逻辑运算和移位操作都是由ALU ALU 完成的。完成的。(2)暂存寄存器)暂存寄存器协助协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。(3)四个通用寄存器)四个通用寄存器AX、BX、CX、DX四个通用寄存器都是四个通用寄存器都是16位或作两个位或作两个8位来使用位来使用(4)专用寄存器)专用寄存器SP、BP、DI、DI SP-堆栈指针寄存器堆栈指针寄存器 BP-基址指针寄存
5、器基址指针寄存器 DI-目的变址寄存器目的变址寄存器 SI-源变址寄存器源变址寄存器 (5)执行部件的控制电路)执行部件的控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制发出相应的控制命令,控制ALU数据流向。数据流向。2.2.总线接口部件总线接口部件BIUBIU 功能:功能:(1)取指令送到指令队列。)取指令送到指令队列。(2)CPU执行指令时,配合执行指令时,配合EU从指定的内存或外设中取操作数据,将数从指定的内存或外设中取操作数据,将数据传送到据传送到EU中,或把中,或把EU的执行结果送到指定的
6、内存单元或外设。的执行结果送到指定的内存单元或外设。总线接口部件的组成:总线接口部件的组成:(1)四个段地址寄存器)四个段地址寄存器 CS16位代码段寄存器位代码段寄存器 DS16位数据段寄存器位数据段寄存器 ES16位附加段寄存器位附加段寄存器 SS16位堆栈段寄存器位堆栈段寄存器(2)16位指令指针寄存器位指令指针寄存器IP(PC)(3)20位的地址加法器位的地址加法器(4)6字节的指令队列缓冲器字节的指令队列缓冲器(5)完成与)完成与EU通信的内部寄存器通信的内部寄存器 说明:说明:(1)指令队列缓冲器:)指令队列缓冲器:8086的指令队列为的指令队列为6个字节,个字节,8088的指令队
7、的指令队列为列为4个字节。使用了队列装置,在个字节。使用了队列装置,在EU执行指令的同时,执行指令的同时,BIU将取下一将取下一个字节指令或几个字节的指令依次放入指令队列缓冲器中。个字节指令或几个字节的指令依次放入指令队列缓冲器中。CPU执行完执行完一条指令后,可以马上执行下一条指令(流水线技术)。即:一条指令后,可以马上执行下一条指令(流水线技术)。即:BIU与与EU的工作是并行的,这一种并行工作方式,改变了以往计算机取的工作是并行的,这一种并行工作方式,改变了以往计算机取指令指令译译码码执行指令执行指令的串行工作方式,大大提高了的串行工作方式,大大提高了CPU的的工作效率。工作效率。(2)
8、地址加法器:产生)地址加法器:产生20位地址。位地址。CPU内无论是段地址寄存器还内无论是段地址寄存器还是偏移量都是是偏移量都是16位的,通过地址加法器产生位的,通过地址加法器产生20位地址。位地址。例如:段代码例如:段代码CS0FE00H,指令指针,指令指针IP0400H,则通过地址加法器产生的则通过地址加法器产生的20位位物理地址为物理地址为0FE000H0400H0FE400H。EUBIUCPUCPU内部工作过程简述内部工作过程简述:EUEU准准备备执执行行一一条条指指令令时时,从从BIUBIU部部件件的的指指令令队队列列前前部部取取出出指指令令的的代代码码,然然后后去去执执行行指指令令
9、。在在执执行行指指令令过过程程中中,如如果果必必须须访访问问存存储储器器或或者者I IO O端端口口,EUEU就就会会请请求求BIUBIU,进进入入总总线线周周期期,完完成成访访问问内内存存或或者者I IO O端端口口的的操操作作;如如果果此此时时BIUBIU正正好好处处于于空空闲闲状状态态,会会立立即即响响应应EUEU的的总总线线请请求求。如如BIUBIU正正将将某某个个指指令令字字节节取取到到指指令令队队列列中中,则则BIUBIU将将首首先先完完成成这这个个取取指指令令的的总总线线周周期期,然后再去响应然后再去响应EUEU发出的访问总线的请求。发出的访问总线的请求。当当指指令令队队列列是是
10、空空的的,EUEU就就处处于于等等待待状状态态,一一旦旦指指令令队队列列中中有有一一条条指指令令,EUEU会立即取出执行。会立即取出执行。当当80868086的的指指令令队队列列中中有有两两个个空空字字节节(80888088中中有有一一个个空空字字节节),BIUBIU就就会会自自动动把把指指令令取取到到指指令令队队列列中中。取取指指的的顺顺序序按按指指令令在在程程序序中中出出现现的的前前后后顺顺序。序。当指令队列已满,且当指令队列已满,且EUEU又没有总线访问请求时,又没有总线访问请求时,BIUBIU便进入空闲状态。便进入空闲状态。在在EUEU执执行行转转移移指指令令、调调用用指指令令和和返返
11、回回指指令令时时,由由于于待待执执行行指指令令的的顺顺序序发发生生了了变变化化,则则指指令令队队列列中中已已经经装装入入的的字字节节被被自自动动消消除除,BIUBIU会会接接着着往往指指令队列装入转向的另一程序段中的指令代码。令队列装入转向的另一程序段中的指令代码。2.1.2 8086/8088CPU2.1.2 8086/8088CPU的寄存器结构的寄存器结构8086/8088内部有内部有14个个16位的寄存器,寄存器可以分为通用寄存器和专用位的寄存器,寄存器可以分为通用寄存器和专用寄存器两大类,如图寄存器两大类,如图2.2所示。所示。1.1.通用寄存器(通用寄存器(8 8个)个)8 8个个1
12、616位通用寄存器分为两组:位通用寄存器分为两组:数据寄存器(数据寄存器(4 4个)个)地址指针地址指针和变址寄存器(个)和变址寄存器(个)1)数据寄存器数据寄存器8086/8088有有4个个16位的位的通用寄存器(通用寄存器(AX、BX、CX、DX),可以存放),可以存放16位的操作位的操作数,也可分为数,也可分为8个个8位的寄存器位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)来使用。其中)来使用。其中AX称为累加器,称为累加器,BX称为基址称为基址寄存器,寄存器,CX称为计数寄存器,称为计数寄存器,DX称为数据寄存器,这些寄存称为数据寄存器,这些寄存器在具体使用上有一定的差别
13、。器在具体使用上有一定的差别。2 2)指针和变址寄存器)指针和变址寄存器 包括:堆栈指针包括:堆栈指针SP、基址指针基址指针BP、源变址寄存器源变址寄存器SI、目的变址寄存目的变址寄存器器DI,可用来存放数据和地址,可用来存放数据和地址,但只能按但只能按16位进行存取操作。位进行存取操作。SP堆栈指针寄存器堆栈指针寄存器:入栈入栈(PUSH)和出栈和出栈(POP)指令是由指令是由SP给出给出栈顶栈顶位置(段内偏移量位置(段内偏移量)。)。BP基址指针寄存器:基址指针寄存器:用来存放位于堆栈段中的一个数据用来存放位于堆栈段中的一个数据区基址的偏区基址的偏移地址。移地址。变址寄存器变址寄存器SI和
14、和DI是用来存放是用来存放 当前数据段的偏移地址的。当前数据段的偏移地址的。源操作数地址的源操作数地址的偏移量偏移量放放SI中,中,SI称为源变址寄存器。称为源变址寄存器。目的操作数地址的目的操作数地址的偏移量偏移量放放DI中,中,DI称为目的变址寄存器。称为目的变址寄存器。2.段寄存器段寄存器组组 8086CPU具具有有寻寻址址存存储储器器空空间间1MB的的能能力力,但但是是8086指指令令中中给给出出的的地地址址码码仅仅有有十十六六位位,为为此此,8086用用一一组组段段寄寄存存器器将将这这1MB存存储储空空间间分分成成若若干干个个逻逻辑辑段段。8086CPU的BIU中有四个16位的段寄存
15、器,段寄存器是用来存放段起始地址的,8086的指令直接访问这四个段。代码段寄存器代码段寄存器CSCS:用于存放当前代码段的段地址用于存放当前代码段的段地址 ;数据段寄存器数据段寄存器DSDS:用于存放当前数据段的段地址;用于存放当前数据段的段地址;附加段寄存器附加段寄存器ESES:用于存放当前附加段的段地址;用于存放当前附加段的段地址;堆栈段寄存器堆栈段寄存器SS:用于存放当前堆栈段的段地址。用于存放当前堆栈段的段地址。在微机系统的内存中通在微机系统的内存中通常存放着三类信息常存放着三类信息:汇编语言规定,不同的信息要存放在不同汇编语言规定,不同的信息要存放在不同的存储段,这些存贮段的存储器段
16、地址(段基址)要由各自的段的存储段,这些存贮段的存储器段地址(段基址)要由各自的段存器提供。存器提供。3.3.控制寄存器组控制寄存器组 1 1)指令指针寄存器)指令指针寄存器(IP 16(IP 16位位)。它始终指向它始终指向CPUCPU下一条要取指令所在存贮下一条要取指令所在存贮器单元的偏移地址器单元的偏移地址(段地址由段地址由CSCS提供提供)。用户不能更改用户不能更改IPIP的值的值,每取一个指令每取一个指令字节,字节,IPIP自动加自动加1 1,如果程序需要转移或分支,只要把转移地址放入,如果程序需要转移或分支,只要把转移地址放入IPIP即可。即可。标标志志寄寄存存器器FRFR仅仅定定
17、义义了了9 9位位,其其中中6 6位位用用作作状状态态标标志志,3 3位位用作控制标志。用作控制标志。D15 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0D0溢溢出出标标志志2 2)标志寄存器标志寄存器FRF
18、R:例例1:1:若若CPUCPU执行执行5439H+476AH5439H+476AH加法运算指令加法运算指令:所以指令执行后有所以指令执行后有:SF=1SF=1,ZF=0ZF=0,PF=1PF=1,AF=1AF=1,CF=0CF=0,OF=1OF=1 C150 C141C31符号位符号位S1低低8位中位中8个个1运算结果不为运算结果不为0有溢出有溢出DFDF方向标志方向标志:当当 DF=0DF=0时,在串操作指令中,进行自动增址操作;时,在串操作指令中,进行自动增址操作;当当 DF=1DF=1时,在串操作指令中,进行自动减址操作;时,在串操作指令中,进行自动减址操作;IFIF中断允许标志中断允
19、许标志:当当IF=0IF=0时,禁止时,禁止CPUCPU响应可屏蔽中断;响应可屏蔽中断;当当IF=1IF=1时,允许时,允许CPUCPU响应可屏蔽中断;响应可屏蔽中断;TFTF单步陷阱标志单步陷阱标志:当当IF=1IF=1时,表示时,表示CPUCPU进入单步工作方式;进入单步工作方式;当当IF=0IF=0时,表示时,表示CPUCPU正常执行程序。通常用于程序的调试。正常执行程序。通常用于程序的调试。控制标志位控制标志位3个,用来控制个,用来控制CPU的操作的操作:2.2 8086/80882.2 8086/8088系统存储器的组织和堆栈系统存储器的组织和堆栈2.2.1 8086/80882.2
20、.1 8086/8088系统存储器的组织系统存储器的组织8086/8088是是16位的微处理器,在组成存储系统时,总是使偶地址单元的数位的微处理器,在组成存储系统时,总是使偶地址单元的数据通过据通过AD0AD7(低(低8位)传送,而奇地址单元的数据通过位)传送,而奇地址单元的数据通过AD8AD15(高(高8位)传送,所有的操作可以是按字节为单位也可以是按字为单位来处理的,但位)传送,所有的操作可以是按字节为单位也可以是按字为单位来处理的,但8086/8088系统中的存储器是以系统中的存储器是以8位(一个字节)为单位对数据进行处理的。因此位(一个字节)为单位对数据进行处理的。因此每个字节用一个唯
21、一的地址码表示,这称为存储器的标准结构。每个字节用一个唯一的地址码表示,这称为存储器的标准结构。8088/8086有有20根地址总线,可直接寻址的存储器单元数为:根地址总线,可直接寻址的存储器单元数为:220=1MB,每个字节对应一个唯一的地址,地址范围为每个字节对应一个唯一的地址,地址范围为220-1,用用16进制表示进制表示:00000FFFFFH。几个概念:位(位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为是计算机所能表示的最小最基本的数据单位,它指的是取值只能为 0或或1的一个二进制数值位。位作为单位时记作的一个二进制数值位。位作为单位时记作字节(字节(byte
22、)由由8个位二进制位组成,通常用作计算存储容量的单位。字节作个位二进制位组成,通常用作计算存储容量的单位。字节作 为单位时记作为单位时记作B 字长字长 字长是微处理器一次可以直接处理的二进制数码的位数,它通常取字长是微处理器一次可以直接处理的二进制数码的位数,它通常取 决于微处理器内部通用寄存器的位数和数据总线的宽度。决于微处理器内部通用寄存器的位数和数据总线的宽度。数据存储格式数据存储格式 当存储器存放的数是一个字节时,将按顺序存放在每个存储单元中;当存储器存放的数是一个字节时,将按顺序存放在每个存储单元中;当当存存放放的的是是一一个个字字时时,字字的的低低字字节节存存放放在在低低地地址址中
23、中,高高字字节节存存放放在在高高地地址址中中,并并以以低低字字节节的的地地址址作作为为字字地地址址。若若字字地地址址为为偶偶地地址址,则则称称为为规规则则字字存放;若字地址为奇地址,则称为存放;若字地址为奇地址,则称为非规则字非规则字存放。存放。06000H规则规则字字 06001H 06002H03H04H05H06H07HA37F296B504CD335(7FA3H)非规则非规则字字规则规则字字(506BH)(D335H)存储器的组成存储器的组成 存存储储器与器与8086CPU连连接接时时,1MB存储空间分成两个存储空间分成两个512KB512KB存储器,即:存储器,即:偶地址存储器:偶地
24、址存储器:(A0=0A0=0),),其数据线与其数据线与8086CPU8086CPU系统的数据线系统的数据线D7D7D0D0 相连,相连,A0=0A0=0用于片选;用于片选;奇地址存储器奇地址存储器:(:(A0=1A0=1),),其数据线与其数据线与8086CPU8086CPU系统的数据线系统的数据线D15D15D8D8 相连,相连,/BHE/BHE(高(高8 8位数据总线允许控制)位数据总线允许控制)=0=0用于片选;用于片选;8086 CPU8086 CPU数据总线为数据总线为1616位:位:对于访问(读或写)字节的指令,需要一个总线周期;对于访问(读或写)字节的指令,需要一个总线周期;对
25、于访问一个偶地址的字的指令,需要一个总线周期;对于访问一个偶地址的字的指令,需要一个总线周期;对于访问一个奇地址的字的指令,需要两个总线周期(对于访问一个奇地址的字的指令,需要两个总线周期(CPUCPU自动完成)。自动完成)。8088 CPU8088 CPU数据总线为数据总线为8 8位:位:无论是字,还是字节,也无论是对规则字,还是非规则字,每一个总线周无论是字,还是字节,也无论是对规则字,还是非规则字,每一个总线周期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周期是期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周期是由由CPU CPU 自动完成的。自动完成的。
26、80868086存储器的分段结构存储器的分段结构 8086/8088CPU8086/8088CPU有有2020条地址线(条地址线(A19A19A0A0),),能寻址外部存贮空能寻址外部存贮空间为间为=1MB=1MB。由于由于CPUCPU内部的地址寄存器内部的地址寄存器BXBX、IPIP都是都是1616位,只能寻位,只能寻址址64KB64KB,为了使为了使 CPUCPU能寻址到外部存贮器能寻址到外部存贮器1MB空间中任何一个空间中任何一个单元,巧妙地采用了地址分段方法(将单元,巧妙地采用了地址分段方法(将1MB1MB空间分成若干个逻辑段)空间分成若干个逻辑段),从而将寻址范围扩大到了,从而将寻址
27、范围扩大到了1MB1MB 逻辑段彼此独立,但可紧密相连,也可重叠,逻辑段彼此独立,但可紧密相连,也可重叠,在整个在整个1MB1MB存存储空间浮动,仅需改变段寄存器内容。储空间浮动,仅需改变段寄存器内容。一般把存储器划分为:一般把存储器划分为:程序区、数据区和堆栈区程序区、数据区和堆栈区。这样,就。这样,就可以在可以在 程序区中存储程序的指令代码,在数据区中存储原始数据、程序区中存储程序的指令代码,在数据区中存储原始数据、中间结果和最后结果,在堆栈区中存储压入堆栈的数据或状态信中间结果和最后结果,在堆栈区中存储压入堆栈的数据或状态信息。息。2.2.22.2.2存储器的分段和物理地址的形式存储器的
28、分段和物理地址的形式分段方法:分段方法:各逻辑段的起始地址各逻辑段的起始地址基址,必须能被基址,必须能被1616整除整除,即一个段的即一个段的起始地址起始地址(20(20位物理地址位物理地址)的低的低4 4位二进制码必须是位二进制码必须是0 0。把。把1MB1MB的存贮的存贮空间划分成不受任何限制的若干个逻辑段空间划分成不受任何限制的若干个逻辑段,每段最多每段最多64KB64KB。8086CPU8086CPU中有四段寄存器:中有四段寄存器:CSCS,DSDS,SSSS和和ESES,这四个段寄存器,这四个段寄存器存放了存放了CPUCPU当前可以寻址的四个段的基址,也即可以从这四个段寄当前可以寻址
29、的四个段的基址,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了的内容被设定,就规定了CPUCPU当前可寻址的段。当前可寻址的段。由于系统中只设有由于系统中只设有4 4个段寄存器,任何时候个段寄存器,任何时候CPUCPU只能识别当前只能识别当前可寻址的可寻址的4 4个逻辑段。如果程序量或数据量很大,超过个逻辑段。如果程序量或数据量很大,超过64K64K字节,字节,那么可定义多个代码段、数据段、附加段和堆栈段,但那么可定义多个代码段、数据段、附加段和堆栈段,但4 4个段寄存个段寄存器中必须是
30、当前正在使用的逻辑段的基地址,需要时可修改这些器中必须是当前正在使用的逻辑段的基地址,需要时可修改这些段寄存器的内容,以扩大程序的规模。段寄存器的内容,以扩大程序的规模。在一个段内的每个存贮单元在一个段内的每个存贮单元,可以用相对于本段的起始地址可以用相对于本段的起始地址(基址)的(基址)的偏移量偏移量来表示来表示,这个偏移量称为段内偏移地址这个偏移量称为段内偏移地址,也称也称为为有效地址有效地址(EA)(EA)。段内偏移地址也用段内偏移地址也用1616位二进制编码表示位二进制编码表示.所以所以,在一个段内有在一个段内有=64K=64K个偏移地址个偏移地址(即一个段最大为即一个段最大为64KB
31、)64KB)。0600 2000 A000 AE00cs 20000H 15FFFH 06000H 2FFFFHA0000H AFFFFH AE000H BDFFFHSSESDS64K64K64K64K例如当前段基地址分别为:例如当前段基地址分别为:代码段代码段06000H数据段数据段20000H堆栈段堆栈段A0000H附加段附加段AE000H则当前可寻址段存储器分布如图则当前可寻址段存储器分布如图(1)8086(1)8086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址 存储器中的每个存储单元都可以用存储器中的每个存储单元都可以用实际地址(或称物理地址)实际地址(或称物理地址)和和逻辑
32、逻辑地址地址两个形式的地址来表示:两个形式的地址来表示:实际地址:也称物理地址,是用唯一的实际地址:也称物理地址,是用唯一的2020位二进制数所表示的地址,位二进制数所表示的地址,规定了规定了1M字节存储体中某个具体单元的地址字节存储体中某个具体单元的地址 。逻辑地址:在程序中使用的地址,即逻辑地址:在程序中使用的地址,即段地址和偏移地址段地址和偏移地址,表示格式为:表示格式为:段地址:偏移地址段地址:偏移地址物理地址物理地址(PA)(PA)的形成的形成注意几个地址的名称注意几个地址的名称段地址:每个逻辑段起始地址的高段地址:每个逻辑段起始地址的高16位,即段寄存器的内容,无符号数;位,即段寄
33、存器的内容,无符号数;段基地址:每个逻辑段起始地址;段基地址:每个逻辑段起始地址;偏移地址:相对段基地址的偏移量,无符号数,也称有效地址偏移地址:相对段基地址的偏移量,无符号数,也称有效地址EA。(2)物理地址的形成物理地址的形成物理地址物理地址PA段基址段基址16偏移地址偏移地址段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。习题:习题:若数据段寄存器(若数据段寄存器(DSDS)2000H2000H,间址寄存器(,间址寄存器(BXBX)4C80H4C80H,则操作,则操作数存放的实际地址是多少?数存放的实际地址是多少?操作数的物理地址PA(DS
34、)16+(BX)=20000H+4C80H=24C80H2.3 8086/80882.3 8086/8088的的I/OI/O组织组织1.1.为什么要有接口电路?为什么要有接口电路?I/OI/O设备包括与外界通信和设备包括与外界通信和 存储大容量信息用的各种外部设存储大容量信息用的各种外部设备。由于这些外部备。由于这些外部 设备的复杂性和多样性,特别是速度比设备的复杂性和多样性,特别是速度比CPUCPU低得多,因此低得多,因此I/OI/O设备不能直接和总线相连接。设备不能直接和总线相连接。I/OI/O接口是接口是CPUCPU和和I/OI/O设备之间进行信息和数据传送的电路设备之间进行信息和数据传
35、送的电路。2.CPU2.CPU怎样访问怎样访问I/OI/O接口?接口?I/OI/O接口与接口与CPUCPU之间的通信是利用称为之间的通信是利用称为I/OI/O端口的寄存器来完端口的寄存器来完成的,成的,一个一个I/OI/O端口有一个唯一端口有一个唯一 的的I/OI/O地址与之对应地址与之对应。3.I/O3.I/O接口的编址接口的编址 8086/8088CPU8086/8088CPU共有共有2020条地址线,对存储器和条地址线,对存储器和I/OI/O端口的寻址端口的寻址采采用独立编址的方式用独立编址的方式,并设有专门的指令(,并设有专门的指令(IN/OUTIN/OUT)对)对I/OI/O端口进端
36、口进行操作。行操作。CPU访问访问/I/O与访问存储器一样,通过三组总线来实现。与访问存储器一样,通过三组总线来实现。端口的地址不分段,可以有端口的地址不分段,可以有8位或位或16位的端口。当访问位的端口。当访问16的奇的奇数地址端口时也必须访问两次。数地址端口时也必须访问两次。两种工作模式:两种工作模式:8086/8088CPU8086/8088CPU根据所连的存储器和外设规模的不同,使它们根据所连的存储器和外设规模的不同,使它们可以在两种模式下工作:可以在两种模式下工作:系统的最小模式:系统的最小模式:只有一只有一8086/8088 CPU 8086/8088 CPU。在这种情况下,所有的
37、总线控制信号,都是直接由在这种情况下,所有的总线控制信号,都是直接由8088/8086CPU8088/8086CPU产生的,系统中的总线控制逻辑电路被减到最少,产生的,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。该模式适用于规模较小的微机应用系统。系统的最大模式:系统的最大模式:系统至少有两个系统至少有两个CPUCPU,其中一个为主处理器,其中一个为主处理器,即即8086/8086CPU8086/8086CPU,其它的微处理器称之为协处理器,它们是协助,其它的微处理器称之为协处理器,它们是协助主处理器工作的。主处理器工作的。2.4 8086/8088CPU2.4 8
38、086/8088CPU的引脚功能和工作方式的引脚功能和工作方式2.4.1 8086/8088CPU2.4.1 8086/8088CPU两种工作方式公用引脚功能两种工作方式公用引脚功能01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14/A14AD13/A13AD12/A12AD11/A11AD10/A10AD9/A9AD8/A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15/A15A16/S3A17/S4A18/S5A19/
39、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)/TESTREADYRESETGND8086/8088CPU8086/8088CPU引脚信号图:引脚信号图:8088信号也与信号也与8086基基本相同,只是有一些引本相同,只是有一些引脚的功能有所不同脚的功能有所不同:0208引脚引脚34引脚引脚8086计算机的外部特性表现在其引脚信号上,学习计算机的外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:时请特别关注以下几个方面
40、:引脚的功能引脚的功能指指引引脚脚信信号号的的定定义义、作作用用;通通常常采采用用英英文文单单词词或或其其缩缩写表示写表示 信号的流向信号的流向信信号号从从芯芯片片向向外外输输出出,还还是是从从外外部部输输入入芯芯片片,或者是双向的或者是双向的 有效电平有效电平起起作作用用的的逻逻辑辑电电平平高高、低低电电平平有有效效上上升、下降边沿有效升、下降边沿有效 三态能力三态能力输输出出正正常常的的低低电电平平、高高电电平平外外,还还可可以以输输出高阻的第三态出高阻的第三态两种模式公用的引脚的定义两种模式公用的引脚的定义其余其余3636个引脚:个引脚:VCCVCC、GNDGND:电源、接地引脚电源、接
41、地引脚。单一的单一的+5V+5V电源,但有两个接地电源,但有两个接地 引脚。引脚。CLKCLK:时钟信号输入端时钟信号输入端 。采用占空比为采用占空比为1/31/3,频率为,频率为5MHZ5MHZ的时钟信号。的时钟信号。1.1.地址地址/数据总线数据总线 AD15-AD0AD15-AD0:分时复用分时复用的地址的地址/数据线,双向。数据线,双向。对于对于8088 A15-A8:地址总线高:地址总线高8位位总线周期:总线周期:CPU对存储单元或对存储单元或I/O端口每读端口每读/写一次数据(一个字节或写一次数据(一个字节或一个字)所需的时间称为一个总线周期。通常情况下,一个总线周期分为一个字)所
42、需的时间称为一个总线周期。通常情况下,一个总线周期分为4个个时钟周期,即时钟周期,即T1、T2、T3、T4。在在T1期间作地址线期间作地址线A15A0(8088只有只有AD7AD0)用,此时是输出的)用,此时是输出的是存储单元的低十六位地址或是存储单元的低十六位地址或I/O端口的十六位地址;端口的十六位地址;在在T2T4期间作数据线期间作数据线D15D0用,此时是双向的。用,此时是双向的。2.2.地址地址/状态总线状态总线 A19/S6-A16/S3:地址地址/状态总线分时复用引脚,输出,三态。状态总线分时复用引脚,输出,三态。在在T1期间,作地址线期间,作地址线A19A16用。用。在在T2T
43、4期间作为期间作为S6S3状态线用。状态线用。S6:始终为始终为0,表示,表示8086/8088CPU当前与总线连通;当前与总线连通;S5:指示指示IFIF的状态的状态。表明中断允许标志当前的设置。表明中断允许标志当前的设置。S5=0S5=0,表示,表示CPUCPU中断是关闭的,禁止一切可屏蔽中断源的中断中断是关闭的,禁止一切可屏蔽中断源的中断 请求;请求;S5=1S5=1,表示,表示CPUCPU中断是开放的,允许一切可屏蔽中断源的中断中断是开放的,允许一切可屏蔽中断源的中断 申请。申请。为为1 1时,表明时,表明8086/8088CPU8086/8088CPU可以响应可屏蔽中断;可以响应可屏
44、蔽中断;S4、S3:共有四个组态,用以指明当前使用的段寄存器。共有四个组态,用以指明当前使用的段寄存器。如表如表22所示,所示,00ES,01SS,10CS,11DS。标志寄存器中的中断允许标志标志寄存器中的中断允许标志 3.3.控制总线控制总线 (1)(1)/BHE/S7/BHE/S7:高高8 8位数据总线允许位数据总线允许/状态复用引脚。在总线状态复用引脚。在总线周期的周期的T1T1状态,此引脚输出状态,此引脚输出/BHE/BHE信号,表示高信号,表示高8 8位数据线位数据线D15-D8D15-D8上的数据有效。上的数据有效。/BHE、A0组合不同时,在总线上传送的数据不同:组合不同时,在
45、总线上传送的数据不同:/BHE A0 操操 作作 使用总线使用总线 0 0 从偶地址单元开始读或写,从偶地址单元开始读或写,16位字传送位字传送 AD15AD0 0 1 从奇地址单元开始读或写,高从奇地址单元开始读或写,高8位字节传送位字节传送 AD15AD8 1 0 从偶地址单元开始读或写,从偶地址单元开始读或写,低低8位字节传送位字节传送 AD7AD0 1 1 无效无效 在总线周期在总线周期T2T2、T3T3、TWTW和和T4T4状态时,此引脚输出状态时,此引脚输出S7S7状态信号。状态信号。S7S7:80868086中目前无定义。中目前无定义。80888088中,中,/BHE/BHE/引
46、脚定义为引脚定义为系统状态系统状态信号信号/SS0SS0:在最大模式中,为高电平;在最大模式中,为高电平;在最小模式中,此信号与其它信号组合确定当前总线周期的在最小模式中,此信号与其它信号组合确定当前总线周期的读读/写动作。写动作。(2 2)/RD/RD:读信号,三态输出,低电平有效。读信号,三态输出,低电平有效。/RD=0/RD=0,表示当前,表示当前CPUCPU正在对存储器或正在对存储器或I/OI/O端口进行读操作。端口进行读操作。(3 3)READYREADY:准备就绪信号,输入,高电平有效。准备就绪信号,输入,高电平有效。READY=1READY=1,表,表示示CPUCPU访问的存储器
47、或访问的存储器或IOIO端口已准备好传送数据。若端口已准备好传送数据。若CPUCPU在总线周在总线周期期T3T3状态检测到状态检测到READY=0READY=0,表示未准备好,表示未准备好,CPUCPU自动插入一个或多自动插入一个或多个等待状态个等待状态TWTW,直到,直到READY=1READY=1为止。为止。(4 4)/TEST/TEST:测试信号,输入,低电平有效。当测试信号,输入,低电平有效。当CPUCPU执行执行WAITWAIT指指令时,每隔令时,每隔5 5个时钟周期对个时钟周期对/TEST/TEST进行一次测试,若进行一次测试,若/TEST=1/TEST=1,继,继续等待,直到续等
48、待,直到/TEST=0/TEST=0。(5 5)INTRINTR:可屏蔽中断请求信号,输入,高电平有效。当可屏蔽中断请求信号,输入,高电平有效。当INTR=1INTR=1,表示外设向,表示外设向CPUCPU发出中断请求,发出中断请求,CPUCPU在当前指令周期的最后一个在当前指令周期的最后一个T T状态去采样该信号,若此时,状态去采样该信号,若此时,IF=1IF=1,CPUCPU响应中断,执行中断服务响应中断,执行中断服务程序。程序。(6 6)NMINMI:非屏蔽中断请求信号,输入,上升沿触发。该请求信非屏蔽中断请求信号,输入,上升沿触发。该请求信号不受号不受IFIF状态的影响,也不能用软件屏
49、蔽,一旦该信号有效,则状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。执行完当前指令后立即响应中断。(7 7)RESETRESET:复位信号,输入,高电平有效。复位信号,输入,高电平有效。RESETRESET信号至少要保信号至少要保持持4 4个时钟周期。复位时:标志寄存器、个时钟周期。复位时:标志寄存器、IPIP、DSDS、SSSS、ESES为为0 0,CS=FFFFHCS=FFFFH,复位后,复位后CPUCPU从从FFFF0HFFFF0H处开始执行。处开始执行。(8 8)MN/MXMN/MX:工作模式选择信号,输入。工作模式选择信号,输入。MN/MX=1MN/M
50、X=1,表示,表示CPUCPU工工作在最小模式系统;作在最小模式系统;MN/MX=0MN/MX=0,表示,表示CPUCPU工作在最大模式系统。工作在最大模式系统。4.4.其他控制线:其他控制线:24243131引脚引脚1.1.最小方式下,最小方式下,24243131引脚功能引脚功能(1 1)/INTA/INTA:中断响应信号,输出,低电平有效。表示中断响应信号,输出,低电平有效。表示CPUCPU响应响应了外设发来的中断申请信号了外设发来的中断申请信号INTRINTR。2.4.2 最小工作方式当工作模式选择信号当工作模式选择信号MN/MX=1MN/MX=1,CPUCPU就处于最小工作模式。就处于
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922