关于二级页表我看有人说由外层页表+内层div撑开外层div页号+页偏移组成 还有页目录号+虚页号+偏移 到底哪个是对的?

页目录号,页号,页表项,页大小,页框号都是什么关系?_百度知道
页目录号,页号,页表项,页大小,页框号都是什么关系?
在按确定插入目录前,按修改按钮对各级目录的字号进行设置。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第四章第四讲虚拟存储器_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第四章第四讲虚拟存储器
上传于||文档简介
&&计​算​机​组​成​原​理​课​件​,​注​意​:​每​文​档​只​按​章​节​来​讲​,​标​题​只​是​参​考​,​具​体​想​要​的​内​容​请​详​看​文​档​内​容
大小:312.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢页表问题:老师讲:“一级页表也好,二级页表也好,每一个页表都是整好存放在一个页面里的”。这话怎么理解?
为什么这样?如果页表项太多,页表就会太大。万一一个页面存不下页表怎么办?---------------------------------------老师讲的就是图片这个题。说页号用9位-----------------------------------------详细的这样说的:1.页大小2^10得出页内偏移量位数是10位。2.页表项数=2^10/2=2^9得出页号为9位。(***这里讲了问题中所说的话**)3.逻辑地址空间为2^16页得出页目录号+页号=16,得出页目录号为16-9=7.所以答案为2^7=128
按投票排序
就是因为怕一个页面存不下才会有二级页面啊
三点。1二级页表不会减少页表所占所占存储空间的大小。相反,还略有增加。例:32位逻辑地址,页面大小4KB,页表项大小4B。一级页表页内地址12位,页号20位,每个进程页表项需要2的20次方乘4KB得4MB。二级页表,每级10位,占用的总空间是1(一级页表占用一页)加1024(二级页表1024个,占用1024页)乘4KB 得4MB+4KB2 书上说二级页表节省内存空间是 针对进程 而言,减少计算机运行时进程使用的页表。 例:进程在一级页表系统中需要一次分配所有页表给该进程。在二级页表进程只需要分配一个一级页表加若干个二级页表即可(视进程大小决定),其余的不用分配共其他进程使用。3建立多级页表的目的在于建立索引,当页表项用一页就能装下时,不用浪费主存空间存储多余的页表项,也不用盲目地顺序查找页表项,让系统更高效。
老师是山东银吧,他说“整好”的意思是“正好”。
如果太多,会用3级,4级页表
这个题目要么就是出错了,要么你老是讲错了。页大小为2的10方,说明便宜是10位,这个都没有意见。紧接着页表项为2字节。那就说明页号这个项对应的是1位,而不是什么512位,我不知道你老师说的什么2的10次方除2的9次方是怎么来的。页目录的位数就应该是15位,所以页目录项数为2的15次方,也就是32K的大小。你可以反着推,设定页目录,页号的位数,就知道你老师要么这个题目出错,要么讲错。题目中的页表项要么为2的9次方字节。这个答案才对
已有帐号?
无法登录?
社交帐号登录10年计算机考研真题29题,求解析?某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为216字节,页表项大小为2字节,逻辑地址结构为页目编号 页号 页内偏移量逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( B )A:64
嚣张的小宝I04v
页大小为2的10次方字节,页表项大小为2字节,采用二级页表,一页可存放2的9次方个页表项,逻辑地址空间大小为2的16次方页,要使表示整个逻辑地址空间的页目录表中包含的表项个数最少,则需要2的16次方/2的9次方=2的7次方=128个页面保存页表项,即页目录中包含的个数最少为128
为您推荐:
其他类似问题
扫描下载二维码奔腾系列微处理器_长江大学:微型计算机技术及应用课件及习题答案(李华贵)_ppt_大学课件预览_高等教育资讯网
长江大学:微型计算机技术及应用课件及习题答案(李华贵):第3章
奔腾系列微处理器
分类: 格式: 日期:日
第 3章 奔腾系列微处理器3.1 Pentium性能和结构特点3.2 Pentium的寄存器3.3 Pentium的虚拟存储器3.4 Pentium的超标量流水线3.5 Pentium的引脚信号3.6 Pentium Pro~Itanium的技术概况第 3章 奔腾系列微处理器掌握 Pentium微处理器的原理结构,基本寄存器组中各寄存器的组成和功能,Pentium工作的实模式,保护模式以及虚拟 8086模式掌握 Pentium微处理器的超标量流水线技术熟悉存储器的保护,浮点运算部件以及与之相配套一起实现浮点运算的浮点寄存器等了解 Pentium微处理器的外部引脚了解 Pentium Pro?Itanium的技术概况教学目的和教学要求重点:Pentium工作的实模式、保护模式以及虚拟 8086模式的工作原理Pentium微处理器的超标量流水线技术Pentium微处理器的原理结构难点:Pentium微处理器的只分段、只分页管理Pentium微处理器的既分段又分页管理存储保护中的特权级保护方式本章重点、难点3.1 Pentium性能和结构特点3.1.1 Pentium性能简介( 1)1993年 3月 Intel公司推出了第五代微处理器Pentium Pentium是微处理器本质上的一次创新。Pentium采用了 0.8μm 双极性互补金属氧化半导体( BiCMOS)技术,它属于单芯片超标量流水线微处理器,片内集成了多达 310万个晶体管,工作电压+5V,功耗 15W。片内时钟频率(微处理器主频)与外片主总线的时钟频率相等,均为 60MHz或 66MHz两种。3.1.1 Pentium性能简介( 2)1994年 3月之后推出的 Pentium( P54C) 采用了0.6μm 的 CMOS技术,工作电压降为 3.3V,功耗降至 4W。 主总线时钟频率有 50MHz,60MHz以及 66MHz等,经倍频后作为 Pentium( P54C) 内部的时钟频率 ( 主频 ),表 3-1列出了几种 Pentium( P54C)的主频与工作电压 。表 3-1 几种 Pentium的主频与工作电压型 号 主总线时钟频( MHz)倍数因子 主频( MHz) 工作电压Pentium- 90 60 1.5 90 3.3V或 2.9VPentium- 100 60 1.5 100 3.3VPentium- 120 60 2 120 3.3VPentium- 133 60 2 133 3.3VPentium- 150 60 2.5 150 3.3VPentium- 166 66 2.5 166 3.3VPentium- 200 66 3 200 3.3V3.1.1 Pentium性能简介( 3)Pentium通往外部存储器的数据总线为 64位,CPU内部主要寄存器的宽度仍然为 32位,那么 Pentium,Pentium( P54C) 应该是 32位微处理器 。 外部 64位数据总线 ( D63-D0) 每次可同时传输 8字节的二进制信息,若选用主总线时钟频率 66MHz计算,即存储器总线的时钟频率也为 66MHz,则 Pentium与主存储器交换数据的速率可为 528MB/S。3.1.2 Pentium的原理结构 (1)一,Pentium CPU内部的主要部件①总线接口部件② U流水线和 V流水线③指令高速缓冲存储器 Cache④ 数据高速缓冲存储器 Cache⑤ 指令预取部件⑥指令译码器⑦浮点处理部件 FPU⑧ 分支目标缓冲器 BTB⑨ 微程序控制器中的控制 ROM⑩ 寄存器组Pentium微处理器的原理结构图如图 3-1所示Pentium CPU原理结构图3.1.2 Pentium的原理结构( 2)二、原理结构在 Pentium CPU中,总线接口部件实现CPU与系统总线之间的连接,其中包括 64位双向的数据线,32位地址线和所有的控制信号线,具有锁存与缓冲等功能,总线接口部件实现 CPU与外设之间的信息交换,并产生相应的各类总线周期。3.1.2 Pentium的原理结构( 3)1.互相独立的指令 Cache和数据 CachePentium则在片内设置了 2个独立的 8KB Cache,分别用于存放指令代码与数据。指令 Cache是内存中一部分程序的副本,通过猝发方式从内存中每次读入一块存入某一 Cache行中,便于 CPU执行程序时取出并执行,数据 Cache是可以读写的,双端口结构,每个端口与 U,V两条指令流水线交换整数数据,或者组合成 64位数据端口,用来与浮点运算部件交换浮点数据,指令 Cache与数据 Cache均与 CPU内部的 64位数据线以及 32位地址线相连接。3.1.2 Pentium的原理结构( 4)互相独立的指令 Cache和数据 Cache有利于 U、V两条流水线的并行操作,它不仅可以同时与 U、V两条流水线分别交换数据,而且使指令预取和数据读写能无冲突地同时进行。可以通过硬件或软件方法来禁止或允许使用Pentium CPU内部的 Cache。3.1.2 Pentium的原理结构( 5)2.超标量流水线Pentium有 U,V两条指令流水线,故称之为超标量流水线,超标量流水线技术的应用,使得 Pentium CPU的速度较 80486有很大的提高 。因此,超标量流水线是 Pentium系统结构的核心 。3.1.2 Pentium的原理结构( 6)U,V流水线中整数指令流水线均由 5段组成 。分别为 预取指令 ( PF),指令译码 ( D1),地址生成 ( D2),指令执行 ( EX) 和 结果写回( WB) 。由于采用了指令流水线作业,每条指令流水线可以在 1个时钟周期内执行一条指令 。 因此,最佳情况下一个时钟周期内可以执行两条整数指令 。3.1.2 Pentium的原理结构( 7)3.重新设计的浮点运算部件Pentium CPU内部的浮点运算部件在80486的基础上进行了重新设计 。 如图 3-1所示 。 浮点运算部件内有专门用于浮点运算的加法器,乘法器和除法器,还有 80位宽的 8个寄存器构成了寄存器堆,内部的数据通路为 80位 。 浮点运算部件支持 IEEE754标准的单,双精度格式的浮点数,还可以使用一种临时实数的 80位浮点数 。3.1.2 Pentium的原理结构( 8)Pentium对浮点数的一些常用指令,例如加法指令 ADD,乘法指令 MUL等,都采用了新的算法,并将新的算法用硬件来实现,使得浮点数运算的速度大大提高,其速度相当于 80486的 10多倍 。3.1.2 Pentium的原理结构( 9)4.以 BTB实现动态转换预测Pentium采用了分支目标缓冲器 ( branchtarget buffer) 实现动态转移预测,可以减少指令流水作业中因分支转移指令而引起的流水线断流 。引入了转移预测技术,不仅能预测转移是否发生,而且能确定转移到何处去执行程序 。例 【 3-1】 下面是连续传送 100个字节的循环程序段MOV SI,0200H ;源数据区偏移地址给 SIMOV DI,0500H ;目的数据区偏移地址给 DIMOV CX,64H ; 待传送字节数为 100,赋给 CXABC,MOV AL,[SI] ;从源区取出一个字节MOV [DI],AL ;存入目的数据区INC SI ;源地址指针加 1INC DI ;目的地址指针加 1DEC CX ; CX=CX-1JNZ ABC ;若 CX≠0,转 ABC·······从上述程序可以看出,许多分支转移指令转向每个分支的机会不是均等的,而且大多数分支转移指令排列在循环程序段中,除了一次跳出循环体之外,其余转移的目标地址均在循环体内。因此,分支转移指令的转移目标地址是可以预测的,预测的依据就是前一次转移目标地址的状况,即根据历史状态预测下一次转移的目标地址。预测的准确率不可能为 100%,但是对于某些转移指令预测的准确率却非常高。3.2 Pentium的寄存器Pentium的寄存器可以分为三组:① 基本寄存器组,包括通用寄存器、指令寄存器、标示寄存器以及段寄存器。② 系统寄存器组,包括系统地址寄存器、控制寄存器。③ 浮点部件寄存器组,包括数据寄存器堆、控制寄存器、状态寄存器、指令指针寄存器和数据指针寄存器以及标记字寄存器。Pentium的基本寄存器包括通用寄存器、段寄存器、指令指针和标志寄存器:一、通用寄存器Pentium通用寄存器如图 3-2所示,它兼容 8086CPU原来的 8个 16位通用寄存器以及原来的 8个 8位的寄存器,而且将原来的 8个 16位通用寄存器 AX,BX、CX,DX,SI,DI,BP,SP均扩展成 32位的寄存器 EAX、EBX,ECX,EDX,ESI,EDI,EBP,ESP。既可以使用保留的 8位和 16位寄存器,还可以使用 32位寄存器。3.2,1 基本寄存器组Pentium通用寄存器段寄存器及段描述符高速缓存器 如图 3-3所示,Pentium有 6个 16位段寄存器,每个段寄存器对应有一个 64位的描述符,用户不可见。 6个段寄存器的长度均为 16位。除 CS和 SS分别是代码段寄存器和堆栈段寄存器之外,其余的 DS、ES,FS,GS都是数据段寄存器。二、段寄存器及段描述符高速缓存器Pentium段寄存器及段描述符高速缓存器每个段对应一个段描述符( 8个字节),6个段描述符存放在 CPU内的段描述符高速缓存器中,它们均由内存的描述符表中拷贝而成,以便 CPU访问某一段时,均按存放在 CPU内该段的段描述符所描述的信息进行操作。每个段描述符的具体组成如图 3-4所示:1,6个段描述符图 3-4 段描述符的组成每个段寄存器的组成如图 3-5所示 。 在保护模式下,段寄存器被称作为一个 16位的段选择字,其中 b1,b0位为请求特权级 RPL,可以请求特权层的级别 0-3级 。2,6个 16位段寄存器Pentium CPU中有一个 32位的指令指( EIP)和一个 32位的标志寄存器( EFLAGS),如图 3-6所示:三、指令指针和标志寄存器EIP保存下一条待执行指令所在代码段内的偏移值,也就是偏离代码段首地址的字节地址数值 。 EIP的低 16位为 IP,供实地址方式下采用 。EFLAGS在 8086 16位 FLAGS基础上扩充了高 16位,其中,FLAGS b11~b0中保留了 8086 CPU中 6个状态标志和 3个控制标志,增加了 NT与IOPL,高 16位中新增了 6个标志位 。 这些扩充标志位的含义参考教材 。Pentium的系统寄存器组包括 4个表所对应的4个基地址寄存器 GDTR,IDTR,LDTR,TR,也称为 4个段基地址寄存器,还包括 5个控制寄存器CR0,CR1,CR2,CR3,CR4。 系统寄存器组中的所有寄存器都不可能被用户访问,只能由特权级为 0的操作系统程序访问 。3.2.2 系统寄存器组4个表基地址寄存器 如图 3-7所示( 1) GDTR( Global Descriptor Table Register),全局描述符表寄存器 。 共有 48位,其中,高 32位保存全局描述符表的线性基地址,低 16位是表限字段,即表的最大长度仅 64KB。( 2) IDTR( Interrupt Descriptor Table Register),中断描述符表寄存器 。 共有 48位,其中高 32位用于保存中断描述符表 IDT的 32位线性基地址,低 16位是表限字段,表的最大长度也是 64KB。一,4个表基地址寄存器图 3-7 4个表基地址寄存器(3)LDTR( Local Descriptor Table Register),局部描述符寄存器 。 包括 16位段选择符,不可编程的 64位描述符寄存器 。 在 64位描述符寄存器中,有 32位 LDT的线性基地址,20位的表限及 12位的描述符属性 。(4)TR,任务寄存器 。 包括 16位段选择符,64位描述符寄存器,其中,32位任务状态段的线性基地址,20位的表限及 12位的描述符属性 。1,CR0 控制寄存器二,5个控制寄存器2,CR2 页故障线性地址寄存器 用于保存最后出现页故障的 32位线性地址 。 操作系统中的页异常处理程序可以通过检查 CR2的内容,得知 32位的线性地址 。3,CR3 页目录基址寄存器 其中高 20位存放页目录表的物理基地址 。 在进行分页变换时,加上 10位线性地址 × 4,找到某一存储容量为 4B的页描述符 。 在页目录基址寄存器的低 12中,有 PCD和 PWT两位控制位,其余 10位保留 。图 3-9 控制寄存器 CR2,CR34,CR4允许结构扩展的标志寄存器 32位 CR4中仅使用了 9个控制位,其余 23位保留 。5,模式专用寄存器Pentium取消了测试寄存器,而用一组专用寄存器来实现更多的功能 。 这组寄存器具有测试,跟踪,性能检测以及机器检查等功能 。Pentium内部有一个浮点运算部件,与之配套一起实现浮点运算的浮点寄存器有,8个数据寄存器1个标记字寄存器1个状态寄存器1个控制寄存器1个数据指针寄存器3.2.3 浮点寄存器组1,8个数据寄存器数据寄存器 R7-R0均为 80位宽,在每个 80位寄存器中,均有 1位数符位,15位阶码位,64位尾数位 。2,标记字寄存器16位宽的标记字寄存器分成 8个 2位,分别对应8个数据寄存器,如图 3-11所示 。 标记字寄存器的b1,b0位对应 R0数据寄存器,b3,b2位对应 R1数据寄存器,显然 b15,b14位对应数据寄存器 R7,用两位二进制数作标记,以便 CPU只须通过检查标记位,就可以知道数据寄存器是否空等 。图 3-11 Pentium的浮点寄存器16位寄存器都被用来指示 FPU当前所处的状态:( 1) IE,若 IE置 1,表示产生了无效操作,指示这是非法操作产生的故障 。( 2) DE,若 DE为 1,表示操作数不符合规范产生的故障 。( 3) ZE,若 ZE=1,则指示除数为 0引起的故障 。( 4) PE,若 PE=1,则指示运算结果不符合精度规格 。( 5) SP,堆栈故障标志位,当 IE=1且 SF=1时,若 C1=1则表示堆栈上溢引起无效故障 。 若 C1=0,则指示堆栈下溢引起无效故障 。三、状态寄存器( 6) ES,错误标志位,以上任何一个故障都会使 ES=1,且使 CPU引脚信号变为低电平 。( 7) C0- C3,条件码,这 4位条件码可以用 SAHF指令进行设置,也可用 FSTSW指令读取,该 4位二进制的状态使 FPU实现某种选择 。 C0还和 SF配合使用表示堆栈的状态 。( 8) TOP,堆栈栈顶指针 。( 9) B,用来指示 FPU当前是否处于忙状态,当B=1时,表示忙,反之处于不忙状态 。( 1) PM~ IM低 6位控制位,分别用来控制 6种异常能否允许产生中断,这 6种控制位分别用来屏蔽状态寄存器中的低 6种状态位,即 IM位用来屏蔽 IE位,DM位用于屏蔽 DE位等 。( 2) 2位 PC位,用作精度控制,当 2位 PC位为 00时,作 24位单精度运算,10时为 53位双精度运算,11时为扩展的双精度运算,即 64位运算,01未用 。( 3) 2位 RC位,用作舍入控制 。四,FPU的控制寄存器图 3-13 FPU的控制寄存器3.3 Pentium的虚拟存储器3.3.1 Pentium的工作模式简介Pentium的虚拟存储器 ( Vivtual Storage) 技术,高速缓存 ( Cache) 技术以及超标量流水线技术是微型计算机系统的三大支柱,虚拟存储器的目标是如何高速允许多个软件进程共享并使用主存储器这一容量有限的存储资源 。 虚拟存储器的实现不仅仅体现在计算机硬件系统上的完美无缺,而且虚拟存储器技术是操作系统的核心技术,操作系统中存储器管理程序的主要任务就是要将有限的主存储器不断地动态分配给各活动进程 。Pentium的 工作模式 分为,实模式,保护模式,虚拟 86模式,平展模式,线性空间以及系统管理模式 共五种 。Pentium外部的地址总线宽度 36位,由控制寄存器 CR4中物理地址扩充允许位 PAE控制所使用的物理空间,一般设 PAE=0,禁止地址的扩充,只使用 32位的物理地址,32位地址由 A31-A3及 8个字节选择信号BE7- BE0组成,因此,最大物理地址空间是 4GB。Pentium CPU外部数据总线宽度为 64位,但 CPU内部寄存器仍为 32位,Pentium微处理器是 32位微处理器3.3.2 Pentium工作的保护模式保 护 模 式 是 受 保 护 的 虚 拟 地 址 模 式( Protected Virtual Address Mode ) 的简称 。 从80386 CPU 开始,就 具 有 了 保 护 模 式,Pentium CPU内部也设有存储器管理部件 MMU,其中,仍然包括分段部件 SU和分页部件 PU,通过系统程序员编程,Pentium可以工作在只分段或只分页或既分段又分页三种方式 。 这三种方式的关键建立在分段地址转换与分页地址转换的基础之上 。1,利用 GDTR与 LDTR分别访问 GDT与 LDT48位的全局描述符表寄存器包括 32位全局描述符表的基地址和 16位的表界限,GDT的长度不超过 64KB。 在保护模式下,Pentium支持多任务的运行,如果某一任务要访问 GDT时,则以 GDTR中 32位基地址作为全局描述符表的基地址,再由每个任务选择符的高 13位左移 3位后作为 GDT的偏移地址,指向所要访问的 8字节的描述符 。一、分段地址转换每个任务有各自的代码段 CS,数据段 DS,还可能有附加的数据段 ES,FS,GS以及堆栈段等,每个段有一个 64位的段描述符,如图 3-7所示,各个任务组成了自己的局部描述符表LDT,因此,在内存中有多个 LDT 。各任务公用的代码段,数据段的段描述符以及任务状态段 TSS等系统段的描述符组成了全局描述符表 GDT,内存中只有一个 GDT。当前任务访问 LDT时,由 LDTR中对应的 64位描述符高速缓存器中 32位基地址作为 LDT的基地址,再由段选择符的高 13位左移 3位后作为 LDT的偏移地址,指向所要访问的 8字节的段描述符 。 如图 3-14所示,其中的描述符也就是图 3-4所示的描述符 。图 3-14 由 LDTR由访问 LDT当任务发生切换时,由 LDTR中选择符的高13位左移三位后,作为 GDT中的偏移地址,在GDT中取出该任务的 LDT描述符,并装入到 LDT对应的描述符高速缓存器,于是在 LDTR中的高速缓存器中,存入了当前 LDT的基地址,表界限以及性属性等,如图 3-15所示:图 3-15 由 GDTR访问 GDT在 LDT中查到的描述符,其 32位基地址如果只分段不分页的话,此 32位基地址加上指令中的 32位偏移量址,就求得 32位的物理地址 。在 GDT中查到的描述符,其 32位基地址表示当前 LDT的基地址,该描述符一定会由硬件自动存入高速缓存器中 。由于 Pentium内部寄存器是 32位,由于Pentium芯片组成的微机为 32位机,访问存储器的指令仍然有直接寻址,寄存器寻址,基址寻址,变址寻址,基址加变地寻址等 。2.分段地址的转换例 【 3-2】 几条访问内存指令MOV AL,[H]MOV AX,[EBX]MOV EAX,[ESI]MOV ECX,[EBX+EDI]MOV DX,[EBP]只有最后一条指令访问堆找段 SS,其余指令均访问数据段 DS,构成逻辑地址为 DS,32位偏移量或 SS:32位偏移量,在 32位机中,我们将逻辑地址称为虚拟地址,段寄存器称之为段选择符。Pentium的分段地址转换过程图如图 3-16所示 。 根据段寄存器即段选择符中 b2位 TI,确定访问当前 LDT( TI=1) 或 GDT( TI=0),如果访问 LDT,将 13位索引值左移 3位后,作为 LDT基地址的偏移量,指向 8B的段描述符,段描述符中的 32位基地址加上指令中的 32位偏移量成为 32位线性地址,如果不分页只分段,结果为该机器指令所寻址的物理地址,如果还需要分页,此线性地址分为三段,即页目录 ( 号 ),页面( 号 ) 和偏移量 。如果 TI=0,则访问 GDT,与前述相同 。在图 3-7中,系统还有一个 48位的中断描述符表寄存器,其中 32位的基地址是全系统中仅有的一个中断描述符表 IDT的基地址 。 Pentium机中所有的中断,包括软中断,硬件中断以及 CPU内部的异常中断,每个中断在 IDT中均有一个描述符,IDT中最多可有 256个描述符 。 每个中断描述符也是 8字节,主要包括中断服务程序的入口地址,还有其他属性等信息 。图 3-16 分段地址转换过程图分页地址转换由 CPU内的分页部件 PU来实现,它将32位的线性地址转换成 32位的物理地址 。 这 32位线性地址可能来自分段部件 SU( 既分段又分页方式 ),也可能是不分段只分页的情况,程序不提供段选择符,只由指令寄存器提供的 32位地址作为线性地址,即 10位的页目录 ( 号 ),10位的页表 ( 号 ) 和 12位的页内偏移量 。在控制寄存器 CR4中页面长度控制位 PSE的控制下,Pentium的分页部件 PU可以按 每页 4KB分页 ( PSE=0),也可按每页 4MB分页 ( PSE=1)二、分页地址转换4KB分页方式采用两级分页方式,第一级有一个 4KB的页目录表,可存放 1024个页目录项,称之为高级管理,第二级有一个 4KB的页表,可以存放 1024个页表项,称之为低级管理 。 页目录项与页表项均为 32位 ( 4字节 ),如图 3-17所示 。1,4KB分页方式图 3-17 页目录项与页表项① P,存在位 P=1表示该页表 /页存在,P=0,表示不存在 。② PWT,通写位 用于片外 Cache的写控制,PWT=1时,片外 Cache采用通写法,PWT=0时,片外cache使用回写法 。③ PCD,页 Cache禁止位 用于对分页高速缓冲存储器的控制 。 若 PCD=1时,CPU内部 Cache被禁用 。④ A,访问位 表示该目录项或页表项所对应的页面是否在近期被访问过。当 A=1时表示近期被访问过,过一段时间后由操作系统清除为 0,当页面调度程序需要调出一些页面时,通过检查 A位状态,就可以知道各页的使用情况,并根据调度算法确定调出哪些页。⑤ D,写标志位 仅页表项中的 D位有意义 。 当页表项所涉及到的页面被改写过,D位由硬件置成 1,一直保持为 1状态,直到该页被调出内存 。 当调度程序要调出此页时,首先检查 D标志,若 D=1,则把内存中的此页拷贝回外存相应位置,以刷新外存上的本页内容 。 若 D=0,表示此页没有被改写,调度程序不必将它拷贝回外存,只是简单地丢弃本页内容,因而 D位也被称之为,脏位,。⑥ PS( Page Size),― 页大小位 。 只有页表项中有此位 。 PS=1,页面大小按 4MB分页,PS=0,页面大小按 4KB分页 。⑦ U/S,用户 /管理员 。 页面保护属性位 。⑧ R/W,读 /写 。 页保护属性位 。U/S与 R/W结合起来,实现页保护。在分页部件中,具有页保护功能,将使用对象分为特权级 3的用户以及特权级 2,1,0的管理员用户,管理员用户不受页的保护。Pentium 4KB分页方式地址转换如图3-18所示 。 将 32位线性地址定义为三个字段,页目录 ( 号 ),页面 ( 号 ) 以及偏移量,分别为 10位,10位和 12位 。图 3-18 Pentium 4KB分页方式地址转换图例 【 3-3】 假设线性地址是 3C445566H,CR3=H解,① 取线性地址的高 10位作为页目录( 号 ),求得 B,乘以 4( 左移 2位 ) 作为页目录项指针,结果为 H。② 查找页目录项的物理地址,1122H =H。例 【 3-4】 设所查找到页表项中20位页面基地址是 12345H,线性地址仍然取 3C44 5566H解:转换后最终物理地址:6H=H① 存储器分页管理通过 CPU内部寄存器 CR3和两级页表来实现,页目录表称为高级管理,页表称为低级管理 。② 将物理内存按 4KB划分为一页,称为一个页面,每 1024页为一个低级管理,由线性地址的中间 10位地址确定 。 每页有一个起始地址,存放在页表中,由页表项中 20位基址作为物理地址的高 20位地址,低 12位补 0。 共有 1024页,每页的 20位基地址排列存放在页表中,整个页表占 4KB。③ 在低级管理的上面是高级管理,由高级管理 ( 页目录表 ) 对 1024个页表进行管理,每个页表有一个起始地址,由页目录项中 20位基地址作高 20位地址,低位补 12个 0,求得页表的起始地址,页目录表共计有 1024个页表项,分别用于存放 1024个页表的基地址,构成了页目录表,每个页目录项占 4B,页目录表也占 4KB 。④ 将线性地址分为 10位,10位,12位三个字段,选 用 两 级 管 理 可 管 理 内 存210× 210× 212B=4GB⑤ 如果将 32位线性地址分成两个字段,低 12位为偏移量不变,一页仍为 4KB大小,高 20位仅为一个字段,仅采用单级页表,那么,将会有 220个页表项 ( 省去页目录表 ),即页表中有 1M 个页表项,同 样 可 以 管 理220× 212B=4GB内存,但是若每个页表项同样占 4B,那么页表共计占 4MB,这是不可取的 。将 32位线性地址分为 2个字段,页面 ( 号 )10位,偏移量 22位,采用单级页表分页方式,由于页面 ( 号 ) 仅 10位,页表中共有 1024个页表项,每个页表项 32位,页表仅占 4KB,这是Pentium较 增加的分页方式 。 全系统只有一个页表,由控制寄存器 CR3指向页表的起始地址 。 4MB分页方式的地址转换如图 3-19所示 。2,4MB分页方式4MB分页方式地址的转换过程如下:首先,10位页面 ( 号 ) 左移 2位,与 32位 CR3相加产生页表项的物理地址,注意,所寻址页表项中仅有高 10位为页面基地址,而不是 4KB分页方式中的 20位为页面基地址 。 将此 10位地址左移 22位,相当于低 22位补 0,然后与线性地址中的 22位偏移量相加,最终产生 32位的物理地址 。图 3-19 Pentium 4MB分页方式的地址转换过程图1,只分段不分页从分段地址转换过程图 ( 图 3-16) 可以看出,分段不分页由 16位的段选择符和一个 32位的偏移地址组成,段选择符的低 2位用于保护,高 14位指示段,因此,一个进程可允许的最大虚拟空间为 214+32=64TB。段管理部件 SU将段选择符与 32位虚地址转换成 32位线性地址,由于只分段不分页,此线性地址就是最终的 32位物理地址 。 不需要分页,也就不需要经过页目录表与页表的转换,地址转换速度快 。 缺点是段的频繁调入调出,耗时多,内存管理性能稍差一点 。三、保护模式的三种方式Pentium在页管理部件 PU的管理下,可以对存储器只实行分页管理,分段部件 SU不工作 。 如前面所述,可以按 4KB和 4MB两种大小不同的页面分页 。 与程序的段选择符无关,仅将指令提供的 32位虚地址看成是 32位的线性地址,无论按 4KB分页或是按 4MB分页,均可形成 32位物理地址,进程所拥有的最大虚存空间都是 232=4GB。 这种只分页不分段的保护模式也称为平展地址模式,比只分段不分页模式灵活 。 在 Windows NT和 Windows 95操作系统中采用了这种模式 。2.只分页不分段分段分页方式是先分段后分页,在分段的基础上进行分页,分段所形成的 32位线性地址不是最后的物理地址,而是提供给分页部件,作为页目录 ( 号 ),页表 ( 号 ) 以及页内偏移量,按 4KB大小分页 。 一个进程的最大虚地址空间与只分段的虚地址模式相同,也是 64TB,兼有分段与分页的优点,UNIX System V和 OS/2操作系统使用了这种保护模式 。3.既分段又分页图 3-20 分段分页地址转换过程图( 1) 由于段选择符中 TI=1,所以从 64KB的局部描述符表中查找对应的段描述符,该段描述符的指针等于 LDTR中 32位基地址 +段选择符高 13位 × 8。( 2) 由段描述符中 32位段基地址 +虚地址中 32位偏移量 =32位线性地址 。 线性地址的高 10位为页目录( 号 ),中间 10位为页表 ( 号 ),低 12位为偏移量 。( 3) 以 CR3中 32位基地址为页目录表中基地址,按4KB大小分页,其分页的原理与图 3-18中分页原理完全相同 。3.3.3 Pentium工作的实模式实模式是实地址模式的简称 。 所谓实模式,是
CPU工作的一种模式,指令中只允许出现逻辑地址,逻辑地址由 16位段值与 16位偏移地址组成,将 16位段值乘以 16,并加上 16位偏移地址值,便产生 20位的物理地址,这由 CPU中总线接口单元的 20位地址形成部件产生 。 产生地址信号 A19-A0共 20根,可寻址最大物理空间为 1MB。MS-DOS操作系统仅支持实模式,Pentium CPU工作在 Windows下,可以通过切换进入到 DOS状态,运行采用实模式的 16位应用程序 。8086的存储器寻址是将 16位的段寄存器左移 4位后,形成 20位的段基地址,然后同16位的偏移量相加,最后产生 20位的物理地址,可以寻址 1MB内存空间,当相加产生的20位物理地址超出 20位时,超出位被丢弃,即出现地址环绕现象。例 【 3-5】 设 8086 的 逻 辑 地 址 是FFFFH?FFFFH,求其物理地址 。解,PA=FFFFH× 16+FFFFH=10FFEFH丢弃最高位 1,则 PA=0FFEFH例 【 3-6】 当 32位机工作在实模式下,设 DS=1002H,FS=2000H,BX=3000H,求下列两条指令的逻辑地址分别是什么?① MOV AX,DS,[BX]② MOV EAX,FS,[BX]解:逻辑地址表达方式为:段选择符:偏移量,那么两条指令的逻辑地址分别如下:第 ① 条 00H第 ② 条 00H注意:中括号内的偏移量只允许为 16位,不能为 32位,例如不允许下列指令工作在实模式下:MOV AX,DS,[EBX]MOV ECX,FS,[ESI]?32位机 ( /Pentium) 工作在实模式下的地址转换图如图 3-21所示 。32位机工作在实模式下,最大物理空间仍为 1MB。 MS-DOS采用实模式,Windows 3.X也可以运行于实模式,在实模式下,CPU与内存可以交换 32位数据 。指令中涉及到的段寄存器 ( 例如 DS,FS) 在这儿被称之为段选择符,指令中 32位偏移量的高 16位补 0,形成了 32位偏移量,将段选择符中的值乘以 16设置到段寄存器的描述符高速缓存器的基地址字段,作为访问存储器的基地址,而把一个段的大小固定为 64K字节,设置在描述符高速缓存器的段界字段 。图 3-21 实模式下的地址转换过程图3.3.4 Pentium工作的虚拟 8086模式虚拟 8086模式简称虚拟 86( V86) 模式,它是在 32位保护模式下支持 16位实模式应用程序的一种保护模式 。在一般保护模式下,32位标志寄存器EFLAGS中的 b17=0,即 VM位 =0,当 VM=1时,切换到 V86方式 。V86模式和实模式下的地址转换方式基本相同 。虚拟 86模式下的地址转换图如图 3-22所示 。如果在 V86模式下禁止分页,那么其地址转换方式完全相同于实模式下的地址转换方式 。如果允许分页功能的话,可以通过分页机制,在 4GB的物理地址范围内分配多个 8086的 1MB地址空间 。在进行地址转换时,把段寄存器的描述符高速缓存器中的基地址同偏移量相加而得到的地址称为线性地址,将线性地址再通过分页机制进行分页转换,就可以产生最终的物理地址 。当 CPU工作在实模式下,其工作的代码位于特权级 0,保护机构不工作 。 在 V86模式下的代码则位于特权级3,保护机构工作,这要求预先在保护方式下对 CR0的 PG位置成 1,即 b31=1,于是就允许分页 。在虚拟 86方式下,分页地址转换的过程如图3-23所示 。 由例 【 3-5】 可知,32位线性地址的最大值为 0010FFEFH,高 11位恒为 0,那么b31~b22这高 10位一定全为 0,线性地址的高 10位作为页目录项的基地址,所以 V86方式下,只访问页目录表中的第 1个页目录项,本来可以有 1024个页目录项 。线性地址的中间 10位地址中,一般情况下高 2位( b21,b20) 均为 0,所以只有低 8位是有效位,那么可以访问 256 个 页 表 项,考 虑 到FFFFH× 16+FFFFH=10FFEFH的特殊情况,则相加后产生上溢出,使得 b20上溢出为 1,在 b20=1的溢出情况下,而 b19~b0只有 000H~00FH共 16种可能,所以可查找的页表项增加 16个,变为 256+16=272个 。 本来共计可查找 1024个页表项,但是虚拟 86模式下只可查找 272个页表项 。图 3-22 虚拟 86模式下不分页地址转换过程图在 V86模式下,如果禁止分页,存储器寻址空间仅为 1MB。 这与 8086基本上相同,每段存储空间最大为 64KB 。由于 V86模式只能查找到一个页目录项,而不是 1024个,所以 V86模式可寻址物理空间,由页表项中的 20位基地址与线性地址的低 12位相拼而成为 32位的物理地址,因此,可访问4GB存储空间 。在 V86模式允许分页的情况下,物理页的大小为 4KB,即按 4KB大小分页,多任务中的每一个任务所用的全部页面可以定位在一个物理空间,这个空间大小为 1MB,不同任务的代码定义在不同的 1MB内存空间,4GB物理空间可以定义若干个虚拟 8086的地址空间 ( 1MB),把 4GB物理存储器虚拟化了,这就是取名为虚拟 8086模式的缘由 。图 3-23 虚拟 86模式下分页地址转换过程图3.3.5 三种工作模式的相互转换三种工作模式可以相互转换,如图 3-24所示 。 CPU上电或复位后就进入实地址模式,通过对控制寄存器 CR0中的 b0位置 1,即保护允许位 PE置 1,于是系统进入保护模式,若使 PE复位,则返回到实地址模式 。 通过执行 IRETD指令或者进行任务转换时,则从保护模式转变为 V86模式,通过中断可以从 V86模式转变到保护模式 。 在 V86模式下可以复位到实地址模式 。图 3-24 三种工作模式的相互转换3.3.6 Pentium的存储保护/Pentium采用虚拟存储器技术的目的是为了更有效地使用有限的主存储器资源 。 在程序运行过程中,为了防止应用程序破坏系统程序,某一应用程序破坏其他应用程序,错误地把数据当作程序运行等故障的发生等,所采取的各种措施都称之为 存储保护,最典型的存储保护是采用称之为特权级的保护方式 。一、特权级的级别特权级保护是将系统中所有的程序分配相应的级别,特权级 0的特权级别最高,操作系统 ( OS) 的特权级为 0,特权级别也就最高 。 特权级保护功能的主要目的是不准任何应用程序修改操作系统的数据,而又允许程序调用操作系统中提供的各种服务子程序 。Pentium四个特权级的保护示意图如图 3-25。 操作系统处于最内层,具有最高特权级 0,依次向外,特权级降低,最外层特权级最低,而 PL值最大,即 PL=3。 最外层一般是应用程序层,享有最低特权级 。Pentium特权级所应遵循的规则有 2条:① 特权级高的数据段不能被特权级低的代码段访问 。② 特权级高的代码段不能向特权级低的代码段转移调用,反之是允许的 。图 3-25 Pentium四个特权级的分层1,CPL( Current PL),当前特权级 。 CPL是当前运行程序或任务的特权级,分别被保存在段寄存器 CS即段选择符的 b1b0位和当前任务寄存器的b1b0位 。2,DPL( Discriptor PL),描述符特权级 。 它表示该段或任务门的特权级,分别被保存在段描述符和门描述符的 DPL域中,段描述符的 DPL具体在访问权字节中的 b6b5位 。3,RPL( Requested PL) 请求特权级 。 用于表示段选择符的另一种特权级,它保存在段选择符的 b1b0位 。 表示本次访问所要求的特权级 。二、三种类型特权级Pentium的数据段寄存器有 DS,ES,FS,GS以及堆栈段寄存器 SS,为了访问某一数据段的内容,必须通过 MOV,LDS,LES等指令将数据段的选择符装入相应的段寄存器中,Pentium在将选择符装载到段寄存器之前,必须要将当前运行程序和任务的 CPL,所要请求的 RPL与要访问的数据段描述符中 DPL进行比较,DPL中值要大于或等于 CPL以及 RPL的值,才能将选择符装载到段寄存器中,也就是要满足如下公式的要求:DPL数据段描述符 ≥ MAX( CPL当前代码段,RPL数据段选择符 ) ( 3-1)例 【 3-7】 三种特权级的应用举例设数据段描述符的特权级为 2,设有四个当前程序,当前代码段特权级 CPL分别为0,1,2,3,而段选择符的请求级 RPL分别为 3,1,2,3,求出哪一个段选择符可以装入段寄存器中? 根据公式 ( 3-1),分析结果如表 3-3所示:表 3-3 CPL,RPL,DPL之间的关系当前代码段 CPL段选择符请求级 RPL数据段描述符 DPL访问与否 原因0 3 2 否 RPL&DPL1 1 2 可以 DPL&CPL、RPL2 2 2 可以 DPL=CPL、RPL3 3 2 否 DPL&CPL、RPL3.4 Pentium的超标量流水线Pentium具有两条关于指令的标量流水线,所以称之为 超标量流水线 。 每条指令流水线分为 5段,CPU在一个时钟周期内可以执行两条指令 。 它兼有复杂指令系统计算机( CISC) 与精减指令系统计算机两者的特性 。Pentium整数指令流水线的结构请参考图 3-1。 两条整数流水线分别称之为 U流水线和 V流水线 。 两条指令流水线同时执行先后两条相邻的指令,先一条在 U流水线中执行,后一条在 V流水线中执行,,U”、,V”有先后顺序及相邻的意思 。3.4.1 Pentium的超标量流水线结构一,两条指令流水线共用部件⒈ 超标量流水结构中有两个预取缓冲器,均为32字节,负责从 CPU内部 Cache或主存中预先取出指令并缓存 。⒉ 指令译码器要完成对指令的译码,相邻两条指令的配对检查等操作 。 如果遇到转移指令,要在译码之后,将转移指令地址送到转移目标缓冲器 BTB中进行查找 。⒊ 微程序控制器中的控制 ROM存储了若干条机器指令的微程序 。⒈ U,V两个地址生成部件,分别用于产生存储器操作数的地址,Pentium工作在不同模式下的逻辑地址都要转换成物理地址以便访问数据 Cache,转换后援缓冲器 TLB可用来加快这种地址的转换速度 。⒉ 8KB的数据 Cache是双端口结构,可同时由 U,V两条流水线访问,一个时钟周期内能存取两个 32位数据,或者是 64位的浮点数 。二、非公用的流水部件⒊ 两个 32位的 ALU对简单指令的运算均只需要一个时钟周期 。 简单指令指 ADD EAX,EBX之类指令,不涉及到访问存储器的运算指令 。 流水线中还包括 8个 32位通用寄存器,即 EAX,EBX,ECX,EDX,EBP,ESI、EDI,ESP。3.4.2 U,V流水线及其分工策略一,U,V流水线的基本原理U,V流水线都由 5段组成,前两段 U,V流水线共享,后 3段分离进行 。 U,V流水线工作的基本原理图见图 3-26所示 。第一段是预取段 ―― PF,在这一段要从指令Cache中取出指令,并将取出的指令存入预取缓冲器中 。第二段是指令译码 1段 ―― D1,在这一段,要确认指令的操作码,寻址方式以及完成指令的配对检查和转移指令的预测,前后连续的两条指令 i1和 i2都要被译码完成,最终要判断这两条指令能否并行发射到下一段 。第三段是指令译码 2段 ―― D2,在这一段,要计算并产生存储器操作数的地址,不是所有指令都要计算存储器操作数,但每条指令都必须流经这一段 。第四段是执行段 ―― EX,此段主要在 ALU,桶形移位器和其他功能部件中完成指定的运算 。第五段是写回段 ―― WB,将计算结果写回到标志寄存器,目的寄存器以及其他目的地方 。图 3-26 U,V流水线工作的基本原理D1段是流水线中的关键段,这一对指令经译码后同时发射到下一段必须要满足下列 4个条件:⒈ 两条指令都是简单指令 。⒉ 相邻两条指令之间不能有数据相关的问题共计有三类数据相关冲突,即写后读 ( RAW),读后写 ( WAR) 以及写后写 ( WAW) 相关 。⒊ 两条指令不同时含有立即数,不同时都是含有偏移量的相对寻址指令 。⒋ 只有 i1条指令允许带有前缀 。例 【 3-8】 MOV AX,BXMOV ECX,ESI1NC AXADD EBX,EDI前两条指令与后两条指令都是简单指令,都可以同时发射到下一段 。例 【 3-9】 写后读数据相关 ( RAW) 举例i1条 ADD AX,BXi2条 MOV CX,AX从上看出,i2条指令在 i1条指令结果尚未写入 AX中之前,就要读 AX中的值,应该是先将运算结果存入到 AX中,后由 i2条指令读 AX,由于两条指令同时进入流水线就发生 写后读数据相关冲突 。例 【 3-10】 读后写数据相关 ( WAR) 举例i1条 MOV [EBX],AXi2条 MOV AX,BX由于两条指令同时进入流水线,i1条中AX尚未存入内存,也就是 AX中值尚未取出时,i2条指令就要把 BX中值存入 AX中,发生这种数据相关称之为 读后写 ( WAR) 相关,这两条也不能同时发射到下一段 。例 【 3-12】 写后写数据相关举例i1条 MUL AX,BXi2条 ADD AX,CX由于 i2条指令执行时间比 i1条指令执行时间短,i2条指令提前把加法运算结果写入 AX中,发生了 WAW数据相关 。U,V两条流水线的功能是不一样的,U流水线能执行指令系统中的所有指令,而 V流水线只能执行简单的整数指令和少数浮点数指令 。 Pentium对 U,V流水线的调度策略采用按序发射与按序完成的策略 。 图3-27描述按序发射按序完成的调度策略 。二,Pentium对 U,V流水线的调度策略图 3.27 按序发射按序完成的调度策略如图中的 i5,i6两条指令,也是因为 i2指令延长了一个时钟周期,i5和 i6在第 4个时钟周期处于停顿状态,在第 7个时钟周期,由于 i3指令延长了一个时钟周期,所以 i5,i6均停顿了一个时钟周期,U流水线中的 i5条指令在 EX段能按时完成,所以在第 9个时钟周期写回结果,但 i6条指令因 EX段的延时,在第 10个时钟周期才写回结果;反过来,如果 i6执行快于 i5的话,则 i6要停顿等待 U流水线中的 i5条指令,即 V流水线不得早于 U流水线就结束一条指令的执行过程 。3.5 Pentium的引脚信号Pentium的主要引脚信号按其功能可分为 10类,在图 3-28中,给出了各类所包含的引脚信号及其 I/O方向。图 3-28 Pentium的主要引脚信号( 1) A20M*,用于屏蔽含 A20以上的地址线 。( 2) A1~ A31,29位地址线 。( 3) ADS*,指示地址状态输出有效,即总线周期开始 。( 4) AP,地址整体偶校验位输出线,双向 。( 5) APCHK*,地址的偶校验出错指示信号,输出线,低电平有效 。一、地址线及其控制信号( 1) D63~ D0,64位数据线 。( 2) BE7*~ BE0*,8位字节允许信号,低电平允许 。( 3) DP7~ DP0,奇偶校验信号 。( 4) PCHK*,数据奇偶校验出错信号,输出 。( 5) PEN*,数据奇偶校验允许信号,输入 。二、数据线及其控制信号( 1) CACHE*,Cache控制信号,输出,低电平有效 。( 2) EADS*,外部地址有效信号 。 输入,低电平有效 。( 3) HIT*,Cache命中信号 。 输出,低电平有效,当其有效,表示 Cache被命中 。( 4) HITM*,Cache修改信号 。 输出,低电平有效,当其有效,表示当前命中的 Cache已被修改过 。( 5) 1NV,无效请求信号 。 若此输入信号为高电平,使 Cache区域不可再使用,这是因为 1NV 为高电平,使得 Cache已处于无效状态 。三,Cache控制信号( 6) PCD,Cache禁止信号 。 输出,高电平有效 。( 7) PWT,CPU外部 Cache的控制信号 。 PWT=1时,主板上 Cache使用通写方式,PWT=0时,主板上 Cache则使用回写法 。( 8) FLUSH*,Cache擦除信号 。 输出,低电平有效 。( 9) KEN*,Cache允许信号 。 输入,低电平有效 。( 10) WB/WT*,CPU内 Cache写选择信号 。( 11) AHOLD,地址保持 /请求信号。输入,高电平有效。( 1) D/C*,数据 /控制信号 。 输出线,为高电平时,表示当前总线周期传输的是数据,为低电平时,指示当前总线周期传输的是指令 。( 2) M/IO*,存储器 /输入输出访问信号 。 输出线,为高电平时,指示当前总线周期访问存储器,为低电平时,则为访问 I/O端口 。( 3) W/R*,读 /写控制信号 。 输出线,为高电平时,表示当前总线周期为 CPU写存储器或写输出端口,为低电平时,指示为读存储器或读输入端口 。四、总线周期控制信号( 4) LOCK*,总线封锁信号 。 输出,低电平有效,当其有效时,当前总线被锁定,使得其他主模块不能获得总线控制权,从而确保 Pentium CPU当前对总线的控制权 。( 5) SCYS,分割周期信号 。 输出,高电平有效 。( 6) NA*,下一个地址有效信号 。 输入,低电平有效 。( 7) BRDY*,突发就绪信号 。 输入,低电平有效,当其有效,表示外设已处于突发传输准备好状态 。( 1) INTR,可屏蔽中断请求输入信号 。( 2) NMR,非屏蔽中断请求输入信号 。( 3) RESET,系统复位信号 。 输入,高电平复位 。( 4) CLK,系统时钟信号 。 输入,由主板上提供时钟脉冲 。( 5) INIT,初始化信号 。 输入,高电平有效 。五、系统控制信号( 1) BUSCHK*,总线检查信号 。 输入,低电平有效 。( 2) IERR*,内部奇偶出错或功能性冗余校验出错信号 。( 3) FERR*,浮点运算出错信号 。 输出,低电平有效 。( 4) FRCMC*,冗余校验控制信号 。 输入,低电平有效当其有效,CPU进行冗余校验 。( 5) IGNNE*,忽略浮点运算错误的信号。输入,低电平有效。六、检测与处理信号( 1) HOLD,总线请求信号 。 输入,高电平请求 。( 2) HLDA,总线请求响应信号 。 输出,高电平有效,当其有效,表示 CPU已让出总线控制权 。七、总线仲裁信号( 3) BREQ,总线周期请求信号 。 输出,高电平有效,此信号有效时,表示 CPU已提出了一个总线请求,并正在占用总线 。 此信号用于告示其他能控制总线的主模块 。( 4) BOFF*,强制让出总线信号 。 输入,低电平有效,CPU采样到为低电平时,立即放弃总线控制权,直到变为无效电平时,CPU才启动被暂停的总线周期 。( 1) SMI*,系统管理模式中断请求信号 。使 CPU进入系统管理模式的中断请求输入信号 。( 2) SMLACT*,系统管理模式信号。输出,低电平有效,当其有效,表示当前 CPU处于系统管理模式。八、系统管理模式信号( 1) PM1~ PM0及 BP3~ BP0,PM1~ PM0是性能监测信号,BP3~ BP0是与调试寄存器 DR3~DR0中的断点相匹配的而输出到外部的信号 。( 2) BT3~ BT0,分支地址输出信号 。( 3) IU,指令 U流水线信号 。 高电平有效,有效时表示此时 U流水线正在完成指令的执行过程 。九、跟踪和检查信号( 4) IV,指令 V流水线信号 。 高电平有效,有效时表示此时 V流水线正在完成指令的执行过程 。( 5) IBT,输出,高电平有效,有效时,表示指令发生分支 。( 6) R/S*,探针信号 。 输出,此信号由高电平跳变到低电平时,将会使 CPU停止执行指令而进入空闲状态 。( 7) PRDY,R/S*的响应信号。输出,高电平有效,有效时表示 CPU当前已停止指令的执行,可以进入测试状态。( 1) TCK,测试时钟信号输入端 。( 2) TDI,串行测试数据输入端 。( 3) TDO,测试数据结果输出端 。( 4) TMS,测试方式选择端 。( 5) TRST*,测试复位输入端 。 当输入低电平后,复位测试状态,即系统退出测试状态 。十、测试信号3.6 Pentium Pro~Itanium的技术概述自 1993年 Pentium问世之后,Intel公司相继推出了Pentium Pro(1995)Pentium Ⅱ ( 1997年 )Pentium Ⅲ ( 1998年 )Pentium 4( 2000年 ) 等微处理器,近几年又推出了 64位的微处理器 Itanium( 安腾 )英特尔微处理器芯片80386PentiumPentium 43.6.1 Pentium Pro微处理器简介Pentium Pro具有如下的主要技术特点:( 1) Pentium Pro内部配置了 L2 Cache256KB或 512KB。( 2) 不需要额外的逻辑电路就可以支持多达4个 CPU,特别有利于服务器系统的组成 。( 3) CPU有 36位地址线,可寻址物理地址空间 64GB,虚存空间为 64TB。 CPU外部数据总线仍为 64位 。( 4) Pentium Pro最重要的技术是采用了RISC技术 。( 5) 外型使用了长方形 387管脚陶瓷封装 。 微处理器要插接到 Socket 8型插座上 。Pentium Pro是为服务器和工作站而设计的 。3.6.2 Pentium Ⅱ 微处理器简介Pentium Ⅱ 微处理器是面向个人计算机和工作站而设计的 。 PⅡ 微处理器所提供的整数运算和浮点运算的功能以及多媒体新技术等三方面的优势,特别适合于三维图形,图像及多媒体应用程序的执行 。( 1) 微处理器内部有 2级高速缓存,L1Cache 容量 32KB,L2 Cache 容量 512KB 。PentiumⅡ 采用单边接触的卡盒式封装,CPU芯片,L1和 L2 Cache都封装在 CPU内 。( 2) Pentium Ⅱ 微处理器内部总线宽度高达300位,外部仍为 64位数据线,36位地址线,可寻址物理地址空间 64GB,虚存地址空间64TB。( 3) 采用了双重独立的总线结构 。 PentiumⅡCPU 一方面由具有纠错功能的 64位总线专门负责与系统内存及 I/O端口之间的数据传输,另一方面,CPU由具有纠错功能的专用总线负责与 L2 Cache交换数据,两种总线并行工作,但相互独立 。( 4) 动态执行技术与 MMX技术 。 Pentium Ⅱ 增加了 57条 MMX指令,集成了 MMX技术,增强了音频,视频,图形等多媒体应用的处理能力 。 可以加速数据的加密,解密以及数据的压缩和解压过程 。3.6.3 Pentium Ⅲ 微处理器简介Pentium Ⅲ ( PⅢ ) 微处理器主要有 3个系列产品,主频时钟在 400MHz?733MHz之间,总线时钟 ( 外部时钟 ) 为 100MHz和133MHz两种 。 仍然经过倍频后产生 CPU内部工作的主频时钟 。 电源电压使用范围在1.1V~ 1.65V之间,电源功耗大大降低,外型采用了 PC-PGA的新型封装技术 。( 1) PⅢ 增加了 70条多媒体指令 SSE指令集,12条新的多媒体指令,进一步提升了视频处理,图形图像处理的质量; 50条单指令多数据浮点运算指令,可以同时处理 4对单精度浮点数,或同时处理单精度和双精度浮点数,由于既保留了 57条 MMX指令,又增加了 50条浮点运算指令,解决了不能同时处理 MMX数据和浮点数的矛盾,极大地提高了浮点数运算的速度;在 SSE新指令集中,还设有 8条连续数据流内存优化处理指令,并且采用了新的数据预存取技术,大大提高了处理连续数据流的速率 。( 2) 在 PⅢ 中,新增了 8个 128位 ( 4× 32位 ) 单精度浮点寄存器,配合 SEE指令的执行,可以提高浮点数运算与处理的速率 。PⅢ 主频的提高以及 SSE技术的应用,使得整体性能大有提高,在 3D图形图像处理,语音处理与识别,视频实时压缩,浮点数的运算,网络软件运行的速率等方面,都有很大的改善与提高 。3.6.4 Pentium 4微处理器简介Pentium 4晶体管数目增加到 4200万个,CPU主频有 1.4GHz,2.2GHz等版本,由于主频大大提高,动态电流增加,外加晶体管数目增加,所以电源功耗明显增加,高达 55W,没有选用传统的低压供电方式,而是采用了 12V直流供电 。 CPU插座使用478条引脚的产品,采用 Socket 423插座将 CPU固定在主板上 。3.6.4 Pentium 4微处理器简介( 1) CPU数据总线的并行传输速率大大加快,一个总线时钟周期内可同时传输 4组 64位的数据,称之为四倍爆发式总线技术 。 P4通过 850外围芯片组构成的主机系统,与内存构成双通道的方式传输数据,并行传输带宽可以达到3.2GB/S。( 2) Pentium 4内部设计了两组独立运行的ALU,在一个主频时钟周期的上升沿与下降沿之间完成所需要的运算,平均在 P4内部一个主频时钟内可以完成 2条算术 /逻辑运算指令 。3.6.4 Pentium 4微处理器简介( 3) P4保留了 PⅢ 中 MMX指令,同时又增加了 70条新的 MMX指令 。 保留了 PⅢ 中原有的 SSE指令,又增加了新的 SSE指令,组成了共计有 144条的所谓 SSE2指令集 。( 4) 将指令 Cache直接连接到分支预取单元与执行单元,这与以往的 L1Cache的结构是有区别的,其结构还考虑到了微指令的格式,当执行重复性代码时,可以提高程序运行的速度,称这种技术为指令跟踪缓存 ( Trace Cache) 技术 。3.6.5 Itanium微处理器简介Itanium( 安腾 ) 是 Intel公司推出的64位微处理器,其外部数据总线为 64位,地址总线也是 64位,内部集成了约 2.2亿个晶体管,其集成度大约是 Pentium的 10倍,特别适用于高档服务器和工作站 。3.6.5 Itanium微处理器简介( 1) 主要技术特点中最重要的一点是采用了 完全并行指令计算 ( Explicitly ParallelInstruction Computing,EPIC) 技术 。 EPIC技术的特点是使指令的并行性能好,在增加的EPIC指令组中,指令长度较长,包括功能全,指令中既包含了常规指令的操作码和操作数,还包括并行执行的方法等信息 。 在程序运行时,由编译器将程序编译成几组机器代码,经分组后将多条指令打成一个包,几组指令可以在不同的执行部件中执行 。3.6.5 Itanium微处理器简介( 2) Itanium内部有 2-3级 Cache。 Itanium Ⅰ 微处理器内含有 2级 Cache,L1 Cache包括指令 Cache和数据Cache各 16KB,L2 Cache容量是 96KB,还可以在主板上外接 4MB的三级 Cache。 Itanium Ⅱ 内部具有 L1,L2、L3共三级 Cache,L3Cache的容量为 3MB。( 3) 多个执行部件和多个通道的并行操作 。 Itanium内部有 4个整数算术逻辑运算单元 ALU和 4个浮点执行部件 FNAC,并有 9个功能通道,多个执行部件和多个通道可使 Itanium在 1个主频时钟周期内执行 20个操作,特别适用于密集型浮点运算和三维图形的处理 。3.6.5 Itanium微处理器简介( 4) 采用了新的分支预测技术,通过编译软件可以预先将分支结构的程序段分成几个指令序列,然后通过 Itanium超强的并行处理能力,同时执行这些指令序列,使得分支程序在流水线中也能顺利执行,而不产生断流,起到了消除分支预测错误的作用 。( 5) 新增了许多寄存器,使 Itanium在峰值操作状态下,也不会因寄存器不充裕而产生等待延时等问题,可以大大提高系统工作的效益,特别适合于多任务操作 。 Itanium内部包含有 128个通用寄存器,128个浮点寄存器以及用于系统的 64个寄存器 。习 题 三3.1 3.2 3.4 3.5 3.8 3.9 3.10
课件名称:课件分类:计算机课件类型:教学课件文件大小:19.96MB下载次数:48评论次数:8用户评分:8.6
6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.

我要回帖

更多关于 内层vlan和外层vlan 的文章

 

随机推荐