微型计算机原理与应用:第三章 微机系统中的微处理器

上传人:m**** 文档编号:569933421 上传时间:2024-07-31 格式:PPT 页数:67 大小:1.51MB
返回 下载 相关 举报
微型计算机原理与应用:第三章 微机系统中的微处理器_第1页
第1页 / 共67页
微型计算机原理与应用:第三章 微机系统中的微处理器_第2页
第2页 / 共67页
微型计算机原理与应用:第三章 微机系统中的微处理器_第3页
第3页 / 共67页
微型计算机原理与应用:第三章 微机系统中的微处理器_第4页
第4页 / 共67页
微型计算机原理与应用:第三章 微机系统中的微处理器_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《微型计算机原理与应用:第三章 微机系统中的微处理器》由会员分享,可在线阅读,更多相关《微型计算机原理与应用:第三章 微机系统中的微处理器(67页珍藏版)》请在金锄头文库上搜索。

1、第三章微机系统中的微处理器本章学习目标本章学习目标v了解微处理器的内部结构; v掌握微处理器的工作步骤及指令在微处理器内部的具体执行过程;v熟练掌握微处理器的编程结构;内容分布内容分布1. 微处理器概述微处理器概述2. 8086的编程结构的编程结构3. 8086的寄存器结构的寄存器结构4. 8086的存储器组织的存储器组织5. 8086的的I/O组织组织6. 8086的寻址方式的寻址方式1.1 CPU的基本概念1.2 CPU主要技术参数1.3 微处理器的内部功能结构1.4 微处理器的外部结构1 微处理器概述微处理器概述1.1 CPU的基本概念:的基本概念: 1.微处理器(微处理器(Micro

2、Processing Unit),即微型化的中央处,即微型化的中央处理器。中央处理器理器。中央处理器CPU的英文全称是的英文全称是Central Processing Unit。早期微处理器以。早期微处理器以MPU表示,以区别于大型主机的多芯表示,以区别于大型主机的多芯片片CPU。但现在已经不加区分,都用。但现在已经不加区分,都用CPU表示。表示。 2.微处理器级总线;微处理器级总线;就是指微处理器的输入输出引脚。就是指微处理器的输入输出引脚。 3.系统级总线:系统级总线:微处理器通过引脚与某些其它逻辑电路连接微处理器通过引脚与某些其它逻辑电路连接组成主机板系统,形成系统级总线。组成主机板系统

3、,形成系统级总线。 4.硬件系统:硬件系统:许多外设经过接口逻辑与系统总线连接,共同许多外设经过接口逻辑与系统总线连接,共同构成微机的硬件系统。构成微机的硬件系统。返回本节首页返回本节首页1.2 CPU主要技术参数主要技术参数1位、字节和字长;位、字节和字长;2CPU主频;主频;3CPU外频;外频; 4前端总线(前端总线(FSB)频率)频率 : 处理器与主板通信的时处理器与主板通信的时 钟频率;钟频率; 5L1和和L2 Cache的容量和速率的容量和速率返回本节首页返回本节首页1.3微处理器的内部功能结构微处理器的内部功能结构先确定先确定CPU应该完成的基本功能应该完成的基本功能 对应功能设置

4、逻辑部件对应功能设置逻辑部件运算功能与内存及I/O接口的数据传送功能暂存数据功能对指令的分析,执行功能整个系统的定时及控制信号功能响应外设中断请求功能 ALU 内部总线与外部总线接口逻辑 寄存器组 指令译码器 控制信号发生器 中断控制逻辑1.3.1 Intel 8080 由于由于CPU内部的统一性,执行指令的全过程:内部的统一性,执行指令的全过程:取指令取指令分析指令分析指令执行指令是执行指令是 串行完成的串行完成的 t1 t2 t3 t4 t5 t6 t7 t81.3.2 Intel 8086 8086 CPU的内部结构为两个独立工作单元的内部结构为两个独立工作单元EU和和BIU,工作方式为

5、,工作方式为重叠方式重叠方式 ,取指取指取指取指取指取指取指取指执行执行执行执行执行执行执行执行EUBIU时间时间到第二节到第二节1.3.3 Intel 80286 其内部包含四个独立工作的部件其内部包含四个独立工作的部件 ,其工作方式为,其工作方式为 流水线方式流水线方式执行执行执行执行执行执行执行执行译码译码译码译码译码译码译码译码预取预取预取预取预取预取预取预取地址地址地址地址地址地址地址地址EUIUBUAU时间时间 t1 t2 t3 t4 t5 t6 t71.3.4 Intel 803861.3.5 Intel 804861.3.6 Pentium系列系列(1)Intel Pentiu

6、m的特点:的特点:v超标量流水线;超标量流水线;Pentium由由“U”和和“V”两条指令流水线构成超两条指令流水线构成超标量流水线结构,其中每条流水线都有自己的标量流水线结构,其中每条流水线都有自己的ALU、地址生成逻、地址生成逻辑和辑和Cache接口。这种双流水线技术可以使两条指令在不同流水接口。这种双流水线技术可以使两条指令在不同流水线中并行执行线中并行执行。v流水线级数;每条流水线又分为指令预取流水线级数;每条流水线又分为指令预取PF、指令译码、指令译码(一次译一次译码码)D1、地址生成、地址生成(二次译码二次译码)D2、指令执行、指令执行EX和回写和回写WB共共5个步个步骤。骤。v浮

7、点部件;浮点部件;Pentium的浮点运算部件在的浮点运算部件在80486的基础上作了重新的基础上作了重新设计,采用了超流水线技术,由设计,采用了超流水线技术,由8个独立执行部件进行流水线作个独立执行部件进行流水线作业,使每个时钟周期能完成一个浮点操作业,使每个时钟周期能完成一个浮点操作(或两个浮点操作或两个浮点操作)。vCACHE;Pentium片内有两个片内有两个8KB的超高速缓存器,一个是指的超高速缓存器,一个是指令令Cache,一个是数据,一个是数据Cache。v动态分支预测:当某条指令导致分支时,分支目标缓冲器动态分支预测:当某条指令导致分支时,分支目标缓冲器BTB记记下该指令和分支

8、目标的地址,用此信息预测该指令再次产生分支下该指令和分支目标的地址,用此信息预测该指令再次产生分支时的路径,预取指令,保证流水线的指令预取步骤不空置,对循时的路径,预取指令,保证流水线的指令预取步骤不空置,对循环有利。环有利。v数据总线;数据总线;Pentium芯片内部芯片内部ALU和通用寄存器仍是和通用寄存器仍是32位,所以位,所以还是还是32位微处理器,但它同内存储器进行数据交换的外部数据总位微处理器,但它同内存储器进行数据交换的外部数据总线为线为64位,使两者之间的数据传输速度可达位,使两者之间的数据传输速度可达528MB/s。(2)Pentium Pro的特点是:v二级二级CACHE;

9、v指令系统;指令系统;v乱序和推测执行:乱序执行是指不完全按照程序的指令规定乱序和推测执行:乱序执行是指不完全按照程序的指令规定的指令顺序依次执行。推测执行是指遇到转移指令时,不等的指令顺序依次执行。推测执行是指遇到转移指令时,不等结果出来便先推测可能往哪转移便提前执行,又叫风险执行。结果出来便先推测可能往哪转移便提前执行,又叫风险执行。这样允许这样允许CPU使指令流能最有效地利用内部资源。使指令流能最有效地利用内部资源。v超级流水线:具有超级流水线:具有14级超级流水线结构将任意一条指令地全级超级流水线结构将任意一条指令地全部执行分成一连串的指令步,目的是提高并行处理能力。部执行分成一连串的

10、指令步,目的是提高并行处理能力。(3)Pentium MMX的特点:的特点: 多媒体扩展:简写是多媒体扩展:简写是MMX,通过在处理器中增加,通过在处理器中增加4中中新数据类型、新数据类型、8个个64位寄存器、位寄存器、57条新指令,来提高条新指令,来提高PC处理处理多媒体和通信能力,是对多媒体和通信能力,是对IA-32(Intel Architecture,32位位Intel体系结构)指令系统的扩展。体系结构)指令系统的扩展。返回本节首页返回本节首页1.4微处理器的外部结构:微处理器的外部结构: 从表面来看,微处理器的外部就是数量有限的输入输出引从表面来看,微处理器的外部就是数量有限的输入输

11、出引脚,这些引脚就是脚,这些引脚就是微处理器级总线微处理器级总线。微处理器通过微处理器级。微处理器通过微处理器级总线沟通与外部部件和设备之间的联系。总线沟通与外部部件和设备之间的联系。 按功能划分,总线可以分为三种:按功能划分,总线可以分为三种:(1)地址总线()地址总线(AB););(2)数据总线()数据总线(DB););区分微处理器位数的依据区分微处理器位数的依据(3)控制总线()控制总线(CB);); 三种总线中,三种总线中,CPU通过通过AB输出地址码来选择某一存储单元输出地址码来选择某一存储单元或或I/O端口的寄存器;端口的寄存器;DB用于用于CPU和存储器或和存储器或I/O接口之间

12、的数接口之间的数据传送;据传送;CB接收出入接收出入CPU的控制信息和状态信息。的控制信息和状态信息。 与地址总线和存储器及与地址总线和存储器及I/O地址空间地址空间 有关的概念和问题:有关的概念和问题:存储器通常由几个存储模块组成,每个存储单元都有唯存储器通常由几个存储模块组成,每个存储单元都有唯一的地址与之对应,称为一的地址与之对应,称为存储器地址存储器地址。I/O接口接口是保证数据、控制与状态信息在是保证数据、控制与状态信息在CPU和和I/O设备之设备之间正常传送的电路。它们之间的通信是利用称为间正常传送的电路。它们之间的通信是利用称为I/O端口端口的寄的寄存器来完成的,一个存器来完成的

13、,一个I/O接口可以对应几个接口可以对应几个I/O端口,每个端口,每个I/O端端口都有唯一的口都有唯一的I/O地址与其对应。地址与其对应。存储单元和存储单元和I/O端口都以字节为单位,字节都有个端口都以字节为单位,字节都有个Bit位位组成,一个字包含两个字节组成,一个字包含两个字节(16位位),每个字节对应一个地址。,每个字节对应一个地址。 统一编址(单地址空间)与独立编址(独立地址空间)统一编址(单地址空间)与独立编址(独立地址空间) 地址总线的条数就是二进制地址码的位数,它可能表示地址总线的条数就是二进制地址码的位数,它可能表示的不同地址的集合称为的不同地址的集合称为地址空间地址空间。存储

14、单元和。存储单元和I/O端口在同端口在同一地址空间,这种方法称为一地址空间,这种方法称为统一编址统一编址,它们的存取指令是一,它们的存取指令是一样的;而两者在两个独立的地址空间,它们的地址码的位数样的;而两者在两个独立的地址空间,它们的地址码的位数不同,采用的存取指令是不一样的,这种方法称为不同,采用的存取指令是不一样的,这种方法称为独立编址独立编址。地址码的位数决定了地址空间的大小。若地址码共地址码的位数决定了地址空间的大小。若地址码共n位,则可以有位,则可以有2n个地址。对于单地址空间的个地址。对于单地址空间的CPU的处理器,的处理器,则存储器和则存储器和I/O端口合在一起的空间容量为端口

15、合在一起的空间容量为2n个字节。对于个字节。对于独立空间的来说,地址总线的条数决定了存储器地址空间的独立空间的来说,地址总线的条数决定了存储器地址空间的容量;地址总线中用于容量;地址总线中用于I/O端口编址的条数端口编址的条数决定决定I/O地址空间地址空间的容量。的容量。 在在8086CPU系统中,地址总线的条数为系统中,地址总线的条数为20条,则条,则存储器存储器的最大容量为的最大容量为220,即,即1MB字节字节;它的地址总线的低;它的地址总线的低16位用位用来对来对I/O端口编址,则端口编址,则I/O地址空间的容量为地址空间的容量为216,即,即64K个个I/O端口地址端口地址。 由于存

16、储器划分为模块,所以存储器地址的高几位可用由于存储器划分为模块,所以存储器地址的高几位可用来选择模块,其余低位则用来标识该模块内的字节或字。同来选择模块,其余低位则用来标识该模块内的字节或字。同样,利用样,利用I/O地址中的高位来标识地址中的高位来标识I/O接口,而用接口,而用2或或3个低位个低位来选择该接口内的来选择该接口内的I/O端口。端口。存储器和存储器和I/O端口的组织端口的组织CPU数数据据线线控控制制线线地地址址线线接接 口口地址地址 存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块高位决定端口,高位决定端口,2或或3个低位选择

17、端口个低位选择端口返回本章首页返回本章首页2 8086的编程结构的编程结构 AH ALBH BL CLCH DH DL SP BP DI SI 通通 用用 寄寄 存存 器器 CSDS SS ES I P内部暂存器内部暂存器总线总线控制控制逻辑逻辑 1 2 3 4 5 6 AX BX CX DX运算寄存器运算寄存器ALU标志寄存器标志寄存器 外部总线外部总线指令队列指令队列16 位位数据总线数据总线EU控制器控制器地址加法器地址加法器地址总线(地址总线(20位)位)数据总线数据总线 段段寄寄存存器器指令指针指令指针(EU) (BIU)(16位)位)工作方式工作方式队列总线队列总线(8位)位) 执

18、行单元执行单元(EU) EU由算术逻辑单元由算术逻辑单元ALU、暂存器、标志寄存器、暂存器、标志寄存器(PSW)、通用寄存器组和通用寄存器组和EU控制器构成。控制器构成。 其任务是其任务是执行指令执行指令,进行进行全部的算术逻辑全部的算术逻辑运算运算,完成偏,完成偏移地址的移地址的计算计算,向,向BIU提供提供指令执行的指令执行的结果和偏移地址结果和偏移地址,并,并对通用寄存器和标志寄存器进行对通用寄存器和标志寄存器进行管理管理。返返 回回总线接口单元总线接口单元(BIU) BIU包括个段寄存器、指令指针包括个段寄存器、指令指针IP(PC)、指令队列、指令队列寄存器寄存器(IR)、完成与、完成

19、与EU通讯的内部寄存器、地址加法器和通讯的内部寄存器、地址加法器和总线控制逻辑。总线控制逻辑。 BIU的任务是完成的任务是完成CPU与存储器和与存储器和I/O设备之间信息的设备之间信息的传送。具体地讲,就是传送。具体地讲,就是取指令取指令时,从存储器指定地址取出时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据指令送入指令队列排队;执行指令时,根据EU命令对指定命令对指定存储单元或存储单元或I/O端口端口存取数据存取数据。 16位的位的ALU总线和总线和8位队列总线用于位队列总线用于EU内部和内部和EU与与BIU之间的通信。之间的通信。返返 回回 8086 CPU工作方式工作方式

20、每条指令的执行都有取指、分析指令和执行指令的过程。每条指令的执行都有取指、分析指令和执行指令的过程。 EU单元执行一条指令后,就从单元执行一条指令后,就从BIU的指令队列中取出预的指令队列中取出预先读入的指令代码加以执行。如此时指令队列是空的,先读入的指令代码加以执行。如此时指令队列是空的,EU处处于等待状态。一旦指令队列中出现指令,于等待状态。一旦指令队列中出现指令,EU立即取出执行。立即取出执行。 BIU单元中单元中,若指令队列中出现,若指令队列中出现2个空闲字节,且个空闲字节,且EU没没有命令有命令BIU进入对存储器和进入对存储器和I/O端口的访问,则端口的访问,则BIU将自动执将自动执

21、行取指令来填满指令队列。当指令队列中已填满指令,而行取指令来填满指令队列。当指令队列中已填满指令,而EU单元又没有进入存储器和单元又没有进入存储器和I/O端口的访问命令时,端口的访问命令时,BIU进入空进入空闲状态。闲状态。 EU和和BIU进行的操作是进行的操作是并行并行的,的, 即即EU从指令队列取指从指令队列取指令、执行指令和令、执行指令和BIU补充指令队列的工作是同时进行的。补充指令队列的工作是同时进行的。取指取指取指取指 取指取指取指取指取指取指取指取指取指取指取指取指等待等待等待等待取数据取数据取数据取数据取指取指取指取指执行执行执行执行执行执行执行执行执行执行执行执行执行执行执行执

22、行BIU EU 8086 CPU的内部结构为两个工作单元的内部结构为两个工作单元EU和和BIU,工作方式为,工作方式为 并行方式(重叠方式)并行方式(重叠方式) 取指取指取指取指取指取指取指取指执行执行执行执行执行执行执行执行EUBIU时间时间 t1 t2 t3 t4 t5 返回本章首页返回本章首页3.8086的寄存器结构的寄存器结构3.1 通用寄存器组通用寄存器组1.数据寄存器(地址)数据寄存器(地址) 在指令执行过程中既可用来寄存操作数,也可用于寄存在指令执行过程中既可用来寄存操作数,也可用于寄存 操作的结果。操作的结果。 AX: 累加器累加器 BX: 基础寄存器基础寄存器 CX: 计数寄

23、存器计数寄存器 DX: 数据寄存器数据寄存器 每一个又可分成独立的两个每一个又可分成独立的两个8位寄存器(位寄存器(AX:AH和和AL;BX:BH和和BL;CX;DX)。)。8位寄存器只能用于存放数位寄存器只能用于存放数据。据。 2.地址指针和变址寄存器(数据)地址指针和变址寄存器(数据) 对存储器操作数寻址时,用于形成对存储器操作数寻址时,用于形成20位物理地址码。位物理地址码。由于它们都是由于它们都是16位的寄存器,访问存储器的地址码由段地址位的寄存器,访问存储器的地址码由段地址和段内偏移地址两部分构成。和段内偏移地址两部分构成。这这 4 个寄存器用于存放段内偏个寄存器用于存放段内偏移地址

24、的全部或一部分。移地址的全部或一部分。 SP: 堆栈指针堆栈指针 BP: 基址指针(基址指针(SS) SI: 源变址源变址R DI: 目的变址目的变址R P38表表3.1通用寄存器的特定用法通用寄存器的特定用法3.2 标志寄存器标志寄存器状态标志状态标志:OF;SF;ZF;AF;PF;CF控制标志控制标志:DF;IF;TF状态标志位状态标志位 CF(Carry Flag)进位标志进位标志:如果加法时最高位:如果加法时最高位(对字节操对字节操作是作是D7位,对字操作是位,对字操作是D15位位)产生进位或借位时,则产生进位或借位时,则CF=1;否否 则则CF=0。 PF(Parity Flag)奇

25、偶标志奇偶标志:如果操作结果的低:如果操作结果的低8位中含有位中含有偶数个偶数个1,PF=1;否则;否则PF=0。 AF(Auxiliary Flag)辅助进位标志辅助进位标志:如果在加法时:如果在加法时D3位有位有进位或减法时有借位,则进位或减法时有借位,则AF=1,否则,否则AF=0。 ZF(Zero Flag)零标志零标志:如果运算结果各位都为零时,则:如果运算结果各位都为零时,则ZF=1,否则,否则ZF=0。 SF(Sign Flag)符号标志符号标志:它总和结果的最高位:它总和结果的最高位(字节操作字节操作时是时是D7,字操作时是,字操作时是D15)相同。所以运算结果为负时相同。所以

26、运算结果为负时SF=1;否则否则SF=0。 OF(Overflow Flag)溢出标志溢出标志:在加减运算中结果超出有:在加减运算中结果超出有符号数所能表示的数值范围,就产生溢出,符号数所能表示的数值范围,就产生溢出,OF=1;否则;否则OF=0。 例如例如 0010 0011 0100 0101 + 0101 0010 0001 1001 0111 0101 0101 1110 执行后,各标志位是:执行后,各标志位是:CF=0,PF=0,AF=0,ZF=0,SF=0,OF=0。返回返回控制标志位控制标志位 DF(Direction Flag)方向标志方向标志:可用指令预置。当:可用指令预置。

27、当DF0时,执行串操作指令,变址寄存器地址自动递增;当时,执行串操作指令,变址寄存器地址自动递增;当DF1时,则变址寄存器地址自动递减。该标志位可以控制地址朝时,则变址寄存器地址自动递减。该标志位可以控制地址朝增大的方向或减小的方向改变。增大的方向或减小的方向改变。 IF(Interrupt Enable Flag)中断允许标志中断允许标志:可用指令预:可用指令预置。当置。当IF1,CPU可响应可屏蔽中断请求;若可响应可屏蔽中断请求;若IF0,CPU不响应可屏蔽中断请求。不响应可屏蔽中断请求。 TF(Trap Flag)陷阱标志陷阱标志:若:若TF1,则,则CPU处于单步执处于单步执行指令工作

28、方式。每执行一步就自动产生一次类型行指令工作方式。每执行一步就自动产生一次类型1的内部的内部中断。中断。3.3段寄存器组段寄存器组 访问存储器的地址码由段地址和段内偏移地址两部分组访问存储器的地址码由段地址和段内偏移地址两部分组成。段寄存器用来存放段地址。成。段寄存器用来存放段地址。 CS:存放当前所执行程序所在段的段地址。存放当前所执行程序所在段的段地址。 DS:存放当前数据段的段地址,数据段通常存放数据和变量。存放当前数据段的段地址,数据段通常存放数据和变量。 SS:存放当前堆栈段的段地址。存放当前堆栈段的段地址。 ES:存放附加数据段的段地址,进行字符串操作时作为目的存放附加数据段的段地

29、址,进行字符串操作时作为目的 地址。地址。 3.4指令指针(指令指针(IP) 保存下一条要执行的指令的偏移地址保存下一条要执行的指令的偏移地址 返回本章首页返回本章首页4.8086的存储器组织的存储器组织 4.1存储器地址空间和数据存储格式存储器地址空间和数据存储格式 存储单元地址存储单元地址 :8086系统中,为了标识系统中,为了标识和存取每一个存储单元,给每个存储单元规和存取每一个存储单元,给每个存储单元规定一个编号,这就是存储单元地址。定一个编号,这就是存储单元地址。 8086的存储器以字节为基本的存储单元,的存储器以字节为基本的存储单元,每个字节对应一个唯一的地址,地址范围为每个字节对

30、应一个唯一的地址,地址范围为00000HFFFFFH。存储器的地址存储器的地址十六进制地址二进制地址存储器十六进制地址二进制地址存储器00000 0000 0000 0000 0000 000000001 0000 0000 0000 0000 000100002 0000 0000 0000 0000 001000003 0000 0000 0000 0000 0011FFFFE 1111 1111 1111 1111 1110FFFFF 1111 1111 1111 1111 1111 字:字:连续的两个字节构成,高字节存放在高地连续的两个字节构成,高字节存放在高地 址,低字节存放在低地址

31、,其中低字节的址,低字节存放在低地址,其中低字节的 地址为字的地址。地址为字的地址。对准字:对准字:字的地址为偶地址。访问时需要一字的地址为偶地址。访问时需要一 个总线周期。个总线周期。未对准字:未对准字:字的地址为奇地址。访问需要两个字的地址为奇地址。访问需要两个 总线周期总线周期(CPU自动完成自动完成) 。地址和位号的约定地址和位号的约定76 5 4 3 2 1 0 7 6 5 4 3 2 1 0815 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0位号位号地址地址N+1地址地址N(高字高字节节)(低字低字节节)字地址字地址4.2存储器的分段和物理地址的形成存储器的

32、分段和物理地址的形成 8086CPU的地址线是的地址线是20位的,这样最大可寻址空间应为位的,这样最大可寻址空间应为220=1MB,其物理地址范围从其物理地址范围从00000HFFFFFH。而。而8086CPU寄寄存器都是存器都是16位的。那么,这位的。那么,这1MB空间如何用空间如何用16位寄存器表达呢?位寄存器表达呢? 根据要求可把根据要求可把1M字节地址空间划成若干逻辑段。每个逻辑段字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是16的倍数;二是逻辑段的最大长度为的倍数;二是逻辑段的

33、最大长度为64K。按照这两个条件,。按照这两个条件,1M字节地址空间最多可划分成字节地址空间最多可划分成64K个逻辑段,最少也要划分成个逻辑段,最少也要划分成16个逻个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。X X X X X X X X X X X X X X X X0 0 0 020位地位地址址16位段地址位段地址【例例1】各独立段的分配情况示例。各独立段的分配情况示例。 设设CS=B000H、 DS=1CDEH、 SS=4200H、 ES=0150H,它它 们们 分分别别为为代代码码段段、数数据据段段、堆堆栈栈段段和和

34、附附加加段段的的段段首首址址。自自每每个个段段首首址址开开始始,各各段段均均占占64KB的的范范围围,各各段段之之间间互互不重叠。如图所示。不重叠。如图所示。【例例2】各段相互重叠情况示例。各段相互重叠情况示例。设设CS=0200H、DS=0400H、SS=0480H,这样代码这样代码段、数据段和堆栈段的段、数据段和堆栈段的物理首地址分别为物理首地址分别为02000H、04000H和和04800H。其中代码段其中代码段占占8KB地址空间,数据地址空间,数据段占段占2KB,堆栈段占堆栈段占256B,SP=0100H。如如图所示。图所示。 在在8086中,当把中,当把1MB的存储器空间划分为若干的

35、存储器空间划分为若干个逻辑段之后,段内任何一个存储单元的地址可用个逻辑段之后,段内任何一个存储单元的地址可用相对于段起始地址的偏移量来表示,该偏移量称为相对于段起始地址的偏移量来表示,该偏移量称为偏移地址偏移地址。 物理地址物理地址:存储单元的实际地址编码。:存储单元的实际地址编码。 逻辑地址逻辑地址:段地址:段地址:偏移地址偏移地址 物理地址段地址物理地址段地址10H偏移地址偏移地址 例如例如8000:0100表示段地址为表示段地址为8000H,偏移地,偏移地址为址为0100H,因此物理地址为,因此物理地址为80100H。 8086CPU中的中的BIU单元的加法器单元的加法器用来完成物理用来

36、完成物理地址的计算。地址的计算。4.3信息的分段存储与段寄存器的关系信息的分段存储与段寄存器的关系 为了操作方便,存储器可相应地划分为:程序区,为了操作方便,存储器可相应地划分为:程序区,该区存储程序的指令代码;数据区,存储原始数据、中该区存储程序的指令代码;数据区,存储原始数据、中间结果和最后结果;堆栈区,用以存储需要压栈的数据间结果和最后结果;堆栈区,用以存储需要压栈的数据或状态信息。或状态信息。段寄存器的分工是:代码段寄存器段寄存器的分工是:代码段寄存器CS划定并控制着划定并控制着程序区;数据段寄存器程序区;数据段寄存器DS和附加数据段寄存器和附加数据段寄存器ES控制控制着数据区;堆栈段

37、寄存器着数据区;堆栈段寄存器SS对应着堆栈存储区。下面列对应着堆栈存储区。下面列出各种类型访问存储器时的地址成分。出各种类型访问存储器时的地址成分。各种类型访问存储器时的地址成分各种类型访问存储器时的地址成分访问存储器类型访问存储器类型默认默认段地址段地址可指定段地址可指定段地址 段段 内内 偏偏 移移 地地 址址 来来 源源取指令码取指令码CS无无IP堆栈操作堆栈操作SS无无SP字符串操作源地址字符串操作源地址DSCS,ES,SSSI字符串操作目的地址字符串操作目的地址ES无无DIBP用作基地址寄存器用作基地址寄存器SSCS,DS,ES依寻址方式求得依寻址方式求得有效地址有效地址EA一般数据

38、存取一般数据存取DSCS,ES,SS依寻址方式求得依寻址方式求得有效地址有效地址EA1.默认段寄存器与默认段寄存器与“指定指定”的段寄存器的段寄存器 不允许指定段寄存器的操作类型:取指令码;不允许指定段寄存器的操作类型:取指令码;堆栈操作;字符串处理指令的目的地址。堆栈操作;字符串处理指令的目的地址。2.传送类指令不能向传送类指令不能向CS置数置数 段寄存器内容可更改意味着存储区域的浮动性。段寄存器内容可更改意味着存储区域的浮动性。3.指定偏移地址来源指定偏移地址来源返回本章首页返回本章首页5.8086的的I/O组织组织 接口:接口:保证信息数据在保证信息数据在CPU与与I/O设备之间正常传设

39、备之间正常传送的电路。送的电路。 端口:端口:接口电路中的寄存器,一个接口电路中的寄存器,一个I/O端口与唯一端口与唯一的的I/O地址相对应。地址相对应。 8086地址总线的低地址总线的低16位用来对位用来对8位位I/O端口寻址。端口寻址。 任何两个地址连续的任何两个地址连续的8位位I/O端口可以当作一个端口可以当作一个16位位I/O端口。端口。返回本章首页返回本章首页6.8086的寻址方式的寻址方式指令:操作码和操作数指令:操作码和操作数寻址方式:指令中用于说明操作数所在地址的方法寻址方式:指令中用于说明操作数所在地址的方法数据寻址方式数据寻址方式;转移地址寻址方式转移地址寻址方式;6.1数

40、据的寻址方式数据的寻址方式1.立即寻址立即寻址 指令操作码和操作数都在指令操作码和操作数都在存储器代码段存储器代码段中。中。 例如:例如:MOV AX,1234H ;十六进制数十六进制数 1234H送入送入AX 2.寄存器寻址寄存器寻址 操操作作数数存存放放在在指指令令规规定定的的寄寄存存器器中中,对对于于16位位操操作作数数,寄寄存存器器可可以以是是AX,BX,CX,DX,SI,DL,SP或或BP;而而对对8位位操操作作数数,寄寄存存器器可可以以是是AH,AL,BH,BL,CH,CL,DH或或DL。 例如:例如:MOV AX,BX ;将寄存器将寄存器BX的内容送入的内容送入 AX中。中。3.

41、直接寻址直接寻址 指令下一字单元的内容是操作指令下一字单元的内容是操作数的偏移地址数的偏移地址EAEA。 例如:例如:MOV AL,DS:2000H 将逻辑地址为将逻辑地址为DS:2000单元内的字单元内的字节送入节送入AL。 若若段段基基址址DS=4000H,则则段段起起始始物物理理 地地 址址 为为 4000H左左 移移 4位位 , 即即40000H,此此指指令令将将数数据据段段中中物物理理地地址址为为42000H 单单元元的的内内容容56H传传至至AL寄存器。寄存器。4.寄存器间接寻址寄存器间接寻址 寄寄存存器器的的内内容容为为操操作作数数的的偏偏移移地地址址EAEA,操操作作数数在在存

42、存储储器器中中,可可使使用用的的寄寄存存器器有有BX,SI,DIBX,SI,DI。 例如:例如:MOV AX,BX BX内内容容为为有有效效地地址址EA(偏偏移移量)。量)。 若若 DS=4000H, BX=100H,此此指指令令将将物物理理地地址址40100H 单单元元的的内内容容传传至至AL寄寄存存器器(段段基地址同样为基地址同样为40000H)。)。5.寄存器相对寻址寄存器相对寻址 操作数的偏移地址操作数的偏移地址EAEA是是寄存器内容与一个寄存器内容与一个8 8位或者位或者1616位的位移量之和,位移量位的位移量之和,位移量在指令码中给出,可使用的在指令码中给出,可使用的寄存器有寄存器

43、有BX,BP,SI,DIBX,BP,SI,DI。 例如:例如:MOV AL,BX+5 若若DS=6000H,BX=2000H,BX的内容加的内容加上上8位位移量位位移量05H作为操作作为操作数的有效地址。传送数据段数的有效地址。传送数据段中的一个字节到中的一个字节到AL中。如中。如果使用果使用BP,则隐含地表示则隐含地表示操作数存放在堆栈段中。操作数存放在堆栈段中。6.基址变址寻址基址变址寻址 操作数的偏移地址操作数的偏移地址EAEA是是基址寄存器(基址寄存器(BX,BPBX,BP)和变址)和变址寄存器寄存器(SI,DI)(SI,DI)的内容之和。的内容之和。 例如:例如:MOV AX,BX+

44、SI BX的内容与的内容与SI的内容之和作的内容之和作为操作数的有效地址。传送为操作数的有效地址。传送数据段中的一个字。数据段中的一个字。7.基址变址且相对寻址基址变址且相对寻址 操作数的偏移地址操作数的偏移地址EAEA是基址是基址寄存器(寄存器(BX,BPBX,BP)和变址寄存器)和变址寄存器(SI,DI)(SI,DI)的内容与一个的内容与一个8 8位或者位或者1616位偏移量之和。位偏移量之和。 例如:例如: MOV AH,BX+DI+1234H BX的的内内容容加加上上DI的的内内容容再再加加上上位位移移量量1234H作作为为操操作作数数的的有有效效地址。如图地址。如图2-17所示。所示

45、。 8.隐含寻址隐含寻址返回本节首页返回本节首页6.2转移地址寻址方式转移地址寻址方式1.段内直接寻址段内直接寻址 段内直接寻址方式也称为相对寻址方式,转移的目段内直接寻址方式也称为相对寻址方式,转移的目标地址是当前标地址是当前IP内容和一个内容和一个8位或位或16位的位移量之和。因位的位移量之和。因为这个位移量是相对于当前为这个位移量是相对于当前IP的,所以叫相对寻址。如的,所以叫相对寻址。如图所示图所示 例:例:JMP DISP1 图图中中,1000H是是CPU读读取取这这条条指指令令的的位位移移量量50H后后IP的的内内容容。所所以以,该该指指令令使使CPU转转向向21050H去执行。去

46、执行。2.段内间接寻址段内间接寻址 这这种种方方式式也也是是在在段段内内,其其转转移移的的目目标标地地址址是是寄寄存存器器或或存存储储单单元元的的内内容容,即即以以寄寄存存器器或或存存储储器器单单元元内内容容来来更更新新IP的的内内容容,所所以以是是绝绝对对偏偏移移量量,注注意意和和段段内内直直接接方方式式的的相相对对偏偏移移量量的的区区别别。若若目目标标地地址址为为存存储储单单元元内内容容,则则该该存存储储单单元元本本身身可可由由上上述述与与存存储储器器操操作作数数有有关关的的任任何何寻寻址址方方式式寻寻址址,只是它里面的内容为新的只是它里面的内容为新的IP值。如图所示值。如图所示例:例:J

47、MP CX JMP WORD PTR BX3.段间直接寻址段间直接寻址 这这种种方方式式用用于于段段间间转转移移,目目标标地地址址的的段段基基值值(CS)和和偏偏移移地地址址(IP)都都是是指指令令码码的的组组成成部部分分,用来更新当前用来更新当前CS和和IP。如图所示如图所示例:例:JMP FAR PTR ADD1 在在执执行行这这条条段段间间直直接接寻寻址址指指令令时时,指指令令操操作作码码后后的的第第二二个个字字将将赋赋予予代代码码段段寄寄存存器器CS,第第一一个个字字将将赋赋予予指指令令指指针针寄寄存存器器IP。最最后后CS内内容容和和IP内内容容相相加加则则得得转转移移地地址址,如图所示。如图所示。4.段间间接寻址段间间接寻址 这这种种方方式式同同样样用用于于段段间间转转移移,只只不不过过当当前前CS和和IP由由存存储储器器中中连连续续的的两两个个字字更更新新,低低位位地地址址的的字字更更新新IP,高高位位地地址址的的字字更更新新CS,存存放放新新IP和和CS的的存存储储单单元元地地址址由由前前述述存储器操作数的寻址方式决定。如图所示存储器操作数的寻址方式决定。如图所示 例:例:JMP DWORD PTR BPDI 本章结束! 谢 谢!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号