已阅读5页,还剩147页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020/6/14,北京理工大学理学院,1,中央处理器的功能与组成,2020/6/14,北京理工大学理学院,2,计算机硬件系统组成,运算器,控制器,主存储器,输入设备,输出设备,总线和入出接口,高速缓存,虚拟存储器(磁盘设备),2020/6/14,北京理工大学理学院,3,二、控制器的功能与组成,1.控制器的功能:控制执行指令控制各部件协调运行,即为各部件提供控制信号。2.控制器的组成:程序计数器、指令寄存器、指令步骤标记线路提供控制信号的部件分类:微程序的控制器硬布线的控制器,2020/6/14,北京理工大学理学院,4,控制器的功能,计算机的功能是执行程序程序是依次排列起来的指令代码控制器的功能就在于:正确且自动地连续执行指令;正确地分步完成每一条指令规定的功能;再进一步说,就是向计算机各功能部件发出协调运行每一个步骤所需要的控制信号。,2020/6/14,北京理工大学理学院,5,指令的执行过程,冯.诺依曼结构的计算机即存储程序的计算机,设置内存,存放程序和数据,在程序运行之前存入。执行程序:正确从程序首地址开始;正确分步执行每一条指令,并形成下条待执行指令的地址;正确并自动地连续执行指令,直到程序的最后一条指令。,2020/6/14,北京理工大学理学院,6,每条指令的执行步骤,读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器分析指令按指令规定内容执行指令不同指令的操作步骤数,和具体操作内容差异很大检查有无中断请求若有,则转中断处理若无,则转入下一条指令的执行过程,2020/6/14,北京理工大学理学院,7,控制器的组成,程序计数器PC:存放指令地址,有+1或接收新值功能。指令寄存器IR:存放指令内容:操作码与操作数地址。主脉冲源与启停控制线路,按需要给出主脉冲信号。指令执行步骤标记线路:指明每条指令的执行步骤。控制信号记忆或产生线路:给出计算机各功能部件协同运行所需要的控制信号。,运算器部件,主存储器部件,总线及输入/输出接口(输入/输出设备),控制器部件,各部件包括,也包括,设计控制器中的难点,在于解决对运算器、控制器的控制,2020/6/14,北京理工大学理学院,8,时序控制信号形成部件,译码,IR,PC,输出设备,输入设备,主存,运算器部件,时序,启停,地址寄存器械,数据总线,地址总线,控制总线,.,控制条件,控制器信号(组合逻辑形成控制方式),主振,硬布线方案的控制器,2020/6/14,北京理工大学理学院,9,控制存储器,映射,IR,PC,输出设备,输入设备,主存,运算器部件,下地址,启停,地址寄存器械,数据总线,地址总线,控制总线,.,控制条件,微指令寄存器,主振,微程序方案的控制器,(微程序形成控制方式),2020/6/14,北京理工大学理学院,10,三、微程序控制器的运行原理,每条指令一个执行步骤用到的全体控制信号组成一微指令每条指令可以包括一到多个微操作用多条微指令解释每条指令的整个执行过程全部微指令的集合叫做微程序执行一条微指令所用的时间被称为一个微周期。微指令的格式和内容:下地址字段控制命令字段,2020/6/14,北京理工大学理学院,11,下地址字段的内容,得到下地址的方法:由指令操作码得到:微指令顺序执行微指令必转或条件转移多路微地址转移微子程序调用和返回按次数循环一段微程序其他:如特定入口微地址,在微指令下地址字段中表示清楚:使用哪种方法,哪个(些)判断条件,要用的有关地址等,并用专门电路完成必要支持和处理,微指令的下地址是微程序设计中要重点解决的问题之一,技术、技巧性强。,2020/6/14,北京理工大学理学院,12,控制命令字段,给出计算机各功能部件协同运行所需要的控制信号划分成若干字段,分别用于控制各部件控制运算器部件如:运算功能,数据来源,结果处理等控制总线主存入出接口(设备)如:指出是主存读、写还是入出设备读、写把什么数据送到有关总线等,控制控制器部件(下地址字段)主要是正确给出下条微指令的地址,2020/6/14,北京理工大学理学院,13,微命令字段的编码译码方法,1.直接控制法直接用微指令字的一位作一个控制信号,则简单且速度快,但会使微指令字变得很长。2.字段直接编译法把互斥的命令分在一组加以编码,经译码器给出命令,速度会稍慢,但可大大减短微指令字长度,确保互斥。3.字段间接编译法是对字段直接译码的的一种改进,可进一步缩短微指令字长度,即一个字段的某些微命令还受另一字段的制约。4.常数源字段E微指令中分配几位,用于给出特定用途的有关数值(例如计算器中的初始值)。,2020/6/14,北京理工大学理学院,14,微指令控制信号字段编码,为每一条微指令各项微操作确定其所要求的控制信号如:使IR,AR等寄存器接收的信号控制PC增量和接收的信号读写主存,读写外设的信号控制运算器操作的信号等等这要看被控制的具体对象的具体要求,2020/6/14,北京理工大学理学院,15,为每一条微指令分配微地址,需要为每一条微指令在控制存储器中分配一个合适的地址这是合理地组织微程序的重要工作首先确定微指令中下地址字段的组成,再按每一条微指令在控存中的位置来安排下地址字段的各部分的编码这与控制器的具体线路与方案有关,2020/6/14,北京理工大学理学院,16,程序计数器,运算器,控制器,控制存储器,用于运算器,输入设备,输出设备,主存储器,控制总线,0412,78BD,2091,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,9CFB,AC00,800,807,3041,2020/6/14,北京理工大学理学院,17,指令的执行步骤概述,读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器分析指令按指令规定内容执行指令不同的指令它们的操作步骤数,和具体操作内容差异很大。检查有无中断请求若有,则转中断处理若无,则转入下一条指令的执行过程,2020/6/14,北京理工大学理学院,18,四、教学计算机的微程序控制器信息流图示部分,典型指令的执行过程举例:8000401ADDr0,r18012090MOVr9,r08023409MOV807,r9(写内存)0807804A480IN80(读串行口)8059CFBJRC,800806AC00RET,2020/6/14,北京理工大学理学院,19,程序计数器,运算器,控制器,控制存储器,用于运算器,输入/出设备,主存储器,控制总线,0412,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,3041,800,807,800,801,0401,0401,4275,4275,ARPC,读内存,IR读出内容,R0R0+R1,PCPC+1,+,ADDR0,R1,2020/6/14,北京理工大学理学院,20,程序计数器,运算器,控制器,控制存储器,用于运算器,输入/出设备,主存储器,控制总线,0412,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,4275,801,807,801,802,2090,2090,4275,4275,ARPC,读内存,IR读出内容,R9R0+0,PCPC+1,0,+,MOVR9,R0,2020/6/14,北京理工大学理学院,21,程序计数器,运算器,控制器,控制存储器,用于运算器,输入设备,主存储器,控制总线,0401,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R94275,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,3041,802,807,802,0807,3409,803,803,0807,804,78BD,0,4275,ARPC,PCPC+1,读内存,IR读出内容,读内存,AR读出内容,ARPC,PCPC+1,写内存,数据总线R9+0,4275,+,MOV807,R9,2020/6/14,北京理工大学理学院,22,程序计数器,运算器,控制器,控制存储器,用于运算器,输入/出设备,主存储器,控制总线,0412,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,3041,804,807,804,805,A080,A080,A,ARPC,读内存,IR读出内容,读设备,R0读出内容,PCPC+1,80,ARI/Oport,IN80,2020/6/14,北京理工大学理学院,23,程序计数器,运算器,控制器,控制存储器,用于运算器,输入/出设备,主存储器,控制总线,0412,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,A,805,807,805,806,98FE,98FB,IP,ARPC,若C=1,则PCIP+offset,读内存,IR读出内容,PCPC+1,否则顺序执行,805,800,806,JRC,800,2020/6/14,北京理工大学理学院,24,程序计数器,运算器,控制器,控制存储器,用于运算器,输入/出设备,控制总线,0412,78BD,2090,CZVS,接口,.,PC,AR,IR,数据总线,地址总线,ALU,乘商寄存器,6688,1234,R9,操作数地址,操作码,寄存器组,映射,地址寄存器,指令寄存器,微程序定序器,主振脉冲,微指令寄存器,下地址字段内容,800,3409,0807,A480,98FB,AC00,A,806,807,806,FF0,AC00,IP,ARPC,读内存,IR读出内容,PCPC+1,读内存,PCMEM,807,RET,ARSP,FF0,FF1,SPSP+1,A00,堆栈FF0单元存A00,2020/6/14,北京理工大学理学院,25,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令ALUR0ALUR1执行+R0ALU,记忆结果特征结束,判中断,加法指令ADDR0,R1,2020/6/14,北京理工大学理学院,26,寄存器内容传送指令MOVR9,R0,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令ALU0ALUR1执行+R0ALU结束,判中断,2020/6/14,北京理工大学理学院,27,写寄存器内容到主存MOV807,R9,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令ARPC,PCPC+1读主存,AR读出内容写主存,总线ALU,ALU0,ALUR9,结束,判中断,(地址807存在指令的第二个字中),+,2020/6/14,北京理工大学理学院,28,输入指令IN80,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令ARI/OPort读外设,ALU读出数据ALU0执行+R0ALU结束,判中断,2020/6/14,北京理工大学理学院,29,相对转移指令JRC,800,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令若C=1则:ALUIPALUoffset(IR低字节)二者相加,结果送PC否则,顺序执行结束,判中断,2020/6/14,北京理工大学理学院,30,子程序返回指令RET,读取指令ARPC读主存,IR读出内容PCPC+1由操作码找微地址,读控存执行指令ARSPSPSP+1读主存,PC读出内容结束,判中断,形成下条指令地址,2020/6/14,北京理工大学理学院,31,典型指令的执行过程使用到的微指令内容,典型指令的执行过程举例:8000401ADDr0,r18012090MOVr9,r08023409MOV807,r9(写内存)0807804A480IN80(读串行口)8059CFBJRC,800806AC00RET,2020/6/14,北京理工大学理学院,32,对运算器的控制,24位控制信号,同24位微型开关内容,A口地址,B口地址,I8I6,I5I3,I2I0SST,SSH,SCi多出两位SA、SB,用于选择A口、B口地址来源SA=1A口地址来自IR的SR字段,=0来自微码A口字段SB=1B口地址来自IR的DR字段,=0来自微码B口字段寄存器使用分配:R4:SPR5:PCR6:IP约定用法:R0:I/O指令约定使用R0、R1:乘、除指令约定指令用,2020/6/14,北京理工大学理学院,33,/MIO(0:有内存和串口读写,1:无)REQ(0:读写内存,1:读写串行口)/WE(0:写操作,1:读操作),000写内存,001读内存,010写串口,011读串口,10X无内存和串口的读写操作,11X特殊用法,写控存,对内存和I/O接口的读写,2020/6/14,北京理工大学理学院,34,对内部总线和特定寄存器的控制,3位DC1的控制功能3位DC2的控制功能DC1编码送内部总线的数据DC2编码接受的寄存器000开关手拨数据000未使用(NC)001运算器的输出001指令寄存器IR010指令的低8位010地址寄存器AR011状态寄存器011中断优先级100中断向量100LDR6LDR5101未使用(NC)101LDR4LDR3110转用于开中断110LDR2LDR1111转用于关中断111LDR0,2020/6/14,北京理工大学理学院,35,8086微处理器按功能可分为执行部件和总线接口部件。执行部件负责指令执行,它由寄存器、算逻部件、标志寄存器组成。总线接口部件执行所有的总线操作,如20位地址形成、与主存储器或I/O设备交换数据。,1、Intel80X86微处理器体系结构,80X86中央微处理器,2020/6/14,北京理工大学理学院,36,2020/6/14,北京理工大学理学院,37,地址总线传输地址信息,用来寻址存储器单元和I/O接口。地址总线”宽度”决定系统内存的最大容量。8086有20根地址线,可寻址1M内存。80486有32根地址线,可寻址4G内存。奔腾有64根地址线,可寻址内存。,存储容量单位1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024byte1byte=二进制8bit,微处理器的三总线,2020/6/14,北京理工大学理学院,38,数据总线传输数据,用来与存储器单元和I/O接口交换数据。8086/80286CPU内/外数据线都是16位。80386/80486CPU数据线是32位。奔腾CPU数据线是64位。,控制总线对于不同的CPU来讲,其条数是不一样的。控制线向系统各部件发出(或接收)控制信号。,2020/6/14,北京理工大学理学院,39,1、通用寄存器有8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP。这些寄存器可以存放数据和地址,并能进行16位运算。其中AX、BX、CX、DX的低位字节或高位字节也可作为独立的8位寄存器使用,低位字节的寄存器分别称作AL、BL、CL和DL,高位字节的寄存器分别称作AH、BH、CH和DH。,2020/6/14,北京理工大学理学院,40,2、段寄存器有4个16位段寄存器CS、DS、ES、SS。段寄存器主要解决20位地址形成和程序中指令代码与数据分开存放。此4个段寄存器名称为代码段、数据段、附加数据段、堆栈段。除CS是用于指示指令代码的地址空间之外,其它段寄存器都用于指示数据的地址空间。3、指令指针IP16位的IP总是保存着下一次将要从主存中取出指令的偏移地址,其值为该指令到所在段首址的字节距离。,2020/6/14,北京理工大学理学院,41,4、标志寄存器FLAG16位标志寄存器用来保存在一条指令执行之后,CPU所处状态的信息及运算结果的特征。如有进位/借位CF=1、运算溢出OF=1、运算结果为零ZF=1等9个标志。,2020/6/14,北京理工大学理学院,42,二、8086的物理地址的形成,(段寄存器)(CS)(DS)(SS)(ES),16,偏移地址,20位物理地址,偏移地址由IP,SP或寻址方式提供,2020/6/14,北京理工大学理学院,43,三、80486微处理器结构框图,2020/6/14,北京理工大学理学院,44,基本部件运算部分:进行定点运算时需要算术逻辑运算单元、移位器和寄存器组;进行浮点运算时需要浮点运算单元和浮点寄存器组。高速缓存:用来存放最近运行程序所需要的指令代码和数据。减少访问内存次数从而提高CPU运行速度。存储器段页管理:为实现虚以存储器而设置。指令译码与控制:根据指令的信息产生微指令对CPU内部进行控制。80486外部地址线有32根,主存空间为4GB。数据线有32根,同时可访问4个字节的内存数据。,2020/6/14,北京理工大学理学院,45,基本结构寄存器8个32位的通用寄存器,6个16位的段寄存器,1个32位的指令指针,1个32位的标志寄存器80486的工作模式80486有两种工作模式,一种是实地址模式(简称实模式),一种是保护虚拟模式(简称保护模式)。保护的概念:在程序运行的时候,为防止应用程序破坏系统程序,某一应用程序破坏其它应用程序、错误地把数据当作程序运行等情形出现而采取的措施!80486实地址模式与它的前辈16位的8086完全兼容,在8086和80286编写的程序不需作任何修改,就可以在80486的实地址模式下运行。保护虚拟模式为多用户操作系统的设计而提供必要条件,在保护虚拟模式下,80486可为每一个任务提供4GB的物理空间,并允许程序在64TB的虚拟空间内运行。,2020/6/14,北京理工大学理学院,46,继78年8086之后,Intel公司与81年推出了80286CPU,它也是16位微机,与8086向上兼容。而在85年和89年,Intel又分别推出了80386和80486CPU,这两者均为32位微处理器。80286CPU是在8086的基础上改进和发展而来,其主要特色是:1.片内具有存贮器管理和保护机构2.正式的在存贮器中引入虚拟地址的概念3.CPU内部的硬件结构支持了CPU采用了快速的并行流水线操作方式。,80286的这些特点在80386/80486中体现的更加完善和进一优化,而奔腾CPU的内部结构又是在80486的基础上有更进一步的发展。,2020/6/14,北京理工大学理学院,47,280X86处理器的体系结构特点,一、有关大型机的优化的体系结构1、片内集成有存贮器管理部件(MMU)可支持对存贮器进行分页管理:将指令指定的逻辑地址变换为线性地址。(段长度可变,但不好管理。所以引入了分页管理),存贮器管理的具体含义:80X86支持多任务、多道程序运行,每个任务、每道程序均需占用一定字节的存贮空间,如何将有限的物理空间有效地分配给多个任务即实现虚、实空间的转换,这就是存贮器管理要解决的问题。,可支持对存贮器进行分页管理:将线性地址变换为物理地址。由OS进行具体管理,但CPU内部有硬件支持这种管理。,2020/6/14,北京理工大学理学院,48,可用于进行快速的实、虚地址转换一个段R(选择器)对应于一个64位(8个字节)的段描述符缓冲寄存器。,2、片上设有高速缓冲寄存器/存储器(CACHE),可用于暂时存放数据和指令于高速缓存中,以加快CPU执行指令的速度。,2020/6/14,北京理工大学理学院,49,3、采用高速流水线结构,CPU由多个部件组成,各部件在CPU内部分别同步的,相互独立的并行操作。实现了高效的流水作业,避免了顺序处理,最大限度地发挥了CPU的性能,使总线利用率达到最佳状态。,指令流水线技术:总线接口、指令予取、指令予译码。地址流水线技术:采用流水线地址寻址两个连续的总线周期部分重叠。超标量流水线技术:多条指令并行执行。,BIU总线接口部件EU执行部件SU段管理部件CPU代码予取部件PU页管理部件IDU指令译码部件,2020/6/14,北京理工大学理学院,50,流水线技术就是指令重叠执行技术,达到加快运算速度的目的由于存在三种流水线竞争:结构竞争、数据竞争、控制竞争,导致流水线性能降低,不能运作在理想的重叠状态,需要插入停顿周期,从而使流水线性能降低。指令之间可重叠执行性称为指令级并行性(InstructionParallelism-ILP)。因此进一步研究和开发指令之间的并行性,等于拓宽指令重叠执行的可能性,从而能进一步提高流水线的性能。,2020/6/14,北京理工大学理学院,51,什么是流水线(pipeline)流水线是实现多条指令重叠执行的技术,是加快CPU执行速度的关键技术。术语:流水级(pipestage):流水线由多个流水级组成,通常一条指令由n级流水级完成。每个流水级完成指令的部分任务。吞吐量(throughput):单位时间内流出流水线的指令数。,2020/6/14,北京理工大学理学院,52,机器周期(machinecycle):不同流水线完成指令功能不等,所需时间有长有短,因此设计流水线的关键是合理划分指令功能,使每一流水级完成指令功能的时间大致相等。机器周期由最长流水级的时间决定,通常等于时钟周期。,2020/6/14,北京理工大学理学院,53,理想流水线的加速因子(Speedup)非流水线机器指令的平均执行时间=-流水线机器指令的平均执行时间非流水线机器指令的平均执行时间=-非流水线机器指令的平均执行时间/流水级数=流水级数,2020/6/14,北京理工大学理学院,54,二、80X86是灵活的全32位微处理器,数据总线DB32位可处理8位、16位和32位数据类型,通用寄存器及操作数为32位。,支持动态总线宽度控制(动态切换16/32位数据总线)通过引脚BS16,由外部送来信号通知80X86总线改变情况:0以16位数据总线操作1以32位数据总线操作,2020/6/14,北京理工大学理学院,55,三、具有对存贮器及特权层的保护功能,CPU内部具有保护机构:1、对特权层的保护功能:禁止程序的非法操作如:向代码段进行写入操作,访问段限以外的存贮区域等。2、对特权层的保护功能:特权层分为4级:,2020/6/14,北京理工大学理学院,56,四、80X86有大的存贮器空间,实地址空间可直接寻址的地址空间为2=4千兆(4GB)虚拟存贮空间可直接寻址的地址空间为2=64MM字节(14+32=2=64MM),46,32,8028668条管脚AB:24条DB:16条80486168条管脚AB:32条DB:32条Pentium273条管脚AB:32条DB:32条,46,2020/6/14,北京理工大学理学院,57,380X86的内部结构,80X86CPU由多个部件构成,多个部件在CPU内部分别同步独立并行地进行操作,避免了顺序处理,实现了高效的流水化作业,最大限度地发挥了CPU的性能,使总线的利用率达到最佳状态。,一、80X86的内部各部件及其功能,2020/6/14,北京理工大学理学院,58,二、80X86的内部寄存器1、通用R,D31D0,EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI,“E”Expand8086的16位通用R扩展为32位,他们可以按8位、16位和32位使用。,2020/6/14,北京理工大学理学院,59,CS,DS,SS,ES,FS,GS,80386新增加了两个数据段,以满足程序和任务对多数据段的需要。FS和GS寄存器无专用名称!,程序不可访问(64位),注意:在进行8位或16位R运算操作时,只影响FR中的相应位,如8位加法进行,进位标志不是送到第19位,而是送到FR中的CF位。1、段位置:由16位的段R和64位的描述符在高速缓冲寄存器中构成。,高速缓冲寄器,(16位),2020/6/14,北京理工大学理学院,60,FR,IP,EFR,EIP,CPU可以使用它的低16位/32位。,3、标志寄存器(EFR)4、指令指示器(EIP)3115031150,2020/6/14,北京理工大学理学院,61,标志R(32位)8086比8位微机,增加了3个控制标志和1个算术运算标志:分别为DF、IF和OF。80286比8086又增加了1个控制标志:NT嵌套(14位)NT=1表示当前任务嵌套于另一任务中,执行完当前任务后需返回原任务。0表示无效。,有IOPL特权标志(位12、13)用以指定I/O操作处于03特权层中的那一层。80386、80486共使用了15个标志,占用16位(IOPL占2位),2020/6/14,北京理工大学理学院,62,SAFD4辅助进/借位SCFD0进/借位SPFD2奇偶标志SSFD7符号标志SZFD6全零标志CDFD10方向标志CIFD9中断允许标志SOFD11溢出标志XTFD8陷阱(单步)标志XNTD14任务嵌套标志XIOPLD12、D13I/O特权级标志XRFD16恢复标志XVMD17虚拟标志XACD18对准检查标志,8080所用标志,8086所用标志,80286所用标志,80386所用标志,80486所用标志,所有标志位分为三类:S状态标志C控制标志X系统标志,2020/6/14,北京理工大学理学院,63,4、系统表R:用于进行从虚拟地址向实际物理地址的转换。1、功能:主要用于在保护模式下,管理4个系统表,这4个系统表为:GDT(GlobalDescriptorTable)全局描述符表GDT存放系统中所有任务的描叙符,如操作系统使用的代码段和数据段、任务状态段以及各个LDT的描叙符!LDT(LocalDescriptorTable)局部描述符表LDT存放与给定任务有关的描叙符,操作系统通常给每个任务都安排一个独立的LDT!IDT(InterruptDescriptorTable)中断描述符表TSS(TaskStateSegment)任务状态段,2020/6/14,北京理工大学理学院,64,系统地址R:表R为GDTRGDTLDTR分别用来指定LDT的大小在M中的位IDIRIDT置。TR用以指定TSS任务状态段,只用来存放任务环境的,其在M中的位置和大小由TR指定。其中:GDTR和IDTR共48位:32位的表基地址字段+16位的表边界字段。,2020/6/14,北京理工大学理学院,65,可在实模式方式下,通过编程对GDTR和IDTR加载,以实现对GDT和IDT在保护方式下的初始化操作。150150310150选择器字段属性字段表基址字段边界字段LDTR和TSR共80位:32位的表基址字段+20位的边界字段+12位的访问权字段+16位的选择器字段。,对LDTR和TR的说明:这两个寄存器只能在保护方式下使用。在保护模式下程序可访问字段仅限于段选择器字段,即只能用指令加载段选择器。,2020/6/14,北京理工大学理学院,66,用LLDT和LT指令可设置成改变相应的选择器字段,依选择器字段可从全局描述符表中找到指定的基地址描述符和任务状态段描述符,在将描述符中的32位段基址和16位的段限及16位的属性字段加载到LDTR和TR的64位高速缓冲寄存器中。,2020/6/14,北京理工大学理学院,67,5、控制R(CR0CR3)(32位)(8086CPU中无)其中:CR1备用CR3用于提供页目录的基地址CR2用于提供页故障线性地址。CR0其低16位与80286CPU中一样,是机器状态字R。CR0功能:作为MSW用以表示比FLAG对CPU影响更大的标志,这些标志反映了系统的工作状态。,2020/6/14,北京理工大学理学院,68,控制寄存器,2020/6/14,北京理工大学理学院,69,CR0的控制位分为如下五大类:1、与CPU工作模式有关的控制位PG、PEPG:分页允许位,=1(PE=1):允许处理器工作于保护虚拟地址方式下的分页部件工作,=0:禁止分页部件工作。PE:置CPU为虚拟地址保护方式允许位,=1:80486工作于保护虚拟地址方式;=0:工作于实地址方式。2、与CPU片内的CACHE有关的控制位:CD、NWCD:片内Cache的无效位,=1:片内Cache不命中时,则不把所需信息读入片内Cache!=0:片内Cache不命中时,则把所需信息从主存读入片内Cache!NW:片内Cache非写直达位,=0:在数据写入片内Cache的同时也写入主存,=1:数据仅写入片内Cache!3、与协处理器或浮点运算部件有关的控制位:TS、EM、MP、NE。TS:任务切换位;EM:仿真协处理器位;MP:监视协处理器位;NE:数据异常位;4、对界检查控制位:AM5、页的写保护控制位:WP;WP=1:禁止任何特权级的程序对只读页面进行写入操作!,2020/6/14,北京理工大学理学院,70,Intel80X86微处器有三种工作模式:,实模式、保护模式和虚拟86模式,2020/6/14,北京理工大学理学院,71,RealMode(8086),2020/6/14,北京理工大学理学院,72,保护模式(80286),Seg选择器,.,Offset.偏移地址,16,16,24,物理地址,逻辑地址,24,地址转换=段基地址,2020/6/14,北京理工大学理学院,73,保护模式(80386,80486,Pentium),2020/6/14,北京理工大学理学院,74,4.80X86的存贮器布局,一、布局要点1、80X86的存贮器有三种工作方式:实地址方式虚地址保护方式虚拟86模式所以其地址空间分为:物理存贮空间和虚拟存贮空间,实际物理地址空间是CPU可直接访问存贮空间,其存贮空间范围由CPU的地址总线位数决定。,虚拟存贮空间即程序占有的存贮空间,其存贮量由CPU的体系结构确定。,2020/6/14,北京理工大学理学院,75,任务N,任务N-1,任务X,(虚拟空间)由磁盘等外存支撑,任务1,任务2,存贮器管理部件,物理地址空间ROR.RAM,任务X,D15D2D1D0,46:索引值TIRPL偏移,2、二者存贮空间示意图如下:每个任务使用64TB字节的存贮空间(2),索引值,Ti,RPL,32位偏移地址,46,指令:LMSW,2020/6/14,北京理工大学理学院,76,选择符(段寄存器),段描叙符表,特权级,LDTR=16位选择符、界限、基址和属性组成,界限、基址和属性不可访问,程序只能对选择符进行访问!LDTR中的选择符由GDT的某一个选择符。索引值X8=LDTorGDT首址的偏移量!GDTR由32位基址(byte)+16位界限(byte)组成!界限值+1=表的实际长度!,2020/6/14,北京理工大学理学院,77,3、存贮空间的划分:在实模式下:与8086相同,以64KB为一个逻辑地址段,段长度固定。在虚地址保护模式下:启动页功能时,一个逻辑段最大可分为2的32次方个字节。不启动页功能时,一个逻辑段最大可分为2的20次方字节。,4、CPU在执行指令时,对存贮器操作数所在实际物理地址的求法:段基址+偏移地址=PA(32位)(物理地址)段基址的提供:虚拟86模式:实地址方式由段R提供虚地址保护模式由段选择器中的索引段提供,2020/6/14,北京理工大学理学院,78,二、虚地址保护方式1、从实地址向虚地址保护模式的转换使用“LMSW”指令置位控制寄存器CR0的D0位以后(即PE位被置为“1”),由CPU内部的MMU(存储器管理部件)自动完成转换。由实地址虚拟地址,2020/6/14,北京理工大学理学院,79,2、虚地址保护方式下CPU进行存贮器寻址时所采取的数据结构:采用了段选择器与描述符的数据结构,使寻址过程有了一个间接层,为80386内部的MMU和保护机构有了一个活动的空间,使多任务在80X86中运行方便、灵活、可靠。(1)80X86的段选择器即8086中的段寄存器,亦是16位,由三个字段组成:,D15D3D2D1D0,索引值TIRPL,14位,2020/6/14,北京理工大学理学院,80,指令操作:AX:段R:FS,(2)段选择器的加载及加载的具体操作即段R的初始化操作例:指令:MOVFS,AX;,2020/6/14,北京理工大学理学院,81,(3)80X86的段R的构成150630,段选择器属性段基址段边界,描述符变速缓冲存贮器,2020/6/14,北京理工大学理学院,82,段描述符,GDT,段描述符,LDT,基地址,边界,描述符高速缓冲器,描述符索引号,段选择器,TI,TI=0,TI=1,M,基地址,边界,15,32,10,段选择器和描述符缓冲器作用,二、80X86在虚拟方式下的寻址过程,2020/6/14,北京理工大学理学院,83,分页,物理地址,150,310,段选地址,偏移地址,310,线性地址,310,00000000H,FFFFFFFFH,00000000,0FFF,属性,段基地址,段边界,段边界,80X86在虚拟模式下的地址变换,实存空间,2020/6/14,北京理工大学理学院,84,线性地址,310,目录引索值页表引索值页内偏移量,31222112110,页表基址,页表项,页基址,310,实存B,页基址,CR3XX000,3112110,(+),(+),三、页管理部件功能:1、允许分页时,线性地址与物理地址的转换过程条件(1)当将CR0控制寄存器中的第31位PG置位时,则页功能有效。(2)由CR3提供页表目录基地址。,2020/6/14,北京理工大学理学院,85,2、从线性地址、物理地址实例:CR3,5000H,150,0000BXXXH,03000XXXH,00000100100000110100000001010110,31222112110,页表,50+48H(+),0B0DOH(+),3000000H,56H,(+),2020/6/14,北京理工大学理学院,86,用户按段址和偏址组成48位虚地址存储空间编程。程序运行前CPU将所有的段值生成段表保存在主存中,每个段值对应段表中一个段表项,主要描述本段基值、段长度和本段访问权限。程序运行时由当前段对应的段表项与偏移地址生成32位的线性地址。由32位线性地址的高位生成的页表保存在主存中,其虚页号大小与主存实际页号大小相同。程序运行到某页号程序位置时在页表中查询,若此页不在主存则根据一定算法将辅存中虚页调入主存置换成实页号,若此页已在主存则按实页号和页内偏址进行处理。,四、80486虚拟存储器管理过程,2020/6/14,北京理工大学理学院,87,5.1描述符与描述符表5.2保护模式的寄存器模型5.3保护模式下存储器寻址5.4虚拟8086模式,5、保护模式软件体系结构,2020/6/14,北京理工大学理学院,88,1.特权级(PL,PrivilegeLevel):,5.1描述符与描述符表,任务:程序在执行时的一种情况,是一个动态的概念,Pentium为每个任务提供了4种特权级,0级最高,3级最低,应用程序,常规扩展,系统服务,内核,级别0,级别1,级别2,级别3,2020/6/14,北京理工大学理学院,89,2.描述符(Descriptor):描述存储器段的属性的一个8字节的数据结构。包括段描述符、系统段描述符和门描述符三种类型。,2020/6/14,北京理工大学理学院,90,段描述符:用于描述代码、数据和堆栈段(用户段),2020/6/14,北京理工大学理学院,91,段描述符:,G位(粒度位):G=0,段的长度以字节为单位段长最大1M字节G=1,段的长度以页(4K字节)为长度单位段长最大1M4K=4G字节D位:D=0,16位指令方式D=1,32位指令方式AVL位:AVL=0,程序不可使用本段AVL=1,程序可以使用本段,2020/6/14,北京理工大学理学院,92,段描述符:,访问权限字节,0,1,2,3,4,5,6,7,A,P,DPL,S,E,EDC,RW,P位:P=0,段不在内存中P=1,段在内存中DPL:取值03,确定段的特权级S位:S=1,段描述符,A位:A=0,段尚未被访问A=1,段已被访问,2020/6/14,北京理工大学理学院,93,段描述符:,访问权限字节,0,1,2,3,4,5,6,7,A,P,DPL,S,E,EDC,WR,13位表示段的类型,E=0,为数据段ED=0,段向上扩展为数据段ED=1,段向下扩展为堆栈段W=0,数据段只读W=1,数据段可写,E=1,为代码段C=0,忽略描述符特权级C=1,遵循描述符特权级R=0,代码段不可读即只执行R=1,代码段可读,2020/6/14,北京理工大学理学院,94,系统段描述符:,格式与段描述符基本相同,主要差别访问权限字节,0,1,2,3,4,5,6,7,P,DPL,S,TYPE,S=0,系统段描述符,TYPE为4个字节,共有16种类型。其中:,2,LDT9,TSS,非忙B,TSS,忙,5,任务门C,调用门E,中断门F,陷阱门,D位无定义(D=0),2020/6/14,北京理工大学理学院,95,门描述符:,偏移量:相对于段基地址的偏移量,为目标代码的入口点选择符:用于确定段基地址字计数:从调用者堆栈中复制到被调用者堆栈中的参数个数,参数为32位,属于系统段描述符,门提供了将程序控制转给服务程序入口的手段。有任务门、调用门、中断门、陷阱门4种类型,2020/6/14,北京理工大学理学院,96,门描述符:,访问权限字节格式与系统段描述符相同,DPL为任务允许访问该门的最低特权级,2020/6/14,北京理工大学理学院,97,例:判断描述符所描述的段的性质,P=1,S=0,DPL=2TYPE=2,为DLT因此为一个特权级为2的DLT,已经在内存中该DLT的基址为00200000H,界限为00300HG=0,段的长度为字节长度AVL=0该段不可被程序访问,2020/6/14,北京理工大学理学院,98,3.描述符表,描述符表由描述符顺序排列组成,占内存一定的区域,由系统地址寄存器(GDTR、IDTR、LDTR)指示其在物理存储器中的位置和大小,描述符表有三种:全局描述符表GDT中断描述符表IDT局部描述符表LDT,2020/6/14,北京理工大学理学院,99,5.2保护模式的寄存器模型,2020/6/14,北京理工大学理学院,100,0,15,16,31,0,15,0,15,16,31,7,8,AL,BL,CL,DL,AX,BX,CX,DX,AH,BH,CH,DH,EAX,EBX,ECX,EDX,IP,CS,DS,SS,ES,FS,GS,SP,BP,SI,DI,ESP,EBP,ESI,EDI,FLAGS,CR,0,实模式的寄存器模型,2020/6/14,北京理工大学理学院,101,1.全局描述符表寄存器GDTR,在物理存储器地址空间中定义全局描述符表GDT,0,15,16,47,GDTR,BASE,LIMIT,BASE指示GDT在物理存储器中开始的位置LIMIT规定GDT的界限,LIMIT有16位,从而GDT最大65536个字节,能够容纳65536/8=8192个描述符,2020/6/14,北京理工大学理学院,102,例:(GDTR)=001000000FFFH,求GDT在物理存储器中的起始地址,结束地址,表的大小,表中可以存放多少个描述符?,1.全局描述符表寄存器GD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 快递安检机操作安全规程
- 2026年农业种植技术员实操技能考核试卷及答案
- CRRT局部枸橼酸抗凝突发低钙急救共识
- 湿式除尘器安全操作规程
- PCB开料岗位技能考核试题(含详细答案)
- 职业性哮喘脱离接触后随访规范共识
- 2026年安全环保知识竞赛考试试题(附答案)
- 2026年广播电视播音员主持人资格(广播电视基础知识)自测试题及答案
- 全员安全生产责任清单落地方案
- NSATP网络安全从业人员能力测评模拟试题(含详细答案解析)
- 超星尔雅学习通《动手学AI:人工智能通识与实践(社科版)》2026章节测试及答案
- TCECS 1273-2023 冶炼渣骨料应用技术规程
- 二年级数学应用题题型及解答技巧
- 隧道开挖清包工合同协议
- 摩托三力测试试题及答案
- 第四十课-椭圆及其标准方程省公开课金奖全国赛课一等奖微课获奖课件
- 卡通小学生校园用电安全教育作品
- 中医中药辨识
- 我国牛病流行的现状及对策
- ifix培训教程课件
- 《新课程学习辅导》历史九下 统编版 答案
评论
0/150
提交评论