第二章IA32结构微处理器_第1页
第二章IA32结构微处理器_第2页
第二章IA32结构微处理器_第3页
第二章IA32结构微处理器_第4页
第二章IA32结构微处理器_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、第二章第二章 80 x8680 x86结构微处理器结构微处理器本章学习提要:本章学习提要:1 1、书中内容以自学为主;、书中内容以自学为主;2 2、掌握掌握80868086处理器的大体软、硬件结构体系处理器的大体软、硬件结构体系;3 3、了解新型处理器的大体结构及运作方式;、了解新型处理器的大体结构及运作方式;本章讲纲本章讲纲2.1 80862.1 8086处理器结构处理器结构2.1.1 80862.1.1 8086结构概述结构概述2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构2.1.3 80862.1.3 8086的编程结构的编程结构2.1.4 80862.1.4

2、8086的存储器结构的存储器结构2.2 80 x862.2 80 x86结构微处理器简介结构微处理器简介2.2.1 80 x862.2.1 80 x86结构处理器的功能结构结构处理器的功能结构2.2.2 80 x862.2.2 80 x86结构微处理器的执行环境结构微处理器的执行环境2.1 80862.1 8086处理器结构处理器结构2.1.1 80862.1.1 8086结构概述结构概述o80868086结构有如下特点结构有如下特点n1616位结构,内部所有寄存器均为位结构,内部所有寄存器均为1616位,可直位,可直接处理接处理1616位数据;位数据;n2020根地址线,可以直接寻址根地址线

3、,可以直接寻址1MB1MB的存储空间;的存储空间;n共共4040个外部引脚;个外部引脚;n需单相时钟,单需单相时钟,单5V5V供电;供电;2.1 80862.1 8086处理器结构处理器结构2.1.1 80862.1.1 8086结构概述结构概述o80868086处理器内部分为两个部分处理器内部分为两个部分n总线接口单元总线接口单元(Bus Interface Uint(Bus Interface Uint,BIU)BIU)o负责处理器与存储器间的信息传递负责处理器与存储器间的信息传递o取出指令并送入指令队列中取出指令并送入指令队列中o根据指令获得操作数根据指令获得操作数n执行单元执行单元(E

4、xecute Unit(Execute Unit,EU)EU)o负责指令的执行负责指令的执行ESCSSSDSIPAHALBHBLCHCLDHDLSPBPSIDI标志标志651执行单元执行单元控制逻辑控制逻辑ALU存储器接口存储器接口BIU指令队列指令队列EUB-busA-busC-bus80868086的总体功能结构示意的总体功能结构示意2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构AHALBHBLCHCLDHDLSPBPSIDIIPPSWCSDSSSESBXAXDXCX累加器累加器基址寄存器基址寄存器计数器计数器数

5、据寄存器数据寄存器堆栈指针堆栈指针基址指针基址指针源指针源指针目的指针目的指针程序指针程序指针程序状态字程序状态字代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器数据寄存器数据寄存器指针寄存器指针寄存器变址寄存器变址寄存器控制寄存器控制寄存器段寄存器段寄存器通通用用寄寄存存器器0152.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构o通用寄存器包含数据寄存器、地址指针寄存通用寄存器包含数据寄存器、地址指针寄存器和变址寄存器器和变址寄存器n数据寄存器:数据寄存器:AXAX、B

6、XBX、CXCX、DXDXn地址指针寄存器:地址指针寄存器:SPSP、BPBPn变址寄存器:变址寄存器:SISI,DIDIo段寄存器段寄存器nCSCS、DSDS、SSSS和和ESESo控制寄存器控制寄存器nIPIP、PSWPSW2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器n用于暂时存放计算过程中所用到的操作数、结用于暂时存放计算过程中所用到的操作数、结果或其他信息;果或其他信息;n每个通用寄存器均为每个通用寄存器均为1616位,可以整体访问,但位,可以整体访问,但高字节和低字节也可以独

7、立访问;高字节和低字节也可以独立访问;2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器oAXAX:算术运算的主要寄存器,所有:算术运算的主要寄存器,所有IOIO口指令口指令必须经过必须经过AXAX交换数据。交换数据。oBXBX:在计算操作数的存放地址时,可以用来:在计算操作数的存放地址时,可以用来存放操作数的基地址。存放操作数的基地址。n基地址:在访问操作数时,如果操作数的存放基地址:在访问操作数时,如果操作数的存放地址由一个相对固定的地址地址由一个相对固定的地址B B和一个相对于和一个相

8、对于B B的的偏移量构成,则偏移量构成,则B B称为基地址。称为基地址。2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器oCXCX:在循环:在循环LOOPLOOP指令和串处理指令中用作隐指令和串处理指令中用作隐含计数器。含计数器。oDXDX: 可以作为数据寄存器使用。可以作为数据寄存器使用。n一般在双字长乘除法运算时,把一般在双字长乘除法运算时,把DXDX和和AXAX组合在一起组合在一起存放一个双字长存放一个双字长(32(32位位) )数,数,DXDX用来存放高用来存放高1616位位; ;

9、n对某些对某些I/OI/O操作操作DXDX可用来存放可用来存放I/OI/O的端口地址(口地的端口地址(口地址址 256256)。)。2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器o地址指针地址指针SPSP和和BPBPnSPSP:堆栈指针寄存器,指示堆栈栈顶的偏移量,其:堆栈指针寄存器,指示堆栈栈顶的偏移量,其与与SSSS联合,可计算出堆栈栈顶的物理地址;联合,可计算出堆栈栈顶的物理地址;nBPBP:基址指针,可与:基址指针,可与SSSS结合计算出位于堆栈段中的结合计算出位于堆栈段中的某存

10、储器单元的物理地址;某存储器单元的物理地址;200609122.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器o地址指针地址指针SPSP和和BPBPnSPSP:堆栈指针寄存器,指示堆栈栈顶的偏移量,其:堆栈指针寄存器,指示堆栈栈顶的偏移量,其与与SSSS联合,可计算出堆栈栈顶的物理地址;联合,可计算出堆栈栈顶的物理地址;nBPBP:基址指针,可与:基址指针,可与SSSS结合计算出位于堆栈段中的结合计算出位于堆栈段中的某存储器单元的物理地址;某存储器单元的物理地址;200609122.1 80

11、862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构o堆栈堆栈n堆栈是按先进后出的原则组织起来的一段储存区域;堆栈是按先进后出的原则组织起来的一段储存区域;n用于堆栈的存储段一端固定,另外一端浮动,固定端称为用于堆栈的存储段一端固定,另外一端浮动,固定端称为栈底,浮动端称为栈顶。栈底,浮动端称为栈顶。n其实现方法为:设置一个指针(寄存器),保存堆栈的栈其实现方法为:设置一个指针(寄存器),保存堆栈的栈顶地址,其初值就为栈底,而需入栈的内容始终保存在栈顶地址,其初值就为栈底,而需入栈的内容始终保存在栈顶端;顶端;n根据堆栈指针移动方向,

12、堆栈分为根据堆栈指针移动方向,堆栈分为向上生长向上生长(栈顶向地址(栈顶向地址增方向移动)和增方向移动)和向下生长向下生长(栈顶向地址减方向移动)型;(栈顶向地址减方向移动)型;n根据堆栈指针所指向的单元是否为最后入栈数据,可分为根据堆栈指针所指向的单元是否为最后入栈数据,可分为空堆栈空堆栈(入栈完成后指针指向入栈数据的下一个地址)和(入栈完成后指针指向入栈数据的下一个地址)和满堆栈满堆栈(入栈完成后指针指向最后入栈数据的地址);(入栈完成后指针指向最后入栈数据的地址);2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构

13、o向上生长型空堆栈向上生长型空堆栈n12h12h、34h34h、56h56h进栈过程及出栈过程进栈过程及出栈过程1234H1235H1236H1237H1238H1239H123AH123BH123CH123412h34h56h1235123612372.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构o向上生长型满堆栈向上生长型满堆栈n12h12h、34h34h进栈过程及出栈过程进栈过程及出栈过程1234H1235H1236H1237H1238H1239H123AH123BH123CH123434h56h12351236

14、2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构1 1、通用寄存器、通用寄存器o变址寄存器变址寄存器SISI和和DIDInSISI:源变址寄存器;:源变址寄存器;DIDI:目的变址寄存器;:目的变址寄存器;nSISI和和DIDI一般与一般与DSDS联合,可以确定源存储单元和目的联合,可以确定源存储单元和目的存储单元的物理地址;存储单元的物理地址;nSISI和和DIDI具有自动增加或减小具有自动增加或减小1 1的能力;的能力;2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内

15、部寄存器结构的内部寄存器结构2 2、段寄存器、段寄存器n80868086系统认为:程序系统认为:程序 = = 代码代码 + + 数据,每种编码数据,每种编码各自存放于自己的区域中,引入段的概念,并使各自存放于自己的区域中,引入段的概念,并使用段寄存器来保存每种编码的起始地址;用段寄存器来保存每种编码的起始地址;n80868086的寄存器包括的寄存器包括CSCS、DSDS、SSSS和和ESESo80868086系统中的各个段所保存的内容均有特定含义;系统中的各个段所保存的内容均有特定含义;nCSCS:代码段寄存器,保存指令代码存放的起始地址;:代码段寄存器,保存指令代码存放的起始地址;nDSDS

16、:数据段寄存器,保存用户数据存放的起始地址;:数据段寄存器,保存用户数据存放的起始地址;nSSSS:堆栈段寄存器,保存程序堆栈数据的起始地址;:堆栈段寄存器,保存程序堆栈数据的起始地址;nESES:附加段寄存器,保存备用信息的起始地址;:附加段寄存器,保存备用信息的起始地址;2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器、控制寄存器nIPIP:Instruction PointerInstruction Pointer,指令指针寄存器;,指令指针寄存器;oIPIP用于存放即将执行指令的偏移量;用于存

17、放即将执行指令的偏移量;oIPIP与与CSCS一起,才能得到指令的物理地址;一起,才能得到指令的物理地址;nPSWPSW:Program Statu WordProgram Statu Word,程序状态字;,程序状态字;oPSWPSW通常用于表征程序执行状态,所保存的内容可分通常用于表征程序执行状态,所保存的内容可分为条件码标志及控制标志;为条件码标志及控制标志;o80868086的的PSWPSW为为1616位,使用了其中位,使用了其中9 9位,其中位,其中6 6位为条位为条件码标志,件码标志,3 3位为控制标志;位为控制标志;2.1 80862.1 8086处理器结构处理器结构2.1.2

18、80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器、控制寄存器15 14 13 12 11 10 9876543210OF DF IF TF SF ZFAFPFCF位编号位编号名名 称称o条件码标志包含条件码标志包含CFCF、PFPF、AFAF、ZFZF、SFSF、OFOF。n条件码标志的值一般由处理器根据运算结果自动设置,条件码标志的值一般由处理器根据运算结果自动设置,其值与操作数有关;其值与操作数有关;o控制标志:控制标志:DFDF、IFIF、TFTF;n控制标志值一般由运行的程序根据需要,利用指令来控制标志值一般由运行的程序根据需要,利用指令来设置,其值与指令

19、有关;设置,其值与指令有关;2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器、控制寄存器( (条件码标志条件码标志) )nOFOF,Overflow FlagOverflow Flag,溢出标志,溢出标志oOF=1OF=1时,表示运算过程中发生了溢出;时,表示运算过程中发生了溢出;oOF=0OF=0时,表示运算过程中未发生溢出;时,表示运算过程中未发生溢出;nCFCF,Carry FlagCarry Flag,进位标志,进位标志o表征运算过程中最高位(第表征运算过程中最高位(第1515位)是否发生进位

20、;位)是否发生进位;nZFZF,Zero FlagZero Flag,零标志,零标志o表征运算结果是否全为表征运算结果是否全为0 0;nSFSF,Sign FlagSign Flag,符号标志,符号标志o表征运算结果的符号表征运算结果的符号2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器、控制寄存器( (条件码标志条件码标志) )nAFAF,Auxiliary Carry FlagAuxiliary Carry Flag,辅助进位位,辅助进位位o表征运算过程中第表征运算过程中第3 3位是否向第位是否向

21、第4 4位发生进位;位发生进位;nPFPF,Parity FlagParity Flag,奇偶效验位,奇偶效验位o当前累加器中所存放的数的奇偶效验情况;当前累加器中所存放的数的奇偶效验情况;oPF = 1PF = 1,低,低8 8位中有偶数个位中有偶数个11;oPF = 0PF = 0,低,低8 8位中有奇数个位中有奇数个11; 432101415AF2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器(控制标志)、控制寄存器(控制标志)o程序对控制标志进行设置后,将对以后的操作起控程序对控制标志进行设置

22、后,将对以后的操作起控制作用;制作用;oTFTF:Trap FlagTrap Flag,陷阱标志位,陷阱标志位nTF = 1TF = 1时,时,CPUCPU在每执行一条指令会自动产生一次中断;在每执行一条指令会自动产生一次中断;nTFTF使处理器处于单步执行方式,常用于程序的调试;使处理器处于单步执行方式,常用于程序的调试;oIFIF:Interrupt FlagInterrupt Flag,中断标志位,中断标志位nIF = 1IF = 1时,时,CPUCPU允许可屏蔽中断;否则不允许可屏蔽中断允许可屏蔽中断;否则不允许可屏蔽中断nIFIF只对可屏蔽中断产生影响,而对软件中断及不可屏蔽只对可屏

23、蔽中断产生影响,而对软件中断及不可屏蔽中断无影响;中断无影响;2.1 80862.1 8086处理器结构处理器结构2.1.2 80862.1.2 8086的内部寄存器结构的内部寄存器结构3 3、控制寄存器(控制标志)、控制寄存器(控制标志)oDFDF:Direction FlagDirection Flag,方向控制位,方向控制位n在串处理指令中,用于控制在串处理指令中,用于控制SISI、DIDI的增的增/ /减方向减方向oDF=1DF=1时,每次串处理操所后,变址寄存器时,每次串处理操所后,变址寄存器SISI、DIDI内容自动减内容自动减1 1,使串处理向地址递减方向进行;,使串处理向地址递

24、减方向进行;oDF=0DF=0时,每次串处理操所后,变址寄存器时,每次串处理操所后,变址寄存器SISI、DIDI内容自动加内容自动加1 1,使串处理向地址递增方向进行;,使串处理向地址递增方向进行;2.1 80862.1 8086处理器结构处理器结构2.1.3 80862.1.3 8086的编程结构的编程结构o总线接口单元总线接口单元BIUBIUn负责处理器、存储器及负责处理器、存储器及IOIO口间的数据传送;口间的数据传送;o从存储器中获得指令并填充到指令队列;从存储器中获得指令并填充到指令队列;oCPUCPU执行指令过程中,配合执行部件从指定的内存单元或执行指令过程中,配合执行部件从指定的

25、内存单元或IOIO口获取数据;口获取数据;o将处理结果传送给指定的内存单元或将处理结果传送给指定的内存单元或IOIO口;口;o执行单元执行单元EUEU2.1 80862.1 8086处理器结构处理器结构2.1.3 80862.1.3 8086的编程结构的编程结构1 1、总线接口单元、总线接口单元n寄存器包括:寄存器包括:CSCS、DSDS、SSSS、ESES和和IPIP;n2020位地址加法器位地址加法器n6 6个字节的指令队列个字节的指令队列n总线控制接口总线控制接口o处理器与外部总线的接口电路处理器与外部总线的接口电路o外部总线包括地址总线(外部总线包括地址总线(2020),数据总线(),

26、数据总线(1616)及)及控制总线。控制总线。2.1 80862.1 8086处理器结构处理器结构2.1.3 80862.1.3 8086的编程结构的编程结构1 1、总线接口单元、总线接口单元o指令队列指令队列n指令队列是一个按指令队列是一个按FIFOFIFO(先进先出)原则组织起来(先进先出)原则组织起来的存储体;的存储体;nBIUBIU具有预取指令的能力,即在具有预取指令的能力,即在EUEU执行指令的同时,执行指令的同时,将下一条或几条指令填充到预取队列中;将下一条或几条指令填充到预取队列中;n两种情况下两种情况下BIUBIU的行为的行为o顺序执行:顺序执行:BIUBIU顺序取出指令并填充

27、到指令队列中;顺序取出指令并填充到指令队列中;o程序转移:程序转移:BIUBIU清除指令队列,取出目标地址指令,并马清除指令队列,取出目标地址指令,并马上送入上送入EUEU,然后重新填满指令队列;,然后重新填满指令队列;2.1 80862.1 8086处理器结构处理器结构2.1.3 80862.1.3 8086的编程结构的编程结构1 1、总线接口单元、总线接口单元o物理地址的形成物理地址的形成n直观的说,直观的说,80868086内部所有寄存器均为内部所有寄存器均为1616位,但外部位,但外部地址线有地址线有2020根,需要做一定的变换;根,需要做一定的变换;n80868086的物理地址形成方

28、式的物理地址形成方式o段寄存器内容段寄存器内容16+16+偏移量偏移量 = = 物理地址物理地址逻辑地址逻辑地址段寄存器段寄存器0000物理地址物理地址1501501902.1 80862.1 8086处理器结构处理器结构2.1.3 80862.1.3 8086的编程结构的编程结构2 2、执行单元、执行单元o功能:负责执行指令功能:负责执行指令o组成:组成:n寄存器:寄存器:AXAX、BXBX、CXCX、DXDX和和BPBP、SPSP、SISI、DIDI;n标志寄存器标志寄存器PSWPSW:共:共9 9位,位,6 6个条件位,个条件位,3 3个控制位;个控制位;n算术逻辑运算单元:算术逻辑运算

29、单元:1616位加法器;位加法器;nEUEU控制逻辑控制逻辑o接受接受BIUBIU送入的指令并向送入的指令并向EUEU各个逻辑部分发出相应的控各个逻辑部分发出相应的控制信号,完成指令执行;制信号,完成指令执行;2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构1 1、处理器的地址空间编址、处理器的地址空间编址n统一编址:统一编址:IOIO口不单独编址,存储器地址与口不单独编址,存储器地址与IOIO口地址口地址位于一个地址空间;位于一个地址空间;n分开编址:分开编址:IOIO口单独编址,存储器与口单独编址,存储器与IOIO口位于不

30、同的口位于不同的地址空间,两套地址编号可重叠;地址空间,两套地址编号可重叠;n80868086的的IOIO口地址与存储器地址采用分开编址;口地址与存储器地址采用分开编址;n80868086的存储空间的存储空间1MB1MB,IOIO口空间为口空间为64K64Ko利用段寄存器及偏移量,利用段寄存器及偏移量,80868086可直接管理可直接管理1M1M存储器;存储器;o利用输入利用输入/ /输出指令可直接寻址输出指令可直接寻址256256个端口,使用个端口,使用DXDX可可寻址寻址64K64K个端口;个端口;2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086

31、的存储器结构的存储器结构1 1、处理器的地址空间编址、处理器的地址空间编址0N0N存储器存储器IO口口存储器存储器+IO口口2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构1 1、处理器的地址空间编址、处理器的地址空间编址o存储器分段存储器分段n80868086的存储空间分为若干段,每段最大的存储空间分为若干段,每段最大64KB64KB,每段,每段的起始地址由段寄存器保存,段内偏移量由具体的的起始地址由段寄存器保存,段内偏移量由具体的指令提供;指令提供;n根据根据BIUBIU的存储器地址形成方式,段寄存器内容须左的存储器地址形

32、成方式,段寄存器内容须左移移4 4位后再与偏移量相加,所以各个段的起始地址肯位后再与偏移量相加,所以各个段的起始地址肯定是能被定是能被1616整除的数,这些数将整除的数,这些数将1M1M空间分为空间分为64K64K段,段,这些段称为小段;这些段称为小段;2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构2 2、逻辑地址与物理地址、逻辑地址与物理地址o逻辑地址:由段寄存器与偏移量构成;逻辑地址:由段寄存器与偏移量构成;n逻辑地址记作:逻辑地址记作:SegmentSegment:OffsetOffset如:如:1234:132412

33、34:1324、2000:10002000:1000n物理地址:处理器在访问存储器某单元时,地址总物理地址:处理器在访问存储器某单元时,地址总线上所出现的信号所对应的地址;线上所出现的信号所对应的地址;o根据根据BIUBIU地址形成方式,地址形成方式,80868086的物理地址须由的物理地址须由5 5位位1616进制数才能完整地表示出来;进制数才能完整地表示出来;2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构3 3、各段在存储器中的分配、各段在存储器中的分配n应用程序开始对该程序所用到的各个段寄存器赋值;应用程序开始对该程序

34、所用到的各个段寄存器赋值;n各个段可以重叠,各个段可以重叠,80868086的每个段最大为的每个段最大为64K64K,但根据,但根据具体情况,几个段可以位于同一个具体情况,几个段可以位于同一个64K64K段内;段内;o如果段重叠,应用程序必须保证各个段的内容不冲突;如果段重叠,应用程序必须保证各个段的内容不冲突;n当程序所使用的段超过当程序所使用的段超过64K64K时,程序在适当的时候必时,程序在适当的时候必须动态的改变相应段寄存器的值;须动态的改变相应段寄存器的值;n段寄存器值可以由操作系统自行管理,但分配原理如段寄存器值可以由操作系统自行管理,但分配原理如以上所述;以上所述;2.1 808

35、62.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构64K64K程序程序64K64K数据数据64K64K堆栈堆栈64K64K数据数据1000H2400H4000H5500HESSSDSCS1000H2400H4000H5500H2.1 80862.1 8086处理器结构处理器结构2.1.4 80862.1.4 8086的存储器结构的存储器结构4 4、关于、关于PCPC机的说明机的说明n在在IBM PCIBM PC机中,整个存储器的首尾部分有特定的机中,整个存储器的首尾部分有特定的用途;用途;o00000H003FFH00000H003FFH共共

36、1K1K空间,用于存放中断向量;空间,用于存放中断向量;o系统在上电后,将从系统在上电后,将从0FFFF0H0FFFF0H处取出第一条指令,处取出第一条指令,即即80868086的上电复位程序入口地址为的上电复位程序入口地址为0FFFF0H0FFFF0H,所以,所以一般在一般在0FFFF0H0FFFF0H处放置一条无条件转移指令,将程处放置一条无条件转移指令,将程序转移到系统初始化程序处;序转移到系统初始化程序处;20060914 Thursday C2032.2 80 x862.2 80 x86结构微处理器简介结构微处理器简介2.2.1 80 x862.2.1 80 x86结构微处理器的功能

37、结构结构微处理器的功能结构o从从8038680386开始,从功能结构上看,到开始,从功能结构上看,到8048680486形成了形成了IA(Intel Architecture)-32IA(Intel Architecture)-32微处理器的基础;微处理器的基础;o相对于相对于80868086,新的,新的x86x86微处理器在硬件结构上微处理器在硬件结构上n使用了越来越先进的半导体制造工艺;使用了越来越先进的半导体制造工艺;n引入了很多的新的技术措施,提高处理器处理指引入了很多的新的技术措施,提高处理器处理指令的速度;令的速度;o桶形移位寄存器、流水线、多执行部件、高速缓存等;桶形移位寄存器、

38、流水线、多执行部件、高速缓存等;o加入浮点数处理部件,提高处理器对浮点数的处理速加入浮点数处理部件,提高处理器对浮点数的处理速度;度;2.2 80 x862.2 80 x86结构微处理器简介结构微处理器简介2.2.1 80 x862.2.1 80 x86结构微处理器的功能结构结构微处理器的功能结构o相对于相对于80868086,微处理器在硬件结构上,微处理器在硬件结构上n增强了对上层操作系统的支持;增强了对上层操作系统的支持;o多操作模式、新的存储器管理机制、支持任务切换等;多操作模式、新的存储器管理机制、支持任务切换等;n增强了对多媒体数据的处理能力;增强了对多媒体数据的处理能力;oMMXM

39、MX、SSESSE等等n将原有的寄存器位数扩展为将原有的寄存器位数扩展为3232位,增加了一些寄存器位,增加了一些寄存器2.2 x862.2 x86结构微处理器简介结构微处理器简介2.2.2 x862.2.2 x86结构微处理器的执行环境结构微处理器的执行环境1 1、操作模式、操作模式n保护模式保护模式o这种模式下,所有的指令及结构特性可用;这种模式下,所有的指令及结构特性可用;n实地址模式实地址模式o实现实现80868086编程环境并有一定的扩展:寄存器编程环境并有一定的扩展:寄存器3232位,具有切位,具有切换到另外两种模式的能力;换到另外两种模式的能力;n系统管理模式系统管理模式o为操作

40、系统实现平台特定功能或系统安全提供的一种透明为操作系统实现平台特定功能或系统安全提供的一种透明机制,处于这种模式下的处理器接受到中断后,会自动保机制,处于这种模式下的处理器接受到中断后,会自动保存当前程序上下文并切换到一个独立的存储空间;存当前程序上下文并切换到一个独立的存储空间;80 x86的工作模式的工作模式主要介绍一下实地址方式和保护虚地址方式主要介绍一下实地址方式和保护虚地址方式 。1、 实地址方式实地址方式具有具有32条地址线的微处理器只有低条地址线的微处理器只有低20条地址线起作用,能条地址线起作用,能寻址寻址1M字节的物理地址。字节的物理地址。 实地址方式和保护虚地址方式的区分是

41、由控制寄存器实地址方式和保护虚地址方式的区分是由控制寄存器CR0的最低位的最低位PE位决定的。位决定的。若若PE位为位为0,则工作在实地址方式;,则工作在实地址方式;若若PE位为位为1,工作在保护虚地址方式,工作在保护虚地址方式 ;实地址方式下,采用类似于实地址方式下,采用类似于8086的体系结构。归纳起来,的体系结构。归纳起来,有如下几个特点:有如下几个特点: 寻址机构、存储器管理、中断处理机构和寻址机构、存储器管理、中断处理机构和8086一样一样操作数默认长度为操作数默认长度为16位,但允许访问处理器的位,但允许访问处理器的32位位寄存器组,在使用寄存器组,在使用32位寄存器组时,指令中要

42、加上前位寄存器组时,指令中要加上前缀以表示越权存取。缀以表示越权存取。不用虚拟地址的概念,存储器容量最大为不用虚拟地址的概念,存储器容量最大为1M字节;字节;采用分段方式,每段大小固定为采用分段方式,每段大小固定为64K字节,存储段可字节,存储段可以彼此覆盖,即一个以彼此覆盖,即一个64K字节的段如未用完,另一个字节的段如未用完,另一个段可以覆盖未用的存储区。段可以覆盖未用的存储区。实地址方式下,存储器中保留两个固定区域,一个实地址方式下,存储器中保留两个固定区域,一个为初始化程序区,另一个为中断向量区。前者为为初始化程序区,另一个为中断向量区。前者为FFFF0HFFFFFH,后者为,后者为0

43、0000003FFH。在实地址方式下,运行的程序不分特权等级,实际在实地址方式下,运行的程序不分特权等级,实际上,实地址方式下的程序相当于工作在特权级上,实地址方式下的程序相当于工作在特权级0,除保,除保护虚地址方式下的一些专用指令外,所有其他指令都护虚地址方式下的一些专用指令外,所有其他指令都能在实地址方式下运行。能在实地址方式下运行。2、 保护虚地址方式保护虚地址方式在保护方式下,全部在保护方式下,全部32根地址有效,可寻址达根地址有效,可寻址达4G字节字节的物理空间;的物理空间;支持多任务,一个任务可运行多达支持多任务,一个任务可运行多达16KB个段,每个段个段,每个段最大可为最大可为4

44、G字节,故一个任务最大可达字节,故一个任务最大可达64MM字节的字节的虚拟地址,能快速的进行任务切换和任务保护环境;虚拟地址,能快速的进行任务切换和任务保护环境;在保护方式运行的程序分为在保护方式运行的程序分为4个特权级:个特权级:0、1、2、3,操作系统核心运行在最高特权等级操作系统核心运行在最高特权等级0,用户程序运行在,用户程序运行在最低特权等级最低特权等级3。 4级特权保护结构级特权保护结构 如图所示:如图所示:应用程序应用程序3级级常用扩展程序常用扩展程序内核内核0级级2级级系统服务程序系统服务程序1级级系统和应用程序分离系统和应用程序分离4 4级特权保护结构级特权保护结构(1)保护

45、方式下的寻址机制)保护方式下的寻址机制在保护方式下,一个存储单元的地址也是由段基地址在保护方式下,一个存储单元的地址也是由段基地址和段内偏移量两部分组成和段内偏移量两部分组成 。在保护方式下,段基地址也是在保护方式下,段基地址也是32位的,所以就不能由位的,所以就不能由段寄存器的内容直接形成段寄存器的内容直接形成32位的段基地址,而是要经位的段基地址,而是要经过转换。于是在内存中就有一个表,每一个内存段对过转换。于是在内存中就有一个表,每一个内存段对应着表中的一项,此项中包含应着表中的一项,此项中包含32位的段基地址。位的段基地址。 在在80 x86中,一个段用一个中,一个段用一个8字节的描述

46、符来描述,多字节的描述符来描述,多个描述符构成一个表,称为描述表。个描述符构成一个表,称为描述表。 由描述符中所规定的段基地址加上由描述符中所规定的段基地址加上32位的段内偏移量位的段内偏移量就可以寻址一个存储单元,如图所示就可以寻址一个存储单元,如图所示 。段寄存器段寄存器 偏移量偏移量 访问权 界 限 基地址 存储器操作数存储器操作数段内基址段内基址段界段界选择段大到4GB(2)描述符表和描述符)描述符表和描述符 描述符表描述符表 描述符表定义了访问存贮器的一种数据结构,是描述符表定义了访问存贮器的一种数据结构,是存放在存贮器空间中的一种特殊数据段,其表项是存放在存贮器空间中的一种特殊数据段,其表项是由段描述符或其他类型的描述符构成的,每个描述由段描述符或其他类型的描述符构成的,每个描述符占符占8个字节。个字节。分为三

温馨提示

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

评论

0/150

提交评论