第2章微机系统中的微处理器_第1页
第2章微机系统中的微处理器_第2页
第2章微机系统中的微处理器_第3页
第2章微机系统中的微处理器_第4页
第2章微机系统中的微处理器_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第2章章微机系统中的微处理器微机系统中的微处理器内容提要内容提要n 80868086的内部结构的内部结构n 80868086的寄存器结构的寄存器结构n 80868086的存储器组织的存储器组织n 80868086的的I/OI/O组织组织n 80868086的寻址方式的寻址方式n 高档微处理器的寄存器结构和存储器组织简介高档微处理器的寄存器结构和存储器组织简介 2常用术语(常用术语(1 1)n位(位(bitbit):计算机处理的最小数据单位,只能为):计算机处理的最小数据单位,只能为“0 0”或或“1 1”,缩写为,缩写为b bn千位(千位(KilobitKilobit):代表):代表2 2

2、1010位,即位,即10241024位,缩写位,缩写KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,缩写位,缩写MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23030位,即位,即1024Mb1024Mb位,缩写位,缩写GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,缩写位,缩写TbTb3常用术语(常用术语(2 2)n字节(字节(ByteByte):计算机中存储器容量的基本单位,一):计算机中存储器容量的基本单位

3、,一个字节由个字节由8 8位二进制数据组成,位二进制数据组成,ByteByte通常缩写为通常缩写为B B,同,同样有样有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的场合有不同的含义,软件上通常):不同的场合有不同的含义,软件上通常指指2 2个字节,硬件上一般指处理器外部数据总线的宽个字节,硬件上一般指处理器外部数据总线的宽度度n字长:计算机运算部件直接能处理的二进制数据的位字长:计算机运算部件直接能处理的二进制数据的位数。字长越长,计算机的处理能力越强,运算精度越数。字长越长,计算机的处理能力越强,运算精度越高,指令功能越强,可寻址的存储空间也越大高,指令功能越强

4、,可寻址的存储空间也越大4常用术语(常用术语(3 3)nCPUCPU主频主频: :主振频率,主振频率,CPUCPU内部的时钟频率,是内部的时钟频率,是CPUCPU进行进行运算时的工作频率。一般来说,主频越高,一个时钟运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的指令数也越多,周期里完成的指令数也越多,CPUCPU的运算速度也就越的运算速度也就越快。但由于内部结构不同,并非所有时钟频率相同的快。但由于内部结构不同,并非所有时钟频率相同的CPUCPU性能也一样。性能也一样。 52.1 8086的内部结构的内部结构n8086CPU从功能上来说分成两大部分:从功能上来说分成两大部分: 总线

5、接口单元总线接口单元BIU( Bus Interface Unit ) 执行单元执行单元EU( Execution Unit )nBIU的作用:负责对存储器的访问以及与的作用:负责对存储器的访问以及与I/O设备之间设备之间的信息传送。的信息传送。nEU 的作用:负责指令的执行。的作用:负责指令的执行。6 通 用 寄 存 器8086CPU功能框图功能框图 执行单元执行单元 AH ALBH BL CLCH DH DL SP BP DI SI CSDS SS ES I P 内部寄存器 总线 控制 逻辑 AX BX CX DX暂存器 A L U 标志寄存器 外部总线8086总线(16位) 指令队列 8

6、086为 6 字节ALU数据总线(16位)EU控制器总线接口单元(总线接口单元(BIU) 地址加法器(20 位)数据总线(16 位) 段寄存器指令指针(EU)1 2 3 4 5 6队列总线(8位) 地址总线780868086的功能结构的功能结构n总线接口单元总线接口单元(BIU)qBIU包括个段寄存器、指令指针包括个段寄存器、指令指针IP(PC)、指令队列寄、指令队列寄存器存器(IR)、完成与、完成与EU通讯的内部寄存器、地址加法器通讯的内部寄存器、地址加法器和总线控制逻辑。和总线控制逻辑。q它的任务是执行总线周期,完成它的任务是执行总线周期,完成CPU与存储器和与存储器和I/O设设备之间信息

7、的传送。具体地讲,就是取指令时,从存储备之间信息的传送。具体地讲,就是取指令时,从存储器指定地址取出指令送入指令队列排队;执行指令时,器指定地址取出指令送入指令队列排队;执行指令时,根据根据EU命令对指定存储单元或命令对指定存储单元或I/O端口存取数据。端口存取数据。88086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数据线数据线控制线控制线地址线地址线接接 口口地址地址存储器中的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块存储器模块存储器模块98086的功能结构的功

8、能结构n执行单元执行单元(EU)qEU由算术逻辑单元由算术逻辑单元ALU、暂存器、标志寄存器、暂存器、标志寄存器(FLAGS)、通用寄存器组和、通用寄存器组和EU控制器构成。控制器构成。q它的任务执行指令,进行全部的算术逻辑运算,完成偏它的任务执行指令,进行全部的算术逻辑运算,完成偏移地址的计算,向移地址的计算,向BIU提供指令执行结果的数据和访问提供指令执行结果的数据和访问存储器需要的偏移地址,并对通用寄存器和标志寄存器存储器需要的偏移地址,并对通用寄存器和标志寄存器进行管理。进行管理。n16位的位的ALU总线和总线和8位队列总线用于位队列总线用于EU内部和内部和EU与与BIU之间的通信。之

9、间的通信。108086的指令流水线(的指令流水线(1)n一条指令的执行过程:一条指令的执行过程: 取指令取指令 取操作数(如果需要)取操作数(如果需要) 执行指令执行指令 写入存储器写入存储器n80868086出现以前,以上指令串行执行出现以前,以上指令串行执行取指取指1执行执行1存结果存结果1取指取指2执行执行2取指取指3执行执行3取操作数取操作数3CPUBUS忙忙忙忙忙忙忙忙忙忙闲闲闲闲闲闲8086以前的处理器以前的处理器118086的指令流水线(的指令流水线(2)n80868086内部有内部有BIUBIU、EUEU两个独立单元,可独立完成总线两个独立单元,可独立完成总线操作和执行指令的任

10、务,即两个单元可重叠操作操作和执行指令的任务,即两个单元可重叠操作n流水线就是两次重叠或多次重叠操作流水线就是两次重叠或多次重叠操作8086处理器处理器执行执行1执行执行2执行执行3执行执行3执行执行4取指取指1取指取指2存结果存结果1取指取指3取操作数取操作数3取指取指4存结果存结果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUBUSBIU思考n以8086为例,说明微处理器的基本功能。n书上P12 图2.2中画出的地址总线为什么是单向的?数据总线为什么是双向的?12132.28086的寄存器结构的寄存器结构n8086CPU内部具有内部具有14个个16位寄存器,用于提供参与位寄存器,用于提供

11、参与运算的数据、控制指令执行和对指令及操作数寻址。运算的数据、控制指令执行和对指令及操作数寻址。基本分为通用寄存器组、控制寄存器组和段寄存器组。基本分为通用寄存器组、控制寄存器组和段寄存器组。n通用寄存器组通用寄存器组8个个16位通用寄存器组成,这些寄存器分为两组:数位通用寄存器组成,这些寄存器分为两组:数据寄存器及地址指针和变址寄存器。据寄存器及地址指针和变址寄存器。148086的寄存器结构(的寄存器结构(1)BHBLAHALCHCLDHDL堆栈指针寄存器堆栈指针寄存器基址指针寄存器基址指针寄存器源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器通通用用寄寄存存器器控制寄存器控制寄存器指令

12、指针寄存器指令指针寄存器状态标志寄存器状态标志寄存器代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器段段寄寄存存器器AXBXCXDXSPBPDISICSDSSSESIPFLAGS158086的寄存器结构(的寄存器结构(2)1 1、数据寄存器、数据寄存器n4 4个数据寄存器:累加器个数据寄存器:累加器AXAX,基址寄存器,基址寄存器BXBX,计数寄存器,计数寄存器CXCX,数据寄存器数据寄存器DXDXn特点:可分为高特点:可分为高8 8位(位(AHAH、BHBH、CHCH、DHDH)和低)和低8 8位(位(ALAL、BLBL、CLCL、DLDL)。

13、这两组)。这两组8 8位寄存器能分别寻址。这样,可以将数位寄存器能分别寻址。这样,可以将数据寄存器当作一个据寄存器当作一个1616位寄存器,也可用作两个位寄存器,也可用作两个8 8位寄存器位寄存器n可用来存放可用来存放8 8位或位或1616位二进制操作数,这些操作数可以是参位二进制操作数,这些操作数可以是参加运算的操作数、中间结果或操作数地址加运算的操作数、中间结果或操作数地址n大多数算数和逻辑运算指令可以使用这些寄存器大多数算数和逻辑运算指令可以使用这些寄存器168086的寄存器结构(的寄存器结构(3)2 2、地址指针和变址寄存器、地址指针和变址寄存器n4 4个:堆栈指针个:堆栈指针SPSP

14、,基址指针,基址指针BPBP,源变址寄存器,源变址寄存器SISI,目的变,目的变址寄存器址寄存器DIDIn特点:这特点:这4 4个个1616位寄存器只能按位寄存器只能按1616位进行存取操作,主要用位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作来形成操作数的地址,用于堆栈操作和变址运算中计算操作数和有效地址数和有效地址nSPSP,BPBP用于堆栈操作,用于堆栈操作,SPSP用来确定堆栈在内存中的地址,用来确定堆栈在内存中的地址,BPBP用来存放在现行堆栈段的一个数据区的用来存放在现行堆栈段的一个数据区的“基址基址”nSISI,DIDI用于变址操作,存放变址地址用于变

15、址操作,存放变址地址n这这4 4个寄存器也可用作数据寄存器个寄存器也可用作数据寄存器17通用寄存器的特定用法通用寄存器的特定用法寄存器名 特殊用途 隐含性质 在输入输出指令中作数据寄存器用 不能隐含 AX, AL 在乘法指令中存放被乘数或乘积,在除法指令中存放被除数或商 隐 含 AH 在LAHF指令中,作目标寄存器用 隐 含 在十进制运算指令中作累加器用 隐 含 AL 在XLAT指令中作累加器用 隐 含 在间接寻址中作基址寄存器用 不能隐含 BX 在XLAT指令中作基址寄存器用 隐 含 CX 在串操作指令和LOOP指令中作计数器用 隐 含 CL 在移位/循环移位指令中作移位次数计数器用 不能隐

16、含 在字乘法/除法指令中存放乘积高位或被除数高位或余数 隐 含 DX 在间接寻址的输入输出指令中作地址寄存器用 不能隐含 在字符串运算指令中作源变址寄存器用 隐 含 SI 在间接寻址中作变址寄存器用 不能隐含 在字符串运算指令中作目标变址寄存器用 隐 含 DI 在间接寻址中作变址寄存器用 不能隐含 BP 在间接寻址中作基址指针用 不能隐含 SP 在堆栈操作中作堆栈指针用 隐 含 188086的寄存器结构(的寄存器结构(4)3 3、指令指针、指令指针IPIPn1616位专用寄存器,保存下一条要执行的指令的偏移地位专用寄存器,保存下一条要执行的指令的偏移地址址n当当BIUBIU从内存中取出一个指令

17、字节后,从内存中取出一个指令字节后,IPIP自动加自动加1 1,指,指向下一个字节向下一个字节nIPIP指向的是指令地址的段内地址偏移量,又称偏移地指向的是指令地址的段内地址偏移量,又称偏移地址或有效地址址或有效地址n程序员不能对程序员不能对IPIP进行存取操作,程序中的转移指令、进行存取操作,程序中的转移指令、返回指令以及中断处理能对返回指令以及中断处理能对IPIP进行操作进行操作198086的寄存器结构(的寄存器结构(5)4 4、标志寄存器、标志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 16

18、 16位,其中有位,其中有6 6个状态位,个状态位,3 3个控制位个控制位n 6 6个状态位有:个状态位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOFn 3 3个控制位有:个控制位有:IFIF、DFDF、TFTF208086的寄存器结构(的寄存器结构(6)标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)n进位标志进位标志CFCF,反映算术运算后,最高位(字节操作为,反映算术运算后,最高位(字节操作为D D7 7,字操作为字操作为D D1515)出现进位或借位的情况,有则为)出现进位或借位的情况,有则为“1 1”n奇偶标志奇偶标志PFPF,反映操作结果的低八位中,反映

19、操作结果的低八位中“1 1”的个数的的个数的情况,若为偶数,则情况,若为偶数,则PF=1PF=1n辅助进位标志辅助进位标志AFAF,反映一个,反映一个8 8位量的低位量的低4 4位向高位向高4 4位有无位有无进位或借位的情况,有则置进位或借位的情况,有则置“1 1”n零标志零标志ZFZF,反映运算结果是否为,反映运算结果是否为0 0的情况,结果为的情况,结果为0 0,ZFZF置为置为“1 1”,否则为,否则为“0 0”218086的寄存器结构(的寄存器结构(7)n符号标志符号标志SFSF,反映运算结果的符号情况,若结果为负,反映运算结果的符号情况,若结果为负数,数,SFSF为为“1 1”,否则

20、为,否则为“0 0”。SFSF的取值与运算结果最的取值与运算结果最高位(字节操作为高位(字节操作为D D7 7,字操作为,字操作为D D1515)一致。)一致。n溢出标志溢出标志OFOF,反映带符号数运算结果是否超过机器所,反映带符号数运算结果是否超过机器所能表示的数值范围的情况,对字节运算为能表示的数值范围的情况,对字节运算为-128 +127-128 +127,对字运算为对字运算为-32768 +32767-32768 +32767。若超过上述范围则称为。若超过上述范围则称为“溢出溢出”,OF=1OF=1,否则为,否则为“0 0”。228086的寄存器结构(的寄存器结构(8)标志寄存器标志

21、寄存器FLAGSFLAGS(控制位)(控制位)n方向标志方向标志DFDF,在进行字符串操作时,每执行一条串操,在进行字符串操作时,每执行一条串操作指令,对地址要进行一次调整,由作指令,对地址要进行一次调整,由DFDF决定地址是增决定地址是增还是减。若还是减。若DF=1DF=1,则为减量;,则为减量;DF=0DF=0,则为增量。,则为增量。n中断允许标志中断允许标志IFIF,表示系统是否允许外部可屏蔽中断。,表示系统是否允许外部可屏蔽中断。若若IF=1IF=1,表示允许中断,表示允许中断, IF=0IF=0,表示不允许中断。,表示不允许中断。IFIF对不可屏蔽中断及内部中断请求不起作用。对不可屏

22、蔽中断及内部中断请求不起作用。n跟踪标志跟踪标志TFTF,当,当TF=1TF=1时,时,CPUCPU每执行完一条指令,便自每执行完一条指令,便自动产生一个内部中断,对程序进行逐条检查,常用于动产生一个内部中断,对程序进行逐条检查,常用于程序的调试。程序的调试。238086的寄存器结构(的寄存器结构(9)5 5、段寄存器、段寄存器n内存中通常存放三种信息:内存中通常存放三种信息: 代码(指令):计算机执行何种操作代码(指令):计算机执行何种操作 数据(字符、数值):程序处理的对象数据(字符、数值):程序处理的对象 堆栈信息:保存返回地址和中间结果堆栈信息:保存返回地址和中间结果n为清晰起见,这三

23、类信息分别存放在各自的存储区域为清晰起见,这三类信息分别存放在各自的存储区域内(存储系统中的不同存储段)内(存储系统中的不同存储段)n80868086系统中把可直接寻址的系统中把可直接寻址的1M1M字节内存空间分为称作字节内存空间分为称作段的逻辑区域,每个段的物理长度为段的逻辑区域,每个段的物理长度为64K64K字节。每个段字节。每个段的起始地址的有关值存放在称为段寄存器的的起始地址的有关值存放在称为段寄存器的4 4个个1616位寄位寄存器中存器中248086的寄存器结构(的寄存器结构(10)4 4个段寄存器为个段寄存器为n代码段寄存器代码段寄存器CSCS:指向当前的代码段,指令由此段取:指向

24、当前的代码段,指令由此段取出出n数据段寄存器数据段寄存器DSDS:指向当前数据段,通常用来存放程:指向当前数据段,通常用来存放程序变量序变量n堆栈段寄存器堆栈段寄存器SSSS:指向当前的堆栈段,堆栈操作所需:指向当前的堆栈段,堆栈操作所需的就是该段存储单元的内容的就是该段存储单元的内容n附加段寄存器附加段寄存器ESES:指向当前附加段,通常也用来存储:指向当前附加段,通常也用来存储数据数据思考n8086内部有哪些程序可见的寄存器?其主要作用是什么?25262.38086的存储器组织(的存储器组织(1)n存储器组织存储器组织q8086CPU有有20条地址线,条地址线,可配置可配置1MB的存储器,

25、地的存储器,地址编号为址编号为00000H-FFFFFHq存储空间按字节存储空间按字节(8位位)进行进行组织,每个存储单元存储一组织,每个存储单元存储一个字节的数据,若存放个字节的数据,若存放“字字”数据(数据(16位),则存放在位),则存放在相邻两个存储单元之中,高相邻两个存储单元之中,高字节存放在高地址单元,低字节存放在高地址单元,低字节存放在低地址单元字节存放在低地址单元00000HFFFFFH00001H00002H00003HFFFFEH存储器存储器278086的存储器组织(的存储器组织(2)q8086允许字从任何地址开始。允许字从任何地址开始。字的地址为偶地址时,称字的地址为偶地址

26、时,称字的存储是对准的字的存储是对准的,CPU访问时需要一个总线周期访问时需要一个总线周期;若字若字的地址为奇地址时,称字的存储是未对准的,的地址为奇地址时,称字的存储是未对准的,CPU访问需访问需要两个总线周期。要两个总线周期。 高字节高字节 低字节低字节 15 8 7 060280H60281H60282H288086的存储器组织(的存储器组织(3)n存储器分段存储器分段q8086CPU寄存器皆为寄存器皆为16位,内部位,内部ALU只能进行只能进行16位运算,位运算,因此,因此,8086CPU对地址只能进行对地址只能进行16位运算,寻址范围位运算,寻址范围216=65536(64K)字节。

27、所以引入分段概念,以获得)字节。所以引入分段概念,以获得20位地址位地址q一个段是存储器的一个逻辑单位,其长度可达一个段是存储器的一个逻辑单位,其长度可达64KB,每,每个段都由连续的存储单元构成,是存储器中独立的可分个段都由连续的存储单元构成,是存储器中独立的可分别寻址的单位别寻址的单位q每段第一个字节的位置称为每段第一个字节的位置称为“段起始地址段起始地址”,可由软件,可由软件指定指定q段起始地址:必须能被段起始地址:必须能被16整除(即整除(即XXXX0H)q几个段可以相互重叠,也可指向同一空间几个段可以相互重叠,也可指向同一空间298086的存储器组织(的存储器组织(4)n段基址与段内

28、偏移量段基址与段内偏移量q8086与存储器之间所有信息的交换都要使用与存储器之间所有信息的交换都要使用20位的物理位的物理地址,而程序中所涉及到的地址都是地址,而程序中所涉及到的地址都是16位的逻辑地址,位的逻辑地址,对所给定的任一存储单元而言,有两部分逻辑地址:对所给定的任一存储单元而言,有两部分逻辑地址: “段地址段地址”:一个段的起始地址的高一个段的起始地址的高16位,也称位,也称“段基段基址址”。 “段内偏移量段内偏移量”:段内一个存储单元的地址相对于段起始段内一个存储单元的地址相对于段起始地址的距离,也称地址的距离,也称“有效地址有效地址EA”,“偏移地址偏移地址”。q段地址存放在段

29、寄存器段地址存放在段寄存器CS、DS、SS、ES中中q段内偏移量由段内偏移量由IP、SP、SI、DI、BX、BP以及相应寄存以及相应寄存器的组合而组成器的组合而组成308086的存储器组织(的存储器组织(5)n逻辑地址与物理地址逻辑地址与物理地址q在具有地址变换机构的计算机中,有两种存储器地址:在具有地址变换机构的计算机中,有两种存储器地址: 逻辑地址:允许在程序中编排的地址逻辑地址:允许在程序中编排的地址 物理地址:信息在存储器中实际存放地址物理地址:信息在存储器中实际存放地址q在在8086系统中,每个存储单元也都认为有这两类地址系统中,每个存储单元也都认为有这两类地址318086的存储器组

30、织(的存储器组织(6)n物理地址的形成物理地址的形成q存储单元的存储单元的20位物理地址是通过将位物理地址是通过将16位的段基址左移位的段基址左移4位,再加上位,再加上16位的偏移地址而形成的,即位的偏移地址而形成的,即 物理地址物理地址=段基址段基址*10H+段内偏移量段内偏移量q例如:例如:6000:0280的物理地址为的物理地址为60280Hq8086CPU中中BIU单元的地址加法器可用来完成物理地址单元的地址加法器可用来完成物理地址的计算的计算328086的存储器组织(的存储器组织(7)n信息的分段存储与段寄存器的关系信息的分段存储与段寄存器的关系表表 各种类型访问存储器时的地址成分各

31、种类型访问存储器时的地址成分内存访问类型内存访问类型默认段寄存器默认段寄存器可指定段寄存器可指定段寄存器段内偏移地址来源段内偏移地址来源123456取指令取指令堆栈操作堆栈操作源串源串目的串目的串BP用作基址寻址用作基址寻址一般数据存取一般数据存取CSSSDSESSSDS无无无无CS、ES、SS无无CS、ES、DSCS、ES、SSIPSPSIDI按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址按寻址方式计算得到的有效地址338086的存储器组织(的存储器组织(8)n段寄存器的使用约定段寄存器的使用约定q任何类型访问存储器时,其段地址要么由默认段寄存器任何类型

32、访问存储器时,其段地址要么由默认段寄存器提供,要么由提供,要么由“指定指定”的段寄存器提供。的段寄存器提供。q段寄存器段寄存器DS、ES和和SS的内容是用传送指令置入的,但的内容是用传送指令置入的,但任何传送型指令不能向段寄存器任何传送型指令不能向段寄存器CS置入数,但一些指令置入数,但一些指令可以设置和影响可以设置和影响CS的内容,如:的内容,如:ASSUME伪指令、伪指令、JMP、CALL、RET、INT和和IRET。q表中前四项指明了一个表中前四项指明了一个16位的指针寄存器或变址寄存器位的指针寄存器或变址寄存器作为段内偏移地址的来源,其它都要按指令码规定的寻作为段内偏移地址的来源,其它

33、都要按指令码规定的寻址方式求得。址方式求得。思考n什么是逻辑地址?什么是物理地址?如何由逻辑地址求物理地址?34352.4 8086的的I/O组织组织nI/O接口是保证信息和数据在接口是保证信息和数据在CPU和和I/O设备之间正常传送设备之间正常传送的电路。的电路。nI/O端口是端口是I/O接口内的寄存器,跟存储单元相同,也是以接口内的寄存器,跟存储单元相同,也是以字节为单位编址,一个字节为单位编址,一个I/O端口有唯一的端口有唯一的I/O地址相对应。地址相对应。n8086地址总线的低地址总线的低16位用来对位用来对8位位I/O端口寻址,所以端口寻址,所以8086的的I/O地址空间为地址空间为

34、64K,可以访问,可以访问64K个个I/O端口端口n与存储器类似,任何两个地址连续的与存储器类似,任何两个地址连续的8位位I/O端口,都可以端口,都可以当作一个当作一个16位位I/O端口,类似于存储器的字。端口,类似于存储器的字。n对对8086CPU来说,也象存储器的字那样,要实现奇地址的来说,也象存储器的字那样,要实现奇地址的16位位I/O端口输入输出,都必须访问两次。端口输入输出,都必须访问两次。368086CPU与存储器、与存储器、I/O设备的连接设备的连接高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口CPU数据线数据线控制线控制线地址线地址线接接 口口地址地址存储器中

35、的字节存储器中的字节0101I/O接口接口I/O端口端口I/O设备设备高位决定模块高位决定模块存储器模块存储器模块37由于存储器划分为模块,所以存储器地址的高几由于存储器划分为模块,所以存储器地址的高几位可用来选择模块,其余低位则用来标识该模块内的位可用来选择模块,其余低位则用来标识该模块内的字节或字。同样,利用字节或字。同样,利用I/OI/O地址中的高位来标识地址中的高位来标识I/OI/O接接口,而用口,而用2 2或或3 3个低位来选择该接口内的个低位来选择该接口内的I/OI/O端口。端口。存储器和存储器和I/O端口的组织(端口的组织(1)38n地址总线的条数就是二进制地址码的地址总线的条数

36、就是二进制地址码的位数位数,它能够表示,它能够表示的不同地址的集合称为的不同地址的集合称为地址空间地址空间。存储单元和。存储单元和I/OI/O端口端口在同一地址空间,这种方法称为在同一地址空间,这种方法称为统一编址统一编址,它们的存取,它们的存取指令是一样的;而两者在两个独立的地址空间,它们的指令是一样的;而两者在两个独立的地址空间,它们的地址码的位数不同,采用的存取指令是不一样的,这种地址码的位数不同,采用的存取指令是不一样的,这种方法称为方法称为独立编址独立编址。n地址码的位数决定了地址空间的大小。若地址码共地址码的位数决定了地址空间的大小。若地址码共n n位,位,则可以有则可以有2 2n

37、 n个地址。对于个地址。对于单地址空间单地址空间的的CPUCPU的处理器,的处理器,则存储器和则存储器和I/OI/O端口合在一起的空间容量为端口合在一起的空间容量为2 2n n个字节。个字节。对于对于独立空间独立空间的来说,地址总线的条数决定了存储器地的来说,地址总线的条数决定了存储器地址空间的容量;地址总线中用于址空间的容量;地址总线中用于I/OI/O端口编址的条数决端口编址的条数决定定I/OI/O地址空间的容量。地址空间的容量。存储器和存储器和I/O端口的组织(端口的组织(2)39 例如在例如在8086CPU8086CPU系统中,地址总线的条数为系统中,地址总线的条数为2020条,则条,则

38、存储器的最大容量为存储器的最大容量为2 22020,即,即1MB1MB字节;它的地址总线字节;它的地址总线的低的低1616位用来对位用来对I/OI/O端口编址,则端口编址,则I/OI/O地址空间的容量地址空间的容量为为2 21616,即,即64K64K个个I/OI/O端口地址。端口地址。存储器和存储器和I/O端口的组织(端口的组织(3)402.58086的寻址方式的寻址方式n寻址方式:指令中用于说明操作数地址的方法寻址方式:指令中用于说明操作数地址的方法n寻址方式分为数据寻址方式和转移地址寻址方式寻址方式分为数据寻址方式和转移地址寻址方式n数据寻址方式通常有数据寻址方式通常有8 8种:种:1

39、1、立即寻址、立即寻址2 2、寄存器寻址、寄存器寻址3 3、直接寻址、直接寻址4 4、寄存器间接寻址、寄存器间接寻址5 5、寄存器相对寻址、寄存器相对寻址6 6、基址变址寻址、基址变址寻址7 7、基址变址且相对寻址、基址变址且相对寻址8 8、隐含寻址、隐含寻址41立即寻址立即寻址存储器存储器 9ABC 1234 F5 1000 代代码码段段数数据据段段MOV AX, 1000HAXAHAL100030000H31000H31001H32000H32001Hp 操作数为立即数,直接存放在代码段中操作数为立即数,直接存放在代码段中42AX12A6HBX12A6Hp 操作数在寄存器中。对于操作数在寄

40、存器中。对于16位数据,寄存器可以是位数据,寄存器可以是8个通用寄存器中的任意一个(个通用寄存器中的任意一个(AX、BX、CX、DX、SI、DI、SP、BP)。对于)。对于8位数据,寄存器可以是位数据,寄存器可以是AL、AH、BL、BH、CL、CH、DL、DH。p 例如:例如:MOV AX,BX43直接寻址直接寻址存储器存储器 9ABC 1234 F5 1000 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX, 1000HAXAHAL1234DS3000 0100031000物理地物理地址址p 操作数在内存单元中操作数在内存单元中p 指令码中直

41、接给出数据的偏移地址指令码中直接给出数据的偏移地址44寄存器间接寻址(寄存器间接寻址(1)n 操作数在内存单元中操作数在内存单元中n 数据的偏移地址由指定的寄存器给出:数据的偏移地址由指定的寄存器给出:BX,SI或或DIEA =(BX)(SI)(DI)45寄存器间接寻址(寄存器间接寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX, BXAXAHAL1234DS3000 0100031000物理地物理地址址BX操作数操作数46寄存器相对寻址(寄存器相对寻址(1)n 操作数在内存单元中操作数在内存单元

42、中n 数据的偏移地址是位移量和一个基址寄存器(数据的偏移地址是位移量和一个基址寄存器(BX、BP)或变址寄存器()或变址寄存器(SI、DI)的内容之和)的内容之和EA =(BX)(BP)(SI)(DI)+8位位disp16位位disp47寄存器相对寻址(寄存器相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX, dispSIAXAHAL1234DS3000 00B0031000物理地物理地址址SI操作数操作数0500disp48基址变址寻址(基址变址寻址(1)n 操作数在内存单元中操作

43、数在内存单元中n 数据的偏移地址是一个基址寄存器数据的偏移地址是一个基址寄存器(BX、BP)和一和一个变址寄存器个变址寄存器(SI、DI)的内容之和的内容之和EA =(BX)(BP)+(SI)(DI)49基址变址寻址(基址变址寻址(2)存储器存储器 9ABC 1234 F5 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX, BXSIDS3000 0100032000物理地物理地址址BX操作数操作数1000SIAXAHAL9ABC50基址变址且相对寻址(基址变址且相对寻址(1)n 操作数在内存单元中。操作数在内存单元中。n 数据的偏移地址是位移量

44、,一个基址寄存器数据的偏移地址是位移量,一个基址寄存器(BX、BP)和一个变址寄存器和一个变址寄存器(SI、DI)的内容三部分之的内容三部分之和。和。+EA =(BX)(BP)+(SI)(DI)8位位disp16位位disp51基址变址且相对寻址(基址变址且相对寻址(2)存储器存储器 9ABC 1234 F5 0500 代代码码段段数数据据段段30000H31000H31001H32000H32001HMOV AX, dispBXSIDS3000 0100032000物理地物理地址址BX操作数操作数0B00SIAXAHAL9ABC0500disp52隐含寻址隐含寻址有些指令码中不包含指明操作数

45、地址的部分,而其操有些指令码中不包含指明操作数地址的部分,而其操作码本身隐含地说明了操作数地址。作码本身隐含地说明了操作数地址。例如:例如:MULCL;其操作为;其操作为(AX)(AL)(CL)在这里,在这里,AL操作数并没有在指令中指明,是由操作数并没有在指令中指明,是由操作码本身隐含地说明了操作码本身隐含地说明了53若若(BX)0158H,(DI)10A5H,位移量,位移量1B57H,(DS)2100H,(SS)1100H,(BP)0100H,段寄存器按默,段寄存器按默认段寄存器,则相对于各种寻址方式的有效地址和物理地认段寄存器,则相对于各种寻址方式的有效地址和物理地址是:址是: 直接寻址

46、:直接寻址:EA1B57H物理地址物理地址(DS)10HEA21000H1B57H22B57H 寄存器间接寻址寄存器间接寻址(假设寄存器为假设寄存器为BX):EA0158H物理地址物理地址(DS)10HEA21000H0158H21158H例题例题54 寄存器相对寻址寄存器相对寻址(假设寄存器为假设寄存器为BP) EA0100H1B57H1C57H物理地址物理地址(SS)10HEA11000H1C57H12C57H 基址变址寻址基址变址寻址(假设寄存器为假设寄存器为BX和和DI) EA0158H10A5H11FDH物理地址物理地址(DS)10HEA21000H11FDH221FDH 基址变址且

47、相对寻址基址变址且相对寻址(假设寄存器为假设寄存器为BP和和DI) EA0100H10A5H1B57H2CFCH物理地址物理地址(SS)10HEA11000H2CFCH13CFCH55转移地址的寻址方式转移地址的寻址方式n指令是按顺序存放在存储器中的,其执行顺序是由代码段指令是按顺序存放在存储器中的,其执行顺序是由代码段寄存器寄存器CS和指令指针和指令指针IP的内容决定的。在正常的情况下,的内容决定的。在正常的情况下,BIU自动修改自动修改IP的内容,使它指向下一条指令。的内容,使它指向下一条指令。n程序转移指令通过改变程序转移指令通过改变IP和和CS的内容,就可以改变程序的的内容,就可以改变

48、程序的正常执行顺序。正常执行顺序。n转移地址的寻址方式有转移地址的寻址方式有4种:种:段内直接寻址段内直接寻址2.段内间接寻址段内间接寻址3.段间直接寻址段间直接寻址4.段间间接寻址段间间接寻址56段内直接寻址段内直接寻址pJMP指令的操作数部分直接给出目标单元指令的操作数部分直接给出目标单元p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成: CS*10H+(IP) (IP)=(IP)disp(8位或者位或者16位位)例如:例如:.JMP ABC1. ABC1: .57段内间接寻址段内间接寻址pJMP指令转移的目标地址在某一个通用寄存器中或者指令转移的目标地址在某一个通用寄存器中或

49、者在某一个字存储单元中在某一个字存储单元中p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成: CS*10H+(IP) (IP) EA(存在寄存器或存储器单元中存在寄存器或存储器单元中)例如:例如: JMP CX或者或者JMP WORD PTR BX58段间直接寻址段间直接寻址p指令码中直接给出指令码中直接给出16位的段地址和位的段地址和16位的有效地址。位的有效地址。p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成: (IP) EA(指令指令)(CS) 段地址段地址(指令指令)例如:例如:COSEG1 SEGMENT. JMP FAR PTR TRAGET.COSEG1

50、 ENDSCOSEG2 SEGMENT. TRAGET: -.COSEG2 ENDS59段间间接寻址段间间接寻址p段间间接寻址和段内间接寻址相似,要得到的转移地段间间接寻址和段内间接寻址相似,要得到的转移地址包括址包括16位段地址和位段地址和16位有效地址,使用地址连续位有效地址,使用地址连续的的4个存储单元存储个存储单元存储p指令所在存储单元的地址的形成:指令所在存储单元的地址的形成: (IP)EA(存储单元的前两个字节存储单元的前两个字节)(CS)段地址段地址(存储单元的后两存储单元的后两个个字节字节)例如:例如: JMP DWORD PTR ADDRBX或者或者 JMP DWORD PT

51、R BXSI602.7高档微处理器的寄存器结构和存储器组织简介高档微处理器的寄存器结构和存储器组织简介 和和8086内部的寄存器结构和存储器组织相比,高档内部的寄存器结构和存储器组织相比,高档微处微处理器的寄存器结构和存储器组织具有以下特点:理器的寄存器结构和存储器组织具有以下特点:p使高档微处理器具有更强的数据处理能力;使高档微处理器具有更强的数据处理能力;p高档微处理器支持多任务操作系统。高档微处理器支持多任务操作系统。61AH ALBH BLCH CLDH DLSPBPDISIIPFLAGSCSDSESSSFSGSEAXEBXECXEDXESPEBPEDIESIEIPEFLAGS31 1

52、6 0高档微处理器的寄存器结构高档微处理器的寄存器结构62高档微处理器的访问存储器机制高档微处理器的访问存储器机制 p奔腾微处理器可以访问的存储器空间为奔腾微处理器可以访问的存储器空间为4GB;p采用虚拟存储技术,还可以大大扩展存储空间。采用虚拟存储技术,还可以大大扩展存储空间。63实模式与保护模式实模式与保护模式 p80286及以上的高档微处理器都可以工作于实模式或保护及以上的高档微处理器都可以工作于实模式或保护模式,而模式,而8086只能工作于实模式;只能工作于实模式;p实模式下微处理器只能访问地址低端的实模式下微处理器只能访问地址低端的1MB存储空间,所存储空间,所以地址低端的以地址低端

53、的1MB存储区称为实模式存储器、常规存储区存储区称为实模式存储器、常规存储区或或DOS存储器系统;存储器系统;pDOS要求处理器工作于实模式,而且各种微处理器在任何要求处理器工作于实模式,而且各种微处理器在任何情况下每次加电或复位后都默认以实模式开始;情况下每次加电或复位后都默认以实模式开始;pWindows工作于保护模式,只有保护模式才允许访问低工作于保护模式,只有保护模式才允许访问低端的端的1MB存储区和高于存储区和高于1MB以上的存储区。以上的存储区。64保护模式下的存储器寻址机制保护模式下的存储器寻址机制p保护模式下访问存储器的地址仍由两部分合成,即偏移保护模式下访问存储器的地址仍由两

54、部分合成,即偏移地址和基地址;地址和基地址;p其基地址不再直接是段寄存器保存的段地址,而是由段其基地址不再直接是段寄存器保存的段地址,而是由段寄存器和对应的描述符寄存器联合提供的。寄存器和对应的描述符寄存器联合提供的。选择符选择符选择符选择符选择符选择符选择符选择符选择符选择符选择符选择符15 0 12位属性位属性 32位基地址位基地址 20位边界位边界段描述符高速缓冲寄存器段描述符高速缓冲寄存器段寄存器段寄存器65保护模式下的存储器寻址机制保护模式下的存储器寻址机制p保护模式下的段寄存器保存的不再是段地址,而是提供保护模式下的段寄存器保存的不再是段地址,而是提供找到段地址的选择符;找到段地址的选择符;p与选择符密切相关的概念是段描述符,描述符表和描述与选择符密切相关的概念是段描述符,描述符表和描述符寄存器。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论