版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 8086微处理器及其体系结构微处理器及其体系结构本章学习重点:本章学习重点: 了解了解8086CPU的编程结构及引脚功能的编程结构及引脚功能; 掌握掌握8086的存储器和的存储器和I/O组织组织; 掌握掌握8086的操作及时序的操作及时序; 熟悉熟悉8086最小方式下的系统结构最小方式下的系统结构本章学习难点:本章学习难点: 8086的编程结构及寄存器结构的编程结构及寄存器结构; 8086的操作时序的操作时序2.1 80862.1 8086的编程结构的编程结构2.1.1 8086/8088CPU的内部结构的内部结构 8086:Intel系列的系列的16位微处理器,数据总线位微处理器
2、,数据总线16位、位、20条地址线,可寻址地址范围条地址线,可寻址地址范围1MB,指令队列,指令队列6个字节,个字节, 8086工作时,只要一个工作时,只要一个 5V 电源和一个时钟,时钟频率电源和一个时钟,时钟频率为为5MHz 。 8086CPU的内部由两个独立的工作部件构成:的内部由两个独立的工作部件构成: 执行部件执行部件EU (Execution Unit) 总线接口部件总线接口部件BIU (Bus Interface Unit)。 其内部结构框图如下图所示其内部结构框图如下图所示:地址总线地址总线20位位AH ALBH BLCH CLDH DL SP BP DI SI通通用用寄寄存存
3、器器 暂存器暂存器ALU状态状态 EU 控制器控制器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
5、、DI、DI SP-堆栈指针寄存器堆栈指针寄存器 BP-基址指针寄存器基址指针寄存器 DI-目的变址寄存器目的变址寄存器 SI- 源变址寄存器源变址寄存器 (5)执行部件的控制电路)执行部件的控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制发出相应的控制命令,控制ALU数据流向。数据流向。2.2.总线接口部件总线接口部件BIUBIU 功能:功能:(1)取指令送到指令队列。)取指令送到指令队列。(2)CPU执行指令时,配合执行指令时,配合EU从指定的内存或外设中取操作数据,将数从指定的内存或外设中取操作
6、数据,将数据传送到据传送到EU中,或把中,或把EU的执行结果送到指定的内存单元或外设。的执行结果送到指定的内存单元或外设。 总线接口部件的组成:总线接口部件的组成:(1)四个段地址寄存器)四个段地址寄存器 CS16位代码段寄存器位代码段寄存器 DS16位数据段寄存器位数据段寄存器 ES16位附加段寄存器位附加段寄存器 SS16位堆栈段寄存器位堆栈段寄存器(2)16位指令指针寄存器位指令指针寄存器IP(PC)(3)20位的地址加法器位的地址加法器(4)6字节的指令队列缓冲器字节的指令队列缓冲器(5)完成与)完成与EU通信的内部寄存器通信的内部寄存器 说明:说明: ( 1)指令队列缓冲器:)指令队
7、列缓冲器:8086的指令队列为的指令队列为6个字节,个字节,8088的指令队的指令队列为列为4个字节。使用了队列装置,在个字节。使用了队列装置,在EU执行指令的同时,执行指令的同时, BIU将取下一将取下一个字节指令或几个字节的指令依次放入指令队列缓冲器中。个字节指令或几个字节的指令依次放入指令队列缓冲器中。CPU执行完执行完一条指令后,可以马上执行下一条指令(流水线技术)。即:一条指令后,可以马上执行下一条指令(流水线技术)。即: BIU与与EU的工作是并行的,这一种并行工作方式,改变了以往计算机取的工作是并行的,这一种并行工作方式,改变了以往计算机取指令指令译译码码执行指令执行指令的串行工
8、作方式,大大提高了的串行工作方式,大大提高了CPU的的工作效率。工作效率。 (2)地址加法器:产生)地址加法器:产生20位地址。位地址。CPU内无论是段地址寄存器还内无论是段地址寄存器还是偏移量都是是偏移量都是16位的,通过地址加法器产生位的,通过地址加法器产生20位地址。位地址。 例如:段代码例如:段代码CS0FE00H,指令指针,指令指针IP0400H, 则通过地址加法器产生的则通过地址加法器产生的20位位物理地址为物理地址为 0FE000H0400H0FE400H。EUBIUCPUCPU内部工作过程简述内部工作过程简述: : EU EU准备执行一条指令时,从准备执行一条指令时,从BIUB
9、IU部件的指令队列前部取出指令的代码,部件的指令队列前部取出指令的代码,然后去执行指令。在执行指令过程中,如果必须访问存储器或者然后去执行指令。在执行指令过程中,如果必须访问存储器或者I IO O端端口,口,EUEU就会请求就会请求BIUBIU,进入总线周期,完成访问内存或者,进入总线周期,完成访问内存或者I IO O端口的操作;端口的操作;如果此时如果此时BIUBIU正好处于空闲状态,会立即响应正好处于空闲状态,会立即响应EUEU的总线请求。如的总线请求。如BIUBIU正将正将某个指令字节取到指令队列中,则某个指令字节取到指令队列中,则BIUBIU将首先完成这个取指令的总线周期,将首先完成这
10、个取指令的总线周期,然后再去响应然后再去响应EUEU发出的访问总线的请求。发出的访问总线的请求。当指令队列是空的,当指令队列是空的,EUEU就处于等待状态,一旦指令队列中有一条指令,就处于等待状态,一旦指令队列中有一条指令,EUEU会立即取出执行。会立即取出执行。当当80868086的指令队列中有两个空字节(的指令队列中有两个空字节(80888088中有一个空字节),中有一个空字节),BIUBIU就就会自动把指令取到指令队列中。会自动把指令取到指令队列中。取指的顺序按指令在程序中出现的前后取指的顺序按指令在程序中出现的前后顺序。顺序。当指令队列已满,且当指令队列已满,且EUEU又没有总线访问请
11、求时,又没有总线访问请求时,BIUBIU便进入空闲状态。便进入空闲状态。在在EUEU执行转移指令、调用指令和返回指令时,由于待执行指令的顺序执行转移指令、调用指令和返回指令时,由于待执行指令的顺序发生了变化,则指令队列中已经装入的字节被自动消除,发生了变化,则指令队列中已经装入的字节被自动消除,BIUBIU会接着往指会接着往指令队列装入转向的另一程序段中的指令代码。令队列装入转向的另一程序段中的指令代码。2.1.2 8086/8088CPU2.1.2 8086/8088CPU的寄存器结构的寄存器结构 8086/8088内部有内部有14个个16位的寄存器,寄存器可以分为通用寄存器和专用位的寄存器
12、,寄存器可以分为通用寄存器和专用寄存器两大类,如图寄存器两大类,如图2.2所示。所示。1. 1.通用寄存器(通用寄存器(8 8个)个) 8 8个个1616位通用寄存器分为两组:位通用寄存器分为两组:数据寄存器(数据寄存器(4 4个)个) 地址指针地址指针和变址寄存器(个)和变址寄存器(个) 1)数据寄存器数据寄存器 8086/8088有有4个个16位的位的通用寄存器(通用寄存器(AX、BX、CX、 DX ),可以存放),可以存放16位的操作位的操作数,也可分为数,也可分为8个个8位的寄存器位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)来使用。其中)来使用。其中AX称为累加器,称为
13、累加器,BX称为基址称为基址寄存器,寄存器,CX称为计数寄存器,称为计数寄存器,DX称为数据寄存器,这些寄存称为数据寄存器,这些寄存器在具体使用上有一定的差别。器在具体使用上有一定的差别。2 2)指针和变址寄存器)指针和变址寄存器 包括:堆栈指针包括:堆栈指针SP、基址指针、基址指针BP、源变址寄存器、源变址寄存器SI、目的变址寄、目的变址寄存器存器DI,可用来存放数据和地址,可用来存放数据和地址,但只能按但只能按16位进行存取操作。位进行存取操作。 SP堆栈指针寄存器堆栈指针寄存器:入栈入栈(PUSH)和出栈和出栈(POP)指令是由)指令是由SP给出给出栈顶位置(段内偏移量栈顶位置(段内偏移
14、量)。)。BP基址指针寄存器:基址指针寄存器:用来存放位于堆栈段中的一个数据用来存放位于堆栈段中的一个数据区基址的偏区基址的偏移地址。移地址。变址寄存器变址寄存器SI和和DI是用来存放是用来存放 当前数据段的偏移地址的。当前数据段的偏移地址的。源操作数地址的源操作数地址的偏移量偏移量放放SI中,中, SI称为源变址寄存器。称为源变址寄存器。目的操作数地址的目的操作数地址的偏移量偏移量放放DI中,中, DI称为目的变址寄存器。称为目的变址寄存器。2.段寄存器段寄存器组组 8086CPU具有寻址存储器空间具有寻址存储器空间1MB的能力,但是的能力,但是8086指令中给出的指令中给出的地址码仅有十六
15、位,为此,地址码仅有十六位,为此,8086用一组段寄存器将这用一组段寄存器将这1MB存储空间分成若存储空间分成若干个逻辑段。干个逻辑段。 8086CPU的BIU中有四个16位的段寄存器,段寄存器是用来存放段起始地址的,8086的指令直接访问这四个段。 代码段寄存器代码段寄存器CSCS:用于存放当前代码段的段地址:用于存放当前代码段的段地址 ; 数据段寄存器数据段寄存器DSDS:用于存放当前数据段的段地址;:用于存放当前数据段的段地址; 附加段寄存器附加段寄存器ESES:用于存放当前附加段的段地址;:用于存放当前附加段的段地址; 堆栈段寄存器堆栈段寄存器SS:用于存放当前堆栈段的段地址。:用于存
16、放当前堆栈段的段地址。在微机系统的内存中通在微机系统的内存中通常存放着三类信息常存放着三类信息: 汇编语言规定,不同的信息要存放在不同汇编语言规定,不同的信息要存放在不同的存储段,这些存贮段的存储器段地址(段基址)要由各自的段的存储段,这些存贮段的存储器段地址(段基址)要由各自的段存器提供。存器提供。 3.3.控制寄存器组控制寄存器组 1 1)指令指针寄存器)指令指针寄存器(IP 16(IP 16位位) ) 。它始终指向它始终指向CPUCPU下一条要取指令所在存下一条要取指令所在存贮器单元的偏移地址贮器单元的偏移地址( (段地址由段地址由CSCS提供提供) )。用户不能更改用户不能更改IPIP
17、的值的值, ,每取一个指每取一个指令字节,令字节,IPIP自动加自动加1 1,如果程序需要转移或分支,只要把转移地址放入,如果程序需要转移或分支,只要把转移地址放入IPIP即即可。可。标志寄存器标志寄存器FRFR仅定义了仅定义了9 9位,位,其中其中6 6位用作状态标志,位用作状态标志,3 3位位用作控制标志。用作控制标志。 D15 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数
18、个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0D0溢溢出出标标志志2 2)标志寄存器标志寄存器FRFR: 例例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
19、方向标志方向标志: : 当当 DF=0DF=0时,在串操作指令中,进行自动增址操作;时,在串操作指令中,进行自动增址操作; 当当 DF=1DF=1时,在串操作指令中,进行自动减址操作;时,在串操作指令中,进行自动减址操作; IFIF中断允许标志中断允许标志: 当当IF=0IF=0时,禁止时,禁止CPUCPU响应可屏蔽中断;响应可屏蔽中断; 当当IF=1IF=1时,允许时,允许CPUCPU响应可屏蔽中断;响应可屏蔽中断; TFTF单步陷阱标志单步陷阱标志: 当当IF=1IF=1时,表示时,表示CPUCPU进入单步工作方式;进入单步工作方式; 当当IF=0IF=0时,表示时,表示CPUCPU正常执
20、行程序。通常用于程序的调试。正常执行程序。通常用于程序的调试。 控制标志位控制标志位3个,用来控制个,用来控制CPU的操作的操作:2.2 8086/80882.2 8086/8088系统存储器的组织和堆栈系统存储器的组织和堆栈2.2.1 8086/80882.2.1 8086/8088系统存储器的组织系统存储器的组织 8086/8088是是16位的微处理器,在组成存储系统时,总是使偶地址单元的数位的微处理器,在组成存储系统时,总是使偶地址单元的数据通过据通过AD0 AD7(低(低8位)传送,而奇地址单元的数据通过位)传送,而奇地址单元的数据通过AD8 AD15(高(高8位)传送,所有的操作可以
21、是按字节为单位也可以是按字为单位来处理的,但位)传送,所有的操作可以是按字节为单位也可以是按字为单位来处理的,但8086/8088系统中的存储器是以系统中的存储器是以8位(一个字节)为单位对数据进行处理的。因位(一个字节)为单位对数据进行处理的。因此每个字节用一个唯一的地址码表示,这称为存储器的标准结构。此每个字节用一个唯一的地址码表示,这称为存储器的标准结构。 8088/8086有有20根地址总线,可直接寻址的存储器单元数为:根地址总线,可直接寻址的存储器单元数为:220=1M B,每个字节对应一个唯一的地址,地址范围为每个字节对应一个唯一的地址,地址范围为220-1,用用16进制表示进制表
22、示 :00000 FFFFFH。 几个概念:位(位(bit)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为)是计算机所能表示的最小最基本的数据单位,它指的是取值只能为 0或或1的一个二进制数值位。位作为单位时记作的一个二进制数值位。位作为单位时记作字节(字节(byte)由)由8个位二进制位组成,通常用作计算存储容量的单位。字节作个位二进制位组成,通常用作计算存储容量的单位。字节作 为单位时记作为单位时记作B 字长字长 字长是微处理器一次可以直接处理的二进制数码的位数,它通常取字长是微处理器一次可以直接处理的二进制数码的位数,它通常取 决于微处理器内部通用寄存器的位数和数据总线的宽度
23、。决于微处理器内部通用寄存器的位数和数据总线的宽度。数据存储格式数据存储格式 当存储器存放的数是一个字节时,将按顺序存放在每个存储单元中;当存储器存放的数是一个字节时,将按顺序存放在每个存储单元中; 当存放的是一个字时,字的低字节存放在低地址中,高字节存放在高地当存放的是一个字时,字的低字节存放在低地址中,高字节存放在高地址中,并以低字节的地址作为字地址。若字地址为偶地址,则称为址中,并以低字节的地址作为字地址。若字地址为偶地址,则称为规则字规则字存放;若字地址为奇地址,则称为存放;若字地址为奇地址,则称为非规则字非规则字存放。存放。 06000H规则规则字字 06001H 06002H03H
24、04H05H06H07HA37F296B504CD335(7FA3H)非规则非规则字字规则规则字字(506BH)(D335H)存储器的组成存储器的组成 存储器与存储器与8086CPU连接时,连接时,1MB存储空间分成两个存储空间分成两个512KB512KB存储器,即:存储器,即: 偶地址存储器:偶地址存储器:(A0=0A0=0),其数据线与),其数据线与8086CPU8086CPU系统的数据线系统的数据线D7D7D0D0 相连,相连,A0=0A0=0用于片选;用于片选; 奇地址存储器奇地址存储器:(:(A0=1A0=1),其数据线与),其数据线与8086CPU8086CPU系统的数据线系统的数
25、据线D15D15D8D8 相连,相连,/BHE/BHE(高(高8 8位数据总线允许控制)位数据总线允许控制)=0=0用于片选;用于片选; 8086 CPU8086 CPU数据总线为数据总线为1616位:位: 对于访问(读或写)字节的指令,需要一个总线周期;对于访问(读或写)字节的指令,需要一个总线周期; 对于访问一个偶地址的字的指令,需要一个总线周期;对于访问一个偶地址的字的指令,需要一个总线周期; 对于访问一个奇地址的字的指令,需要两个总线周期(对于访问一个奇地址的字的指令,需要两个总线周期(CPUCPU自动完成)。自动完成)。 8088 CPU8088 CPU数据总线为数据总线为8 8位:
26、位: 无论是字,还是字节,也无论是对规则字,还是非规则字,每一个总线周无论是字,还是字节,也无论是对规则字,还是非规则字,每一个总线周期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周期是期只能完成一个字节的数据存取操作。对字数据所组成的连续两个总线周期是由由CPU CPU 自动完成的。自动完成的。80868086存储器的分段结构存储器的分段结构 8086/8088CPU8086/8088CPU有有2020条地址线(条地址线(A19A19A0A0),能寻址外部存贮空),能寻址外部存贮空间为间为=1MB=1MB。由于。由于CPUCPU内部的地址寄存器内部的地址寄存器BXBX、IPI
27、P都是都是1616位,只能位,只能寻址寻址64KB64KB, 为了使为了使 CPUCPU能寻址到外部存贮器能寻址到外部存贮器1MB空间中任何一空间中任何一个单元,巧妙地采用了地址分段方法(将个单元,巧妙地采用了地址分段方法(将1MB1MB空间分成若干个逻空间分成若干个逻辑段),从而将寻址范围扩大到了辑段),从而将寻址范围扩大到了1MB1MB 逻辑段彼此独立,但可紧密相连,也可重叠,逻辑段彼此独立,但可紧密相连,也可重叠,在整个在整个1MB1MB存存储空间浮动,仅需改变段寄存器内容。储空间浮动,仅需改变段寄存器内容。 一般把存储器划分为:一般把存储器划分为:程序区、数据区和堆栈区程序区、数据区和
28、堆栈区。这样,。这样,就可以在就可以在 程序区中存储程序的指令代码,在数据区中存储原始程序区中存储程序的指令代码,在数据区中存储原始数据、中间结果和最后结果,在堆栈区中存储压入堆栈的数据或数据、中间结果和最后结果,在堆栈区中存储压入堆栈的数据或状态信息。状态信息。 2.2.22.2.2存储器的分段和物理地址的形式存储器的分段和物理地址的形式分段方法:分段方法: 各逻辑段的起始地址各逻辑段的起始地址基址,必须能被基址,必须能被1616整除整除, ,即一个段的即一个段的起始地址起始地址(20(20位物理地址位物理地址) )的低的低4 4位二进制码必须是位二进制码必须是0 0。把。把1MB1MB的存
29、贮的存贮空间划分成不受任何限制的若干个逻辑段空间划分成不受任何限制的若干个逻辑段, ,每段最多每段最多64KB64KB。 8086CPU8086CPU中有四段寄存器:中有四段寄存器:CSCS,DSDS,SSSS和和ESES,这四个段寄存器,这四个段寄存器存放了存放了CPUCPU当前可以寻址的四个段的基址,也即可以从这四个段寄当前可以寻址的四个段的基址,也即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器存器规定的逻辑段中存取指令代码和数据。一旦这四个段寄存器的内容被设定,就规定了的内容被设定,就规定了CPUCPU当前可寻址的段。当前可寻址的段。 由于系统中只设有由于系统
30、中只设有4 4个段寄存器,任何时候个段寄存器,任何时候CPUCPU只能识别当前只能识别当前可寻址的可寻址的4 4个逻辑段。如果程序量或数据量很大,超过个逻辑段。如果程序量或数据量很大,超过64K64K字节,字节,那么可定义多个代码段、数据段、附加段和堆栈段,但那么可定义多个代码段、数据段、附加段和堆栈段,但4 4个段寄存个段寄存器中必须是当前正在使用的逻辑段的基地址,需要时可修改这些器中必须是当前正在使用的逻辑段的基地址,需要时可修改这些段寄存器的内容,以扩大程序的规模。段寄存器的内容,以扩大程序的规模。 在一个段内的每个存贮单元在一个段内的每个存贮单元, ,可以用相对于本段的起始地址可以用相
31、对于本段的起始地址(基址)的(基址)的偏移量偏移量来表示来表示, ,这个偏移量称为段内偏移地址这个偏移量称为段内偏移地址, ,也称也称为为有效地址有效地址(EA)(EA)。段内偏移地址也用。段内偏移地址也用1616位二进制编码表示位二进制编码表示. .所所以以, ,在一个段内有在一个段内有=64K=64K个偏移地址个偏移地址( (即一个段最大为即一个段最大为64KB)64KB)。 0600 2000 A000 AE00cs 20000H 15FFFH 06000H 2FFFFHA0000H AFFFFH AE000H BDFFFHSSESDS64K64K64K64K例如当前段基地址分别为:例如
32、当前段基地址分别为: 代码段代码段 06000H 数据段数据段 20000H 堆栈段堆栈段 A0000H 附加段附加段 AE000H 则当前可寻址段存储器分布如图则当前可寻址段存储器分布如图(1)8086(1)8086存储器的逻辑地址和物理地址存储器的逻辑地址和物理地址 存储器中的每个存储单元都可以用存储器中的每个存储单元都可以用实际地址(或称物理地址)实际地址(或称物理地址)和和逻辑逻辑地址地址两个形式的地址来表示:两个形式的地址来表示: 实际地址:也称物理地址,是用唯一的实际地址:也称物理地址,是用唯一的2020位二进制数所表示的地址,位二进制数所表示的地址, 规定了规定了1M字节存储体中
33、某个具体单元的地址字节存储体中某个具体单元的地址 。 逻辑地址:在程序中使用的地址,即逻辑地址:在程序中使用的地址,即段地址和偏移地址段地址和偏移地址,表示格式为:表示格式为: 段地址:偏移地址段地址:偏移地址物理地址物理地址(PA)(PA)的形成的形成 注意几个地址的名称注意几个地址的名称段地址:每个逻辑段起始地址的高段地址:每个逻辑段起始地址的高16位,即段寄存器的内容,无符号数;位,即段寄存器的内容,无符号数; 段基地址:每个逻辑段起始地址;段基地址:每个逻辑段起始地址;偏移地址:相对段基地址的偏移量,无符号数,也称有效地址偏移地址:相对段基地址的偏移量,无符号数,也称有效地址EA。(2
34、)物理地址的形成物理地址的形成 物理地址物理地址PA段基址段基址16偏移地址偏移地址 段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BP、SP等。等。习题:习题:若数据段寄存器(若数据段寄存器(DSDS)2000H2000H,间址寄存器(,间址寄存器(BXBX)4C80H4C80H,则操,则操作数存放的实际地址是多少?作数存放的实际地址是多少? 操作数的物理地址PA(DS) 16+(BX)=20000H+4C80H=24C80H2.3 8086/80882.3 8086/8088的的I/OI/O组织组织1.1.为什么要有接口电路?为什么要有接口电路? I/OI/
35、O设备包括与外界通信和设备包括与外界通信和 存储大容量信息用的各种外部设存储大容量信息用的各种外部设备。由于这些外部备。由于这些外部 设备的复杂性和多样性,特别是速度比设备的复杂性和多样性,特别是速度比CPUCPU低得多,因此低得多,因此I/OI/O设备不能直接和总线相连接。设备不能直接和总线相连接。I/OI/O接口是接口是CPUCPU和和I/OI/O设备之间进行信息和数据传送的电路设备之间进行信息和数据传送的电路。2. CPU2. CPU怎样访问怎样访问I/OI/O接口?接口? I/OI/O接口与接口与CPUCPU之间的通信是利用称为之间的通信是利用称为I/OI/O端口的寄存器来完端口的寄存
36、器来完成的,成的,一个一个I/OI/O端口有一个唯一端口有一个唯一 的的I/OI/O地址与之对应地址与之对应。 3. I/O3. I/O接口的编址接口的编址 8086/8088CPU8086/8088CPU共有共有2020条地址线,对存储器和条地址线,对存储器和I/OI/O端口的寻址端口的寻址采用独立编址的方式采用独立编址的方式,并设有专门的指令(,并设有专门的指令(IN/OUTIN/OUT)对)对I/OI/O端口端口进行操作。进行操作。 CPU访问访问/I/O与访问存储器一样,通过三组总线来实现。与访问存储器一样,通过三组总线来实现。端口的地址不分段,可以有端口的地址不分段,可以有8位或位或
37、16位的端口。当访问位的端口。当访问16的奇的奇数地址端口时也必须访问两次。数地址端口时也必须访问两次。 两种工作模式:两种工作模式: 8086/8088CPU8086/8088CPU根据所连的存储器和外设规模的不同,使它们根据所连的存储器和外设规模的不同,使它们可以在两种模式下工作:可以在两种模式下工作: 系统的最小模式:系统的最小模式:只有一只有一8086/8088 CPU 8086/8088 CPU 。 在这种情况下,所有的总线控制信号,都是直接由在这种情况下,所有的总线控制信号,都是直接由8088/8086CPU8088/8086CPU产生的,系统中的总线控制逻辑电路被减到最少,产生的
38、,系统中的总线控制逻辑电路被减到最少,该模式适用于规模较小的微机应用系统。该模式适用于规模较小的微机应用系统。 系统的最大模式:系统的最大模式:系统至少有两个系统至少有两个CPUCPU,其中一个为主处理器,其中一个为主处理器,即即8086/8086CPU8086/8086CPU,其它的微处理器称之为协处理器,它们是协助,其它的微处理器称之为协处理器,它们是协助主处理器工作的。主处理器工作的。 2.4 8086/8088CPU2.4 8086/8088CPU的引脚功能和工作方式的引脚功能和工作方式2.4.1 8086/8088CPU2.4.1 8086/8088CPU两种工作方式公用引脚功能两种
39、工作方式公用引脚功能01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14/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
40、)/DEN(/S0)ALE(QS0)/INTA(QS1)/TESTREADYRESETGND8086/8088CPU8086/8088CPU引脚信号图:引脚信号图:8088信号也与信号也与8086基基本相同,只是有一些引本相同,只是有一些引脚的功能有所不同脚的功能有所不同: 0208引脚引脚 34引脚引脚8086w计算机的外部特性表现在其引脚信号上,学习计算机的外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:时请特别关注以下几个方面: 引脚的功能引脚的功能指引脚信号的定义、作用;指引脚信号的定义、作用;通常采用英文单词或其缩通常采用英文单词或其缩写表示写表示 信号的流向信号的流向信号
41、从芯片向外输出,信号从芯片向外输出,还是从外部输入芯片,还是从外部输入芯片,或者是双向的或者是双向的 有效电平有效电平起作用的逻辑电平起作用的逻辑电平高、低电平有效上高、低电平有效上升、下降边沿有效升、下降边沿有效 三态能力三态能力输出正常的低电平、输出正常的低电平、高电平外,还可以输高电平外,还可以输出高阻的第三态出高阻的第三态两种模式公用的引脚的定义两种模式公用的引脚的定义其余其余3636个引脚:个引脚:VCCVCC、GNDGND:电源、接地引脚电源、接地引脚。 单一的单一的+5V+5V电源,但有两个接地电源,但有两个接地 引脚。引脚。CLKCLK:时钟信号输入端时钟信号输入端 。采用占空
42、比为采用占空比为1/31/3,频率为,频率为5MHZ5MHZ的时钟信号。的时钟信号。1. 1. 地址地址/ /数据总线数据总线 AD15-AD0AD15-AD0:分时复用分时复用的地址的地址/ /数据线,双向。数据线,双向。 对于对于8088 A15-A8:地址总线高:地址总线高8位位 总线周期:总线周期:CPU对存储单元或对存储单元或I/O端口每读端口每读/写一次数据(一个字节或写一次数据(一个字节或一个字)所需的时间称为一个总线周期。通常情况下,一个总线周期分为一个字)所需的时间称为一个总线周期。通常情况下,一个总线周期分为4个个时钟周期,即时钟周期,即T1、T2、T3、T4。 在在T1期
43、间作地址线期间作地址线A15A0 (8088只有只有AD7AD0)用,此时是输出的)用,此时是输出的是存储单元的低十六位地址或是存储单元的低十六位地址或I/O端口的十六位地址;端口的十六位地址; 在在T2T4期间作数据线期间作数据线D15D0用,此时是双向的。用,此时是双向的。 2. 2. 地址地址/ /状态总线状态总线 A19/S6-A16/S3: 地址地址/状态总线分时复用引脚,输出,三态。状态总线分时复用引脚,输出,三态。在在T1期间,作地址线期间,作地址线A19 A16用。用。在在T2 T4期间作为期间作为S6 S3状态线用。状态线用。S6 :始终为始终为0,表示,表示8086/808
44、8CPU当前与总线连通;当前与总线连通; S5:指示指示IFIF的状态的状态。表明中断允许标志当前的设置。表明中断允许标志当前的设置。 S5=0S5=0,表示,表示CPUCPU中断是关闭的,禁止一切可屏蔽中断源的中断中断是关闭的,禁止一切可屏蔽中断源的中断 请求;请求; S5=1S5=1,表示,表示CPUCPU中断是开放的,允许一切可屏蔽中断源的中断中断是开放的,允许一切可屏蔽中断源的中断 申请。为申请。为1 1时,表明时,表明8086/8088CPU8086/8088CPU可以响应可屏蔽中断;可以响应可屏蔽中断;S4 、S3 :共有四个组态,用以指明当前使用的段寄存器。共有四个组态,用以指明
45、当前使用的段寄存器。 如表如表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组合不同时,在总线上传送的数据不同:组合不同时,在总线上传送的数据不同:/BHE A0 操操 作作 使用总线使用总线 0
46、0 从偶地址单元开始读或写,从偶地址单元开始读或写,16位字传送位字传送 AD15AD0 0 1 从奇地址单元开始读或写,高从奇地址单元开始读或写,高8位字节传送位字节传送 AD15AD8 1 0 从偶地址单元开始读或写,从偶地址单元开始读或写, 低低8位字节传送位字节传送 AD7AD0 1 1 无效无效 在总线周期在总线周期T2T2、T3T3、TWTW和和T4T4状态时,此引脚输出状态时,此引脚输出S7S7状态信号。状态信号。S7S7:80868086中目前无定义。中目前无定义。80888088中,中,/BHE/BHE/引脚定义为引脚定义为系统状态信号系统状态信号/SS0/SS0: 在最大模
47、式中,为高电平;在最大模式中,为高电平; 在最小模式中,此信号与其它信号组合确定当前总线周期的在最小模式中,此信号与其它信号组合确定当前总线周期的读读/ /写动作。写动作。 (2 2)/RD/RD:读信号,三态输出,低电平有效。读信号,三态输出,低电平有效。/RD=0/RD=0,表示当前,表示当前CPUCPU正在对存储器或正在对存储器或I/OI/O端口进行读操作。端口进行读操作。(3 3)READYREADY:准备就绪信号,输入,高电平有效。准备就绪信号,输入,高电平有效。READY=1READY=1,表,表示示CPUCPU访问的存储器或访问的存储器或IOIO端口已准备好传送数据。若端口已准备
48、好传送数据。若CPUCPU在总线周在总线周期期T3T3状态检测到状态检测到READY=0READY=0,表示未准备好,表示未准备好,CPUCPU自动插入一个或多自动插入一个或多个等待状态个等待状态TWTW,直到,直到READY=1READY=1为止。为止。(4 4)/TEST/TEST:测试信号,输入,低电平有效。当测试信号,输入,低电平有效。当CPUCPU执行执行WAITWAIT指指令时,每隔令时,每隔5 5个时钟周期对个时钟周期对/TEST/TEST进行一次测试,若进行一次测试,若/TEST=1/TEST=1,继,继续等待,直到续等待,直到/TEST=0/TEST=0。(5 5)INTRI
49、NTR:可屏蔽中断请求信号,输入,高电平有效。当可屏蔽中断请求信号,输入,高电平有效。当INTR=1INTR=1,表示外设向表示外设向CPUCPU发出中断请求,发出中断请求,CPUCPU在当前指令周期的最后一个在当前指令周期的最后一个T T状状态去采样该信号,若此时,态去采样该信号,若此时,IF=1IF=1,CPUCPU响应中断,执行中断服务程响应中断,执行中断服务程序。序。(6 6)NMINMI:非屏蔽中断请求信号,输入,上升沿触发。该请求信非屏蔽中断请求信号,输入,上升沿触发。该请求信号不受号不受IFIF状态的影响,也不能用软件屏蔽,一旦该信号有效,则状态的影响,也不能用软件屏蔽,一旦该信
50、号有效,则执行完当前指令后立即响应中断。执行完当前指令后立即响应中断。(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/MX=1,表示,表示CPUCPU工工作在最小模式系统;作在最小
51、模式系统;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就处于最小工作模式。就处于最小工作模式。(2 2)ALEALE:地址锁存允许信号,输
52、出,高电平有效。地址锁存允许信号,输出,高电平有效。ALEALE在每个在每个总线周期总线周期T1T1状态发出,用来锁存地址信号状态发出,用来锁存地址信号A15-A0A15-A0,分时使用,分时使用AD15-AD0AD15-AD0地址地址/ /数据总线。数据总线。注意:注意:ALEALE不能被浮置。不能被浮置。(3 3)/DEN/DEN:数据允许信号,三态输出,低电平有效。作为数据:数据允许信号,三态输出,低电平有效。作为数据总线上收发器总线上收发器82868286的选通信号。的选通信号。(4 4)DT/RDT/R:数据发送数据发送/ /接收控制信号,三态输出。此信号控制接收控制信号,三态输出。
53、此信号控制数据总线上的收发器数据总线上的收发器82868286的数据传送方向,的数据传送方向,DT/R=1DT/R=1,发送数据,发送数据- -写操作;写操作;DT/R=0DT/R=0,接收数据,接收数据-读操作。读操作。(5 5)M/IOM/IO:存储器或:存储器或IOIO端口访问信号,三态输出。端口访问信号,三态输出。M/IO=1M/IO=1,表,表示示CPUCPU正在访问存储器;正在访问存储器;M/IO=0M/IO=0,表示,表示CPUCPU正在访问正在访问IOIO端口。端口。(6 6)/WR/WR:写信号,三态输出,低电平有效。:写信号,三态输出,低电平有效。/WR=0/WR=0,表示
54、当前,表示当前CPUCPU正在对存储器或正在对存储器或I/OI/O端口进行读操作。端口进行读操作。(7 7)HOLDHOLD:总线请求信号,输入,高电平有效。当系统中:总线请求信号,输入,高电平有效。当系统中CPUCPU之外之外的另一个控制器要求使用总线时,通过它向的另一个控制器要求使用总线时,通过它向CPUCPU发一高电平的请求发一高电平的请求信号。信号。(8 8)HLDAHLDA:总线请求响应信号,输出,高电平有效。当:总线请求响应信号,输出,高电平有效。当HLDAHLDA有效有效时,表示时,表示CPUCPU对其它控制器的总线请求作出响应,与此同时,所有对其它控制器的总线请求作出响应,与此
55、同时,所有与三总线相接的与三总线相接的CPUCPU的线脚呈现高阻抗状态,从而让出总线。的线脚呈现高阻抗状态,从而让出总线。 总线请求?总线请求?用于其它主控器(其它处理器、用于其它主控器(其它处理器、DMA等)向本等)向本CPU 请求占用总请求占用总线。线。 CPU一旦检测到一旦检测到HOLD=1时,则在当前总线周期结束后,输出时,则在当前总线周期结束后,输出HLDA=1,表示响应总线请求,并让出总线使用权给其它主控器,直至其它主控器用完总线表示响应总线请求,并让出总线使用权给其它主控器,直至其它主控器用完总线后,后,HOLD变为低电平,变为低电平,HLDA才输出为低,本才输出为低,本CPU重
56、新占用总线。重新占用总线。2. 最小工作方式下典型结构最小工作方式下典型结构最小方式接线说明:最小方式接线说明: MN/MX 端接端接+5V,决定了,决定了CPU的工作于最小模式;的工作于最小模式;有一片有一片8284A,作为时钟信号发生器;,作为时钟信号发生器;三片锁存器三片锁存器8282或或74LS273,用来,用来锁存锁存20位地址信息和位地址信息和/BHE/BHE,在,在T1T1状态状态ALEALE(接(接G G端)端)作用下将这些信息锁存以备用,作用下将这些信息锁存以备用,还可以提高地址总线驱动能力;还可以提高地址总线驱动能力; 当系统中所连的存储器和外设端口较多时,需要增加数据总线
57、当系统中所连的存储器和外设端口较多时,需要增加数据总线的驱动能力,用的驱动能力,用2 2片片8286/82878286/8287作为总线收发器。作为总线收发器。CPUCPU的的DT/RDT/R引脚引脚接接82868286的的T T端端控制数据流向,控制数据流向,CPUCPU的数据允许信号的数据允许信号/DNE/DNE引脚引脚接接82868286的的/OE/OE端端允许数据通过。允许数据通过。系统控制线由系统控制线由CPUCPU直接提供。直接提供。 在微机系统中,在微机系统中,CPUCPU是在时钟信号是在时钟信号CLKCLK控制下,按节拍有序控制下,按节拍有序地执行指令序列。从取指令开始,经过分
58、析指令、对操作数寻地执行指令序列。从取指令开始,经过分析指令、对操作数寻址,然后执行指令、保存操作结果,这个过程称为指令执行周址,然后执行指令、保存操作结果,这个过程称为指令执行周期。期。 指令周期:指令周期:执行一条指令所需要的时间。执行一条指令所需要的时间。总线周期:总线周期:CPUCPU通过总线与存储器或通过总线与存储器或I/OI/O接口进行一次数据传输接口进行一次数据传输所需的时间。所需的时间。总线周期总线周期T1T2T3TWT42.5 8086/808 82.5 8086/808 8的操作及其时序的操作及其时序2.5.12.5.1 总线周期、总线周期、T T状态和操作时序状态和操作时
59、序T T状态(时钟周期)状态(时钟周期):是:是CPUCPU处理动作的最小时间单位处理动作的最小时间单位, ,主频为主频为5KHZ5KHZ的时钟信号时,其时钟周期为的时钟信号时,其时钟周期为200ns200ns。READY无效时插入TW 时序(时序(TimingTiming)是指信号高低电平)是指信号高低电平( (有效或无效有效或无效) )变化及相变化及相互间的时间顺序关系。互间的时间顺序关系。n是计算机操作运行的时间顺序是计算机操作运行的时间顺序 n总线时序描述总线时序描述CPUCPU引脚如何实现总线操作引脚如何实现总线操作nCPUCPU时序决定系统各部件间的同步和定时时序决定系统各部件间的
60、同步和定时时序时序80868086的总线时序包括以下部分:的总线时序包括以下部分:1 1)系统的复位和启动操作;)系统的复位和启动操作;2 2)总线操作(存储器读操作和写操作);)总线操作(存储器读操作和写操作);3 3)中断响应操作;)中断响应操作;4 4)暂停操作;)暂停操作;5 5)总线保持或总线请求)总线保持或总线请求/ /允许操作。允许操作。 在复位状态下,在复位状态下,CPU内部的各寄存器被置为初态。其初态见内部的各寄存器被置为初态。其初态见表表28。 由于复位时,代码段寄存器由于复位时,代码段寄存器CS和指令指针寄存器和指令指针寄存器IP分别被初始化为分别被初始化为FFFFH和和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度照明工程设计、施工与监理一体化合同2篇
- 2024年淄博职业学院高职单招语文历年参考题库含答案解析
- 解三角形复习
- 二零二五年度艺术展览LOGO设计及文化传播协议2篇
- 2024年阳泉市第一人民医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年江西婺源茶业职业学院高职单招语文历年参考题库含答案解析
- 2024年江苏护理职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 二零二五年度财务顾问与创业投资机构合作合同模板3篇
- 2024年杭州万向职业技术学院高职单招职业适应性测试历年参考题库含答案解析
- 2024年揭阳职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 二年级上册数学竖式计算300道带答案
- 设备管理:设备管理的维护与保养
- 土特产行业现状分析
- 组织学与胚胎学课程教学大纲
- 玻璃硝酸钾加硬工艺
- 苏教版五年级上册数学简便计算大全500题及答案
- 根轨迹分析基本概念
- 设立股权交易中心公司实施方案
- 珠海金湾区2023-2024学年七年级上学期期末数学达标卷(含答案)
- 广西壮族自治区钦州市浦北县2023-2024学年七年级上学期期末历史试题
- 《输电线路防雷保护》课件
评论
0/150
提交评论