




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章80x86微处理器2.1微处理器的发展1、80862、802863、803864、804865、奔腾(Pentium)6、PentiumPro7、奔腾II8、奔腾III9、IntelPentium4
2.28086微处理器2.2.18086CPU内部功能结构编程结构:就是指从程序员和使用者的角度应该看到的结构。这种结构与CPU内部的物理结构和实际布局是有区别的。从功能上分:总线接口部件BIU(BusInterfaceUnit)执行部件EU(ExecutionUnit)。状态标志寄存器EU控制器暂存寄存器123456(16位)总线控制逻辑地址总线地址加法器(20位)数据总线AHAHALBHBLCHCLDHDLSPBPDISIAXBXCXDXAHCSDSESSSIP内部通讯寄存器ALU数据总线(16位)Q(总线)(8位)执行部件(EU)总线接口部件(BIU)ALU(队列)8086总线图2.18086CPU的内部结构1、总线接口部件BIU总线接口部件的功能:与CPU外部(存储器、I/O端口)传送指令代码或数据。CPU执行指令的工作分为两个阶段:取指令和执行指令过程。(1)BIU的组成4个16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指针寄存器IP、20位的地址加法器、6字节的指令队列缓冲器、16位的内部暂存器和总线逻辑控制器(2)BIU各部件的作用⑴段地址寄存器CS:16位代码段寄存器,寄存程序代码段首地址的高16位。DS:16位数据段寄存器,寄存数据段首地址的高16位。ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。
⑵16位的指令指针寄存器IP:指出当前指令在程序代码段中的16位偏移量。⑶20位的地址加法器:用来产生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。⑷6字节的指令队列缓冲器:用来存放预取指令的指令队列。⑸16位的内部暂存器:暂存输入/输出信息的寄存器。⑹总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。2、执行部件EU执行部件的功能就是负责指令的执行。(一)EU的组成:执行部件由4个通用寄存器(AX、BX、CX、DX)、4个专用寄存器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志寄存器组成。(二)EU各部件的作用⑴4个通用寄存器AX:16位的累加器BX:16位的基数寄存器CX:16位的计数寄存器DX:16位的数据寄存器⑵4个专用寄存器BP:16位的基数指针寄存器SP:16位的堆栈指针寄存器堆栈:一组寄存器或一个存储区域,用来存放调用子程序或 响应中断时的主程序断点地址,以及暂存其它寄存 器的内容。当信息存入堆栈或从堆栈中取出信息时,都必须严格按照“先进后出”的规则进行。SI:16位的源变址寄存器DI:16位的目的变址寄存器⑶算术逻辑部件ALU:功能有两个:一是进行算术/逻辑运算,二是按指令的寻址方式计算出所寻址的16位偏移地址。⑷EU控制器:是执行指令的控制电路,实现从队列中取指令、 译码、产生控制信号等。⑸标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状 态特征和人为设置的控制标志。所用的各位含义如下:
8086的标志分两类:状态标志,控制标志。状态标志表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。控制标志是人为设置的,指令系统中有专门的指令用于控制标志的设置和清除,每个控制标志都对某一种特定的功能起控制作用。1514131211109876543210OFDFIFTFSFZFAFPFCF状态标志有6个,即SF、ZF、PF、CF、AF和OF。符号标志SF(SignFlag)零标志ZF(ZeroFlag)奇/偶标志PF(ParityFlag)进位标志CF(CarryFlag)辅助进位标志AF(AuxiliaryCarryFlag)溢出标志OF(OverflowFlag)。
什么是溢出?
例2.1计算机在进行2345H+3219H运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。
0010001101000101十00110010000110010101010101011110SF=0,ZF=0,PF=0,CF=0,AF=0,OF=0。例2.2计算机在进行5439H+456AH运算后,试求状态标志SF、ZF、PF、CF、AF、OF的值。
0101010000111001+01000101011010101001100110100011SF=1,ZF=0,PF=1,CF=0,AF=1,OF=1。
控制标志有3个,即DF、IF、TF。方向标志DF(DirectionFlag):这是控制串操作指令用的标志。中断标志IF(InterruptEnableFlag):这是控制可屏蔽中断的标志。跟踪标志TF(TrapFlag):也称单步陷阱
取指令1译码1取数1执行1存结果1取指令2译码2执行2…CPU时间(a)指令的串行处理取指令1取指令2取数1取指令3存结果1取指令4…BIU等待译码1执行1译码2执行2…EU时间(b)指令的并行处理图2.2串行处理和流水处理工作原理2.2.28086CPU内部流水线管理工作原理①开始执行程序,EU等待BIU提取指令,当BIU使队列不空时,EU和BIU就开始独立进行工作。②当BIU的指令队列中出现2个空字节时,BIU又会自动把后面的指令从存储器取到指令队列中,直到指令队列满为止。③当EU在执行指令过程中必须访问存储器或I/O,端口时,EU会请求BIU去完成访问外部的操作。④当指令队列已满,而且EU又无访问请求时,BIU便进入空闲状态。⑤当EU执行转移指令、调用指令和返回指令时,指令队列中的内容自动清除。⑥当遇到程序的执行需要转移,或者某条指令的执行过程中需要访问内存的次数过于频繁,使BIU没有空闲进行指令的提取时,EU处于等待状态,直到BIU取出指令为止。2.2.38086CPU的存储器组织地址空间:1MB(20位)逻辑段:最大64kB,CS,DS,ES,SS。浮动、连续、分开重叠。1、存储器分段和段寄存器段首址:各逻辑段的第一个单元的地址。段基址:段首址的高16位。段基址根据段的性质存放在相应的段寄存器DS、ES、SS或CS中。偏移地址:段内存储单元距离段首地址的偏移量。段基址和偏移地址都是无符号的16位二进制数,这两部分构成了存储单元的逻辑地址。
采用分段结构的存储器中,任何一个20位物理地址都是由它的逻辑地址变换得到的:物理地址=段基址×16+偏移地址段寄存器150000016位偏移地址1500000加法器20位物理地址190图2.48086物理地址的形成段寄存器CSSSDSES基址及指针寄存器CSBPSPSIBXDI图2.5段寄存器与其它寄存器的组合2、存储器组织8086的1MB存储器,分成了两个512KB存储区,分别叫奇地址区(奇区)和偶地址区(偶区)。
CSA18~A0512K字节奇区存贮体D7~D0CSA18~A0512K字节偶区存贮体D7~D0D8~D15D0~D7A1~A19A0BHE图2.68086存储器的偶区和奇区
字节分为奇字节和偶字节。字分为奇字、偶字。对于奇字节、偶字节、奇字、偶字的读/写操作,奇字节、偶字节和偶字操作均可用一个总线周期完成,而奇字操作需二个总线周期,分别用奇字节和偶字节操作来完成。2.2.48086CPU总线周期的概念
BIU通过系统总线完成对外界(存储器或I/O端口)的一次访问所需的时间称作一个总线周期。在计算机中时间的最小单位是时钟周期(一个时钟脉冲的时间长度)。在8086CPU中,一个最基本的总线周期由4个时钟周期组成。4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状态和T4状态。除了上述四个状态外,还有等待状态Tw和空闲状态TI。图2.7典型的8086总线周期序列①在T1状态,CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。②在T2状态,CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据作准备。③在T3状态,多路总线的高4位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据④在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。⑤在T4状态,总线周期结束。2.2.58086CPU的引脚信号及工作模式
最小模式:在系统中只有一个8086处理器。最大模式:在系统中有两个或两个以上的处理器1、8086CPU的引脚信号GNDAD14
AD13
AD12
AD11
AD10
AD9
AD8
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCC(+5v)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET图2.88086CPU的引脚信号排列1、最小模式1~40脚的功能定义(一)双向引脚信号AD15~AD0
地址/数据复用线(双向,三态)。第2~16引脚分别为AD14~AD0,第39引脚为AD15。作为功能复用引脚。(二)输入引脚信号(1)MN/最小/最大模式设定(输入,高、低电平均有效)。MN/=1,8086系统工作方式设置为最小模式。MN/=0,8086设置为最大模式工作方式。(2)地线和电源线(输入)8086的GND有两条(1,20脚),Vcc接入的电压为+5V±10%。(3)CLK系统时钟(输入)。通常与8284A(时钟发生器)的时钟输出端CLK相连接。(4)RESET复位信号(输入,高电平有效)。(5)READY“准备好”信号(输入,高电平有效)。(6)等待测试信号(输入,低电平有效)。(7)NMI非屏蔽中断请求信号(输入,上升沿触发)。(8)INTR可屏蔽中断请求信号(输入,高电平有效)。(9)HOLD总线保持请求信号(输入,高电平有效)。(三)输出引脚信号(1)A19~A16/S6~S3地址/状态复用线(输出,三态)。S4
S3
状态00110101指示附加段寄存器在使用(可修改数据)指示堆栈段寄存器在使用指示代码段寄存器在使用(或未用任何段寄存器)指示数据段寄存器在使用表2.1S4、S3代码指示正在使用的段寄存器(2)/S7
数据线高8位开放/状态复用线(输出,三态)。表2.2、A0代码表示的相应操作A0
操作所用数据引脚00从偶地址读/写一个字AD15~AD010从偶地址读/写一个字节AD7~AD001从奇地址读/写一个字节AD15~AD80110从奇地址读/写一个字(分两个总线周期实现,首先作奇字节读/写,然后作偶字节读/写)AD15~AD8AD7~AD0(3)
读控制信号(输出,低电平有效,三态)。(4)
写控制信号(输出,低电平有效,三态)。(5)M/存储器和I/O控制信号(输出,三态)。(6)中断响应信号(输出。低电平有效)。(7)HLDA总线保持响应信号(输出,高电平有效)。(8)ALE地址锁存信号(输出,高电平有效)
(9)DT/数据收/发控制信号(输出,三态)。(10)
数据允许信号(输出,低电平有效,三态)。二、最大模式24~31脚的功能定义(l)~总线周期状态信号(输出,三态)。总线周期8288控制命令000001010011100101110111INTA周期I/O读周期I/O写周期暂停取指令周期读存储器周期写存储器周期无源状态无无表2.3~对应的总线周期及8288的控制命令
(2)QS1、QS0指令队列状态信号(输出)。
表2.4QS1、QS0与队列状态QS1
QS0
队列状态00110101无操作从队列缓冲器中取出指令的第一字节清除队列缓冲器从队列缓冲器中取出第二字节以后部分(3)
、
总线请求/总线允许信号(双向,低电平有效,三态)。(4)
总线封锁信号(输出,低电平有效,三态)。2、8086CPU工作模式的典型配置
(1)最小模式下的典型配置
RES8284MN/MXRDCLKWRREADYM/IORESETALEA19~A15BHE
AD15~AD0DENDT/RSTB8282OR8283OE存储器I/O芯片8282ORT8283OE8086CPU图2.98086最小模式下的典型配置数据总线地址总线地址/数据地址BHE(2)最大模式下的典型配置TOE8286
STB8282OE8288S0INTAS1MRDCS2MWTCDENIOWCDT/RIORCALE8284RESMN/MXCLKS0READYS1RESETS2
AD15~AD0A16~A19存储器I/O芯片8086CPUCLK图2.108086最大模式下的典型配置BHE1VCC地址总线数据总线2.2.68086CPU的操作时序操作时序可分为:系统复位和启动操作、暂停操作、空操作、总线读操作、总线写操作、中断操作、总线 保持。1、系统复位和启动操作图2.118086CPU的复位操作时序2、暂停操作
3、总线空操作4、总线读操作总线读操作分两种:最小模式下的总线读操作最大模式下的总线读操作l)最小模式下的总线读操作图2.12最小模式的总线读操作时序
T1状态CPU完成五个操作:①CPU首先在M/线上发出有效电平。②从地址/数据复用线AD15~AD0和地址/状态复用线A19/S6~A16/S3发20位存储器单元地址或16位I/O端口地址。③CPU在T1状态从ALE引脚上输出一个正脉冲作地址锁存器的地址锁存信号。④CPU在T1状态通过/S7引脚发有效信号(低电平)。
⑤CPU在T1状态使DT/变为低电平,控制数据收发器为接收数据状态。
T2状态CPU完成五个操作:①地址/数据复用线AD15~AD0上地址信号消失,AD15~AD0进入高阻缓冲期,以便为数据读入作准备。②地址/状态复用线A19/S6~A16/S3及/S7线,开始输出状态信息S7~S3,持续到T4。③信号开始变为低电平(有效),此信号是用来使数据收发器(如8286)开放。④信号开始变为低电平有效。此信号被接到系统中所有存储器和I/O端口。
⑤DT/继续保持低电平有效的接收状态。
T3状态:存储器或外设把数据放在数据总线AD15~AD0上,为CPU读数据作好准备。Tw状态:这是一个等待状态,Tw可以为1个或多个。T4状态:在T4状态和前一状态交界的下降沿处,CPU对数据总线上的数据进行采样,完成读取数据的操作。2)最大模式下的总线读操作
图2.13最大模式的总线读操作时序5、总线写操作总线写操作是指CPU把数据写入到存储器或I/O端口。1)最小模式下的总线写操作图2.14最小模式的总线写操作时序总线写周期和总线读周期操作有何不同?①写周期下,AD线上因输出的地址和输出的数据为同方向,因此,T2时不再需要像读周期时要维持一个周期的浮空状态以作缓冲;②对存储器芯片或I/O端口发出的控制信号是WR,而不是RD,但它们出现的时序类似,也是从T2开始;③在DT/引脚上发出的是高电平的数据发送控制信号DT,此信号被送到8286数据收发器控制其为数据输出方向。
2)最大模式下的总线写操作
图2.15最大模式的总线写操作时序
2.380286微处理器
2.3.180286CPU的主要性能1、80286是一种先进的16位微处理器2、80286CPU有两种工作方式(1)实地址方式(2)保护虚地址方式3、具有存储器管理和保护机构4、兼容性好2.3.280286CPU的功能结构组成:执行部件EU、地址部件AU、指令部件IU和总线接口部件BIU通用寄存器ALU及标志寄存器控制器偏移量或数据已译码指令地址部件段描述符Cache偏移量加法器物理地址加法器段寄存器总线接口部件物理地址存储器操作数请求内部数据总线指令部件图2.1680286功能结构框图协处理器接口总线控制器地址锁存驱动器数据收发器预取器3条已译码指令队列指令译码器6字节预取队列PEACKPEREQ地址总线控制总线数据总线执行部件161、总线接口部件BIU组成:协处理器接口、地址锁存驱动器、总线控制器、数据收 发器、预取器和6字节的预取队列。主要作用:处理CPU和系统总线之间的所有通信和数据传输。2、指令部件IU组成:指令部件IU由指令译码器和已译码指令队列主要作用:把指令字节从预取队列中取出,送入指令译码器。3、执行部件EU组成:算术逻辑部件ALU、标志寄存器、通用寄存器阵列和控制电路等。主要作用:EU中的控制电路根据已译码指令的69位内部码产生执行指令所需的控制电位序列,实现对其它部件的控制,完成指令的执行,并根据操作结果影响标志寄存器的标志位。4、地址部件AU组成:地址部件AU由段描述符高速缓冲存储器、物理地址加法 器、偏移地址加法器和段寄存器等。主要作用:在实地址方式下将段基址与偏移地址组合起来形成 20位物理地址。2.3.380286CPU的寄存器1、新增标志位80286CPU新增了两类标志,占用三个标志位。(1)I/O特权级标志该标志占用两位二进制位(位12、13),四个状态,用来确定需要执行的I/O操作的特权级。(2)嵌套任务标志NTNT标志占用一位二进制位(位14)。
2、机器状态字MSW(1)允许保护标志PE若PE=1,则80286转换成保护方式。(2)监控协处理器扩充标志MP若MP=1则系统中有数学协处理器存在;否则数学协处理器不存在。(3)仿真协处理器扩充标志EM若EM=1,表示采用软件仿真数学协处理器的功能,若EM=0,表示没有采用软件仿真数学协处理器的功能。(4)任务转换标志TS(TaskSwitchedFlag)TS由硬件置位,由软件复位。2、机器状态字MSW(1)允许保护标志PE若PE=1,保护方式;系统复位后,PE=0,实地址方式。(2)监控协处理器扩充标志MP若MP=1则系统中有数学协处理器存在;否则数学协处理器不存在。(3)仿真协处理器扩充标志EMEM=1,表示采用软件仿真数学协处理器的功能;若EM=0,则否。(4)任务转换标志TSTS由硬件置位,由软件复位。2.3.480286CPU的存储器寻址
什么是虚拟存储器?它是一种设计技术,采用该技术能提供比实际内存储器大得多的存储器空间。它由存储器管理机制和一个大容量快速硬磁盘支持,及时地将虚拟存储空间调入内存或调回磁盘。
CPU中其它部件选择子偏移量加法器3116150存储器┋目标单元┋┋段描述符┋段段基址230080286CPU图2.1880286保护虚地址方式下的存储器寻址过程2.480386微处理器
2.4.180386CPU的主要性能1、灵活的32位微处理器2、具有3种工作方式(1)实地址方式(2)虚地址保护方式(3)虚拟8086方式3、具有段页式存储器管理部件4、兼容性强5、高性能的硬件措施2.4.280386CPU的功能结构组成:总线接口部件BIU、指令预取部件、指令译码部件、执 行部件、分段部件和分页部件。1、总线接口部件BIU组成:由请求判优控制器、地址驱动器、流水线总线宽度控制、 多路转换MUX/收发器等。主要作用:将CPU内部的其它部件与外部总线连接起来。2、指令预取部件组成:预取器及预取队列。主要作用:管理着一个预取指令指针和段预取界限。3、指令译码部件组成:指令译码器及已译码指令队列。主要作用:指令译码部件为指令的执行做好了准备。4、执行部件组成:控制部件、数据处理部件和保护测试部件。主要作用:将已译码指令队列中的内部编码变成按时间顺序排 列的一系列控制信息,并发向处理器的其它处理部 件,以便完成一条指令的执行。数据处理部件的组成:一个算术逻辑部件ALU、8个32位通用寄 存器、一个64位桶形移位器和一个乘法器。5、分段部件组成:三输入地址加法器、段描述符高速缓冲存储器及界限和 属性检验用可编程逻辑阵列PLA。主要作用:把逻辑地址转换成线性地址。6、分页部件组成:加法器、页高速缓冲存储器及控制和属性PLA。主要作用:将分段部件或代码领取部件产生的线性地址转换成 物理地址。存储器管理部件MMU的组成:分页部件、分段部件及总线接口 部件。预取器/界验校验器16字节预取队列译码和定序控制ROM桶形移位器ALU乘/除硬件寄存器组保护检测部件地址驱动器流水线总线宽度控制MUX收发器请求判优器有效地址总线有效地址总线状态标志ALUALU控制指令译码器已译码指令队列指令译码器ALU总线323输入加法器描述符高速缓冲存储器界限和属性PLA分段部件MMU加法器页高速缓冲存储器控制和属性PLA分页部件3234总线接口部件BIU物理地址总线码/页表获取线性地址总线内部控制总线32指令预取代码流偏移量总线执行部件323232HOLD,INTR,NMIERROR,BUSYRESET,HLDABE0~BE31A1~A31M/IO,D/CW/R,LOCKADS,NA,BSIG,READYD0~D31图2.1980386CPU的功能结构2.4.380386CPU的寄存器80386CPU共有34个寄存器:1、基本寄存器(16个)(1)32位通用寄存器(4个):EAX、EBX、ECX、EDX(2)32位变址寄存器(2个):源地址寄存器ESI和目的地址 寄存器EDI(3)32位指针寄存器(3个):基地址指针寄存器EBP、堆栈 指针寄存器ESP和指令指针寄 存器EIP(4)16位段寄存器(6个):代码段寄存器CS、数据段寄存器 DS、堆栈段寄存器SS及附加数据 段寄存器ES、FS和GS(5)32位标志寄存器(1个)6个状态标志:进位标志CF、奇偶标志PF、辅助进位标志AF、零标 志ZF、符号标志SF、溢出标志OF;3个控制标志:陷阱标志TF、中断允许标志IF、方向标志DF;2个保护方式标志:输入/输出特权级标志IOPL、嵌套任务标志 NT;2个新增的标志:重新启动标志RF、虚拟8086方式标志VM。1)重新启动标志RF(ResumeFlag)2)虚拟8086方式标志VM(Virtual8086ModeFlag)313029280000000000DIVIPVIFACVMRF0NTIOPLOFDFIFTFSFZF0AF0PF0CF2726252423222120191817161514131211109876543210XID标志X虚拟中断挂起X虚拟中断标志X对齐核查X虚拟8086方式X恢复标志X嵌套任务XI/O特权级S溢出标志C方向标志C中断允许标志C陷阱标志S符号标志S零标志S辅助进位标志S奇偶标志S进位标志IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCF0保留位。不要使用。位0~11为8086的标志位;位0~14为80286的标志位;位0~17为80386的标志位;位0~18为80486的标志位;位0~21为奔腾的标志位。图2.2080x86的标志寄存器2、控制寄存器(4个)80386有4个32位的控制寄存器:CR0~CR3(1)CR0与CR1CR0寄存器包含6个系统标志、CR1是未定义的控制寄存器。1)扩充类型标志ET2)允许分页标志PGPG保留ETTSEMMPPE310CR0协处理机扩充任务转换仿真协处理器监控协处理器允许保护允许分页图2.2180386控制寄存器CR0(2)CR2与CR3CR2:页故障线性地址寄存器CR3:页目录基地址寄存器页故障线性地址寄存器11109876543210页目录基址寄存器000000000000312423161511109876543210CR2CR3图2.2280386的控制寄存器CR2和CR33、系统地址寄存器(4个)作用:用来保存操作系统所需要的保护信息和地址转换表信息。(1)全局描述符表寄存器GDTR(48位)作用:保存全局描述符表的32位线性基址和16位界限。(2)中断描述符表寄存器IDTR(48位)作用:保存中断描述符表的32位线性地址和16位界限。
选择子选择子4732位线性基地址1615界限0GDTRIDTRTRLDTR图2.2380386系统地址寄存器(3)局部描述符表寄存器LDTR(16位)作用:保存当前任务的LDT的16位选择子。(4)任务状态寄存器TR(16位)作用:保存当前任务的TSS(任务状态段)的16位选择子。4、调试寄存器(8个)DR0~DR7DR0~DR3:线性断点地址寄存器。DR4和DR5:保留的备用调试寄存器。DR6:断点状态寄存器。DR7:断点控制寄存器。5、测试寄存器(2个)TR6、TR7TR6:用来存放测试命令的寄存器。TR7:数据寄存器,用来保存对TLB测试时的状态数据。2.4.480386CPU的存储器管理
图2.24虚拟地址转为物理地址的过程选择子偏移量:描述符表描述符段基地址Σ32位线性地址分页被禁?线性地址即为物理地址由分页管理进行转换形成物理地址YNl、分段管理什么是描述符?它是在一个8字节长的数据结构中存放一组段的信息。描述符表:全局描述符表GDT、局部描述符表LDT和中断描述符表 IDT。(1)选择子
组成:索引、指示器TI和特权层RPL段描述符索引TIRPL153210图2.25选择子结构与功能段选择子(16)位···8个字节最多8191项···8个字节最多8191项全局描述符表局部描述符表(2)描述符分为两类:程序段描述符、系统段描述符主要区别:段类型、A属性的定义和S属性的值不同。1)程序段描述符分为两类:代码段、数据段组成:段基地址、段类型、段限量和段属性12141311109基地址(24~31)AVLGD段限量(16~192.26段描述符结构0GDPLSA类型Basic基地址(16~23)基地址(0~15)段限量(0~15)6420GDAVL粒度缺省可用PDPLSA出现描述符特权级描述符类型访问①段基地址:由描述符中第2、3、4、7字节组成。②类型:共占3位,它位于描述符中第5字节的D3~D1。分成3个部分,分别对应于位D3~D1的是C/D、E/C、R/W。C/D=1时,为代码段。这时,E/C=1表示本代码段可以被调用并执行,否则不能调用。R/W=1表示本代码段可读,否则不可读。C/D=0时,为数据段(包括堆栈段)。E/C=0表示向上扩展,为数据段。E/C=l表示向下扩展,为堆栈段。R/W=0,数据段不可写;如R/W=l,则为可写。堆栈段的R/W必须为1。③段限量:由描述符的0、1两字节以及第6字节的D3~D0组成 20位段限量,由属性来决定以页为单位还是以字节 为单位。④段属性:共占9位,它位于描述符中第5字节的D0、D7~D4 和第6字节的D7~D4。访问位A:如A为1,则已访问过;如A为0,则未访问过。描述符类型S:如S=1,则为非系统段描述符,对应的段为代码 段、数据段或堆栈段;如S=0,则为系统段描 述符。特权级DPL:它指出了对应段的保护级,从高到低可为0-3级, 0级最高,3级最低。存在位P:如P=1,则对应段已装入内存储器;如P=0,则对 应段目前并不在内存储器中,而要从磁盘上调进来。80286CPU只有以上四种段属性。以下的段属性只有80386以上的CPU才有。粒度G:给出段长度的单位。如G=1,则长度以页为单位; 如G=0,则长度以字节为单位。操作数长度D:如D=0,表示操作数和有效地址的缺省值为 16位;如D=1,表示操作数和有效地址的缺省 值为32位;可用位AVL:若AVL=0,系统软件不可以使用该段;若AVL =1,系统软件可以使用该段;2)系统段描述符分为三类:局部描述符表LDT、任务状态段TSS和门描述符。表2.5系统段描述符的16种类型①任务状态段TSS当描述符中S=0且类型值为1、3、9、B时,则为TSS描述符。什么是任务状态段? 它是多任务系统中的一种特殊数据结构,它反应了一个任务的各种信息。类型值段类型
类型值段类型
0未定义
8未定义
180286的有效任务状态段TSS
980286的有效任务状态段TSS2LDT描述符,对应一个LDT
A未定义380286的忙碌任务状态段TSS
B80386的忙碌任务状态段TSS
480286的调用门
C80386的调用门580286或80386的任务门
D未定义680286的中断门
E80386的中断门
780286的陷阱门
F80386的陷阱门
②LDT描述符当描述符中S=0且类型值为2时,则为LDT描述符。③门描述符什么是门? 当描述符中的S=0且类型值为4、5、6、7、C、E、F时,则为门描述符。它是一种转换机构。类型:调用门、任务门、中断门、陷阱门。调用门:改变任务或者程序的特权级别;任务门:执行任务切换;中断门和陷阱门:指出中断服务程序的入口。组成:选择子、偏移量、P、DPL、类型和字计数选择子和偏移量指出一个子程序的起始地址。P和DPL对所有门含义都相同,P=1表示本描述符有效,P=0表示本描述符无效;DPL为访问该门的任务应具备的特权级。字计数值指出有多少参数必须从主程序的堆栈拷贝到被调用子程序的堆栈。中断门和陷阱门之间的差别:进入中断门时,标志寄存器中IF自动清0,即关中断,而进入陷阱门不会关中断。图2.27调用门描述符PDPL0000类型代码段选择子偏移量(低)域PDPL类型计数描述存在描述符特权级指定门类型要拷贝至目标栈的字数(16位门)或双字数(32位门)计数偏移量(高)*调用门(3)逻辑地址转换为线性地址选择子偏移量逻辑地址:16位32位13位索引TIRPL1位2位TI=0TI=18字节描述符┇段基地址┇8字节描述符┇段基地址┇全局描述符表局部描述符表32位段基地址TI=0TI=1GDTLDTΣ32位线性地址图2.28逻辑地址转为线性地址(4)描述符表寄存器全局描述符表寄存器GDTR、局部描述符表寄存器LDTR和中断描述符表寄存器IDTR。GDTR和IDTR均为6字节寄存器。其中用32位指出GDT和IDT所在存储区的线性地址,用16位指出其界限。LDTR只是一个16位的寄存器,用来容纳一个选择子。80386为何为6个段寄存器各设置了一个64位的段描述符寄存器?它是一个高速缓冲存储器,每次装入选择子时,段描述符也一起装入;不必通过描述符表查找段描述符而代之以高速缓存中的描述符信息;节省了访问存储器的时间。2、分页管理分页管理涉及两个表:页目录项表和页表。页目录项索引域页表项索引域偏移量32位线性地址31222112110×4⊕×4⊕4K字节1024项页目录项⊕页目录项地址页表项地址物理地址4K字节1024项页目录项物理量存储器┇目标单元┇页目录项表基地址页表基地址页基地址页目录项表页表10位10位12位1页内容控制寄存器(a)表项的高20位物理基址AVL00DA00U/SR/WP311211109876543210(b)图2.29线性地址转为物理地址(a)转换过程(b)页目录项、页表项的格式CR3(1)线性地址分为三部分:0~11共12位是偏移量,12~21共10位是页表项索 引,22~31共10位是页目录项索引。(2)页目录项表和页表(占4K字节)每一项包含下列信息:1)表的物理基地址:对页目录项表来说,高20位是页表的起始 物理基地址(低12位全为0);对页表项 来说,则为页面的起始物理地址。2)存在标志P:如P=1,则所指的页表或页存在于主存储器 中;如P=0,则对应的页表或页不在主存储 器中。3)访问标志A:在实际运行中,一开始所有页目录项和页表 项的A位均为0。当A=1时表示对应项被访问 过,并保持为l。4)写标志D:一开始操作系统将D设为0,以后,当对此页进 行写操作时,D位为1,并保持为l。5)保留位AVL:一般供操作系统记录页的使用情况。6)用户/监控位U/S:如U/S=0,则用户程序不能访问该 页,若U/S=1,才允许用户程序读 /写该页。7)可读/写标志W/R:如W/R=0,该页为只读;如W/R=1, 该页为可读/写。(3)地址转换过程线性地址转换为物理地址可分为三步:求页目录项的物理地址、求页表项的物理地址和求目标单元的物理地址。1)求页目录项的物理地址2)求页表项的物理地址3)求目标单元的物理地址(4)物理地址转换举例说明设某目标单元的线性地址为135790ABH,80386CPU控制寄存器CR3中内容为2468AC13H,并设页目录项表中被选项的内容00500021H,页表中被选项的内容为12345021H,试求对应于该线性地址的物理地址。1)求页目录项的物理地址取CR3的高20位,并使低12位为0得2468A000H,取线性地址的高10位,并乘4得134H,则页目录项表中被选项的物理地址为2468A134H。2)求页表项的物理地址 取出页目录项的内容00500021H,并使其低12位为0得00500000H,取线性地址的第12~21位,并乘4得5E4H,则页表中被选项的物理地址为005005E4H。3)求目标单元的物理地址 取出页表项的内容12
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国小球藻粉末成分市场销售规模及未来供需预测研究报告
- 2025-2030中国小型电池功率放大器行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国宾馆酒店行业发展分析及竞争策略与趋势预测研究报告
- 运动用球行业跨境出海战略研究报告
- 2025-2030中国家用排气扇行业市场全景调研及投资价值评估咨询报告
- 2025-2030中国家庭护理机器人行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国室内设计行业市场现状供需分析及投资评估规划分析研究报告
- 14-萘醌行业跨境出海战略研究报告
- 2025-2030中国宠物住宿市场经营风险与未来发展规模调研研究报告
- 人物模型行业直播电商战略研究报告
- 2025年东北三省四城市(哈尔滨、沈阳、长春、大连)联考暨沈阳市高三质量监测语文(二)
- (省统测)贵州省2025年4月高三年级适应性考试(选择性考试科目)地理
- 香港专才移民合同协议
- 2025-2030中国汽车冲压件行业发展分析及投资前景预测研究报告
- 销售人员提成及薪酬制度++副本
- 第四章 问题解决策略:特殊化 课件 2024-2025学年北师大版七年级数学下册
- 高空清洗施工安全的协议书6篇
- 口腔科防控课件
- 针对项目实施的重点、难点的分析和解决方案
- 南宁2025年3月高三二模英语试卷
- 2025年驾驶三力测试题及答案
评论
0/150
提交评论