




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 Pentium系列微处理器的基本结构系列微处理器的基本结构2.1Pentium微处理器的基本结构微处理器的基本结构分支目标缓冲器控制部件地址通用器(U流水)地址通用器(V流水)整数寄存器组ALU(U流水)ALU(V流水)桶形移位器数据高速缓存(8KB)TLB控制ROM预取缓冲器指令译码器分支检验与目标地址分页部件预取地址指令高速缓存(8KB)TLB浮点部件控制寄存器组加法除法乘法64位数据总线6432位地址总线323232328080总线部件64位数据总线32位地址总线控制总线2562.1.1总线接口部件总线接口部件 1.地址收发器和驱动器地址收发器和驱动器 2.数据总线收发器数
2、据总线收发器 3.总线宽度控制总线宽度控制 4.写缓冲写缓冲 5.总线周期和总线控制总线周期和总线控制 6.齐偶效验的生成和控制齐偶效验的生成和控制 7.Cache控制控制2.1.2预取缓冲部件预取缓冲部件指令预取技术指令预取技术 Pentium含有几个指令预取缓冲器,包含有几个指令预取缓冲器,包括指令预取和指令译码两部分括指令预取和指令译码两部分。2.1.3整数流水线整数流水线 (1)流水线技术)流水线技术 为了提高微型计算机的工作速度,可以采用为了提高微型计算机的工作速度,可以采用某些功能部件分离的方法,使大的顺序操作分解某些功能部件分离的方法,使大的顺序操作分解为由不同功能部件分别完成、
3、在时间上重叠的子为由不同功能部件分别完成、在时间上重叠的子操作,这种技术称为流水线技术。操作,这种技术称为流水线技术。并行性的两种含义:并行性的两种含义: 同时性-两个以上事件在同一时刻发生。如多机系统中,同一时刻多个进程在运行。 并发性-两个以上事件在同一间隔内发生。如并发程序,某一时刻CPU中只有一个进程在运行,而在一个时间段内,多个进程同时运行。 并行性的三种形式:并行性的三种形式: 时间并行-指时间重叠。实现形式即流水线方式; 空间并行-指资源重复。实现形式主要为多处理器系统和多计算机系统; 时间并行空间并行-时间重叠和资源重复的综合应用,例:超标量流水技术。流水工作方式:将一个计算任
4、务细分成若干个子任务,每个子任务由专门的部件处理,多个计算任务依次进行并行处理。 流水线中主要存在三种相关冲突,会使流水线发生断流,而不能充分发挥作用,因此需采取相应的技术对策。 (1)资源相关:指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。 解决方法: 延迟等待,使指令推迟执行; 设置重复资源,将指令和数据分别存放在两个存储器中。(2)数据相关:在一个程序中,如果必须等前一条指令执行完,才能执行后一条指令,这两条指令即为数据相关。当多条指令重叠处理时,可能发生冲突。 解决方法: 采用定向传送技术; 编译优化。A-B-CA-C(3)控制相关:通常由转移指令引起,根据
5、转移条件来控制指令的执行顺序,而造成断流。 解决方法: 延迟转移法,由编译程序重排指令序列,本思想是“先执行再转移”,即发生转移取时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线 的少数几条指令继续完成。如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。 转移预测法:由硬件方法来实现,依据指令过去的行为来预测将来的行为,通常设置顺序和转移两个指令预取队列。 流水流水CPUCPU的时空图的时空图 图(a)表示流水CPU中一个指令周期的任务分解。图(b)表示非流水计算机的时空图。图(c)表示流水计算机的时空图图(d)表示超标量流水计算机的时空图。(a)(
6、b)(c)(d)的动态演示请看动画演示(1)超标量流水线超标量流水线 超标量流水线是pentium系统结构的核心。它由U和V两条指令流水线构成,每条流水线都有自已的ALU、地址生成电路、与数据cache的接口。控制ROM属于微程序控制器,其中存放一组解释指令操作顺序的微指令代码。两个地址生成器用于计算存储器操作数地址。各种模式下的逻辑地址最终要转换成物理地址来访问数据cache,并用转换后援(旁视)缓冲器TLB来加速这种地址转换过程。寄存器堆有8个32位整数寄存器,用于地址计算、保存ALU的源操作数和目的操作数。(2) cache部件部件80486 CPU中有8KB的指令和数据共用的cache
7、。而奔腾CPU则分设指令cache和数据cache,各8KB。指令cache是只读的,以单端口256位(32B)向指令预取缓冲器提供超长指令字代码。数据cache是可读可写的,双端口,每个端口32位,与U,V两条流水线交换整数数据,或组合成一个64位端口与浮点运算部件交换浮点数据。两个cache与64位数据、32位地址的CPU内部总线相连接。 两个cache都使用物理地址。每个cache都有一个后援缓冲器TLB,负责将TLB命中的线性地址转换成32位物理地址。 (3)浮点浮点流水线流水线奔腾CPU内部包含了一个8段的流水浮点运算器。前4段为指令预取(PF)、指令译码(D1) 、地址生成(D2)
8、、取操作数(EX),在U,V流水线中完成;后4段为执行1(X1)、执行2(X2)、 结果写回寄存器堆(WF)、错误报告(ER),在浮点运算部件中完成。一般只能由U流水线完成一条浮点数操作指令。 (4)动态转移预测技术动态转移预测技术执行转移指令时为了不使流水线断流,pentium采用了动态转移预测技术。转移目标缓冲器BTB一个小容量的cache。当一条指令导致程序转移时,BTB便记录这条指令及其转移目标地址。以后遇到这条转移指令时,BTB会依据前后转移发生的历史来预测该指令这次是转移取还是顺序取。若预测为转移取,则将BTB记录的转移目标地址立即送出可用。两个指令预取缓冲器,每个容量为32字节,
9、当前总是使用其中一个(假设为缓冲器1)。当在指译码(D1)段译出一条转移指令时立即检索BTB。若预测为“顺序取”,则继续从缓冲器1取指令;若预测为“转移取”,则立即冻结缓冲器1,启动另一个缓冲器2,由给出的转移目标地址处开始取分支程序的指令序列。这样,保证了流线的指令预取步骤永远不会空置。并且预测转移取错误时,正确路径的指令已经在另一个冲器中,使流水线的性能损失减至最小。2.1.6指令译码部件指令译码部件 两条同时译码,同时传给两条流水线两条同时译码,同时传给两条流水线2.1.7控制部件控制部件微程序控制的基本思想是将指令操作分解为微指令序列,每一条微指令又包含若干可同时进行的微操作。微程序被
10、固化在ROM中,在操作时将根据机器指令不断取出微指令并执行微指令,从而实现指令规定的操作功能。2.2Pentium Pro微处理器中文名为“ 高能奔腾”,俗称686,是第一个基于RISC内核和32位软件的微处理器。Pentium Pro CPU按双腔结构制作,含CPU和二级Cache,使用Socket 8插座。主频150260 MHz。该主频很容易采用多处理器结构,适用于服务器。该芯片设计上注重了32位代码的优化,在网络服务器系统上能充分发挥其性能;RISC的三个要素是:的三个要素是:(1)一个有限的简单的指令集;(2)CPU配备大量的通用寄存器;(3)强调对指令流水线的优化。基于三要素的基于
11、三要素的RISC机器的特征是:机器的特征是:(1)使用等长指令,目前的典型长度是4个字节。 (2)寻址方式少且简单,一般为23种,最多不超过4种,绝不出现存储器间接寻址方式。 (3)只有取数指令、存数指令访问存储器。指令中最多出现RS型指令,绝不出现SS型指令。 (4)指令集中的指令数目一般少于100种,指令格式一般少于4种。(5)指令功能简单,控制器多采用硬布线方式,以期更快的执行速度。 (6)平均而言,所有指令的执行时间为一个处理时钟周期。 (7)指令格式中用于指派整数寄存器的个数不少于32个,用于指派浮点数寄存器的个数不少于16个。 (8)强调通用寄存器资源的优化使用。 (9)支持指令流
12、水并强调指令流水的优化使用。 (10)RlSC技术的复杂性于它的编译程序,因此软件系统开发时间比CISC机器长。(2)超流水线和超标量技术 超流水线是指CPU内部的流水线超过通常的56步。流水线的步数越多,完成一条指令的速度就越快。超标量(Super-Scalar)是指CPU中有一条以上的流水线,并且每时钟周期可以完成一条以上的指令。3)乱序执行技术乱序执行(Out-of-Order Execution)是指CPU采用了允许将多条指令不按程序规定的顺序,分开发送给各相应电路单元处理的技术。2.3 MMX中文名为“多能奔腾”。它是为改善PC图形、音响,加速多媒体视听和为通信应用软件开发的新型处理
13、器,实际上是带有多媒体扩展结构MMX(Multi Media eXtension)的奔腾CPU芯片。采用多媒体CPU的微机在进行视频、音频处理时,具有很平滑的视频播放能力、清晰逼真的画面、完美的音响效果。MMX技术集成到新一代技术集成到新一代pentium CPU时,主要体现在:时,主要体现在:采用4种新的数据类型,使用8个64 位宽的MMX寄存器,增设57条新指令。 1.MMX数据类型数据类型MMX技术定义了三种打包的数据类型及一种64位字长的数据类型。打包数据类型中的每个元素以及64位数都是带符号或不带符号的定点整数(字节、字、双字、四字)。四种数据类型定义如下: 紧缩字节类型紧缩字节类型
14、:8个字节打包成一个64位数据 紧缩字类型紧缩字类型:4个字打包成一个64位数据 紧缩双字类型紧缩双字类型:两个32位的双字打包成一个64位数据四字类型四字类型:一个64位数。2.MMX寄存器寄存器8个MMX寄存器MM0MM7的宽度为64位,但它们没有单独设置,而是借用浮点处理单元中的8 个(80位)数据寄存器,它是通过使用“别名”的办法来实现的。即浮点单元的8个数据寄存 器被浮点指令看成ST0ST7,被MMX指令看成是MM0MM7。这样,8个字节或4个字或2个双字被打包装入一个64位的MMX寄存器,一旦执行一条MMX指令时,将所有这些8个、4个或2个的数据同时取出,进行数学运算或逻辑操作,最
15、后结果写入MMX寄存器。事实上,这种运算处理过程是一种并行处理过程,故称为SIMD(单指令单指令 多数据多数据)的并行处理的并行处理。3.MMX指令集指令集 如果一条指令支持多种数据类型:字节(B)、字(W)、双字(D)或四字(Q)的操作,则选用某一数据类型时,相应的字母B,W ,D或Q列入指令助记符的后面。对于转换指令要列入两个字母,例如WB表示把字拆成字节,而BW表示把字节拼成字。 MMX指令的先进性体现在以下五个方面指令的先进性体现在以下五个方面:SIMD结构结构 本节以前,我们遇到的计算机是SISD(单指令单 数据)的系统结构。而SIMD结构则是单指令多数据的系统结构。MMX指令充分利
16、用CPU64位带 宽的处理能力,一次可以并行处理8个8位数据,或4个16位数据,或2个32位数据,因而成为提高计算性能的最基本因素。饱和运算方式饱和运算方式 这是运算发生溢出时使用的处理方法。如果运算结果超过最大值,则将此值按最大值处理,低于最小值时按最小值处理。由于不需要进行溢出处理, 所以提高了处理能力。饱和运算适合于面向像素数据的处理。积和运算方式积和运算方式 MMX的乘法指令中,PMADDWD指令是一条关键指令,它具有乘法-累加操作动能。下图说明了它的操作功能,将两个紧缩字类型的数中相应的元素(16位)相乘,生成4个32位的积,再将左侧的两个积相加,得出一个结果;右侧的两个积相加 ,得
17、出另一个结果。这样便生成一个紧缩双字类型的结果数据。积和运算方式特别适合于向量计算与矩阵计算。2.4 Pentium PPentium P系列微处理器是在Pentium Pro CPU基础上融入MMX技术,优化16位代码。P系列CPU采用双重独立总线技术,芯片设计上把2级高速缓存移至微处理芯片外,将CPU与L2装在同1块基块上,然后封装在黑色卡匣里,构成1个完整的处理器插件,L2容量为512KB,并以CPU主频的一半速度运行,在结构上,采用Solt 1接口标准和单边接触盒(SECC)封装技术,用新型Slot 1插头与主板相连。1.多媒体增强技术多媒体增强技术 SIMD 新增新增57条条MMX指
18、令指令2.动态执行技术动态执行技术 多分支跳转预测多分支跳转预测 数据流分析:处理顺序数据流分析:处理顺序 推测执行推测执行3.双重独立总线结构双重独立总线结构2.5 采用采用P6P6微架构,起始主频微架构,起始主频450MHz450MHz,设计时针对,设计时针对3232位应用程序进行优化,采用双重独立总路线、动位应用程序进行优化,采用双重独立总路线、动态执行等技术。态执行等技术。Pentium 处理器新增加增强音频、视频和处理器新增加增强音频、视频和3D图图形效果的形效果的SSE(Streaming SIMD Extensions Instructions)指令集(最早称指令集(最早称KNI
19、),内含),内含70条条新指令,全面增强新指令,全面增强3D几何运算,增强了动画、几何运算,增强了动画、图像、音效、网络、语言识别功能图像、音效、网络、语言识别功能,1.互联网互联网SSE指令指令SSE指令集包括了指令集包括了70条指令,其中包含提高条指令,其中包含提高3D图形运算效图形运算效率的率的50条条SIMD(单指令多数据技术单指令多数据技术)浮点运算指令浮点运算指令、12条条MMX 整数运算增强指令整数运算增强指令、8条优化内存条优化内存中连续数据中连续数据块传输指令。块传输指令。与与P2时代的时代的MMX相比,相比,SSE也是在原来的处理器指令集也是在原来的处理器指令集的基础上添加
20、的扩展指令集,都是的基础上添加的扩展指令集,都是SIMD(单指令多数据单指令多数据)指令,不同的是他们处理的数据类型不同指令,不同的是他们处理的数据类型不同. MMX只能在只能在整数上支持整数上支持SIMD,而,而SSE指令增加了单精度浮点数的指令增加了单精度浮点数的SIMD支持支持.MMX可以进行同时对可以进行同时对2个个32位的整数操作,位的整数操作,而而SSE可以同时对可以同时对4个个32位的浮点数操作位的浮点数操作。MMX和和SSE的一个主要的区别是的一个主要的区别是MMX并没有定义新的寄存器,而并没有定义新的寄存器,而SSE定义了定义了8个全新的个全新的128位寄存器位寄存器,每个寄
21、存器可以同,每个寄存器可以同时存放时存放4个单精度浮点数个单精度浮点数(每个每个32位长位长),2.二级二级Cache 容量比容量比P2小,速度快,数据宽度小,速度快,数据宽度256位位3.Intel处理器序列号处理器序列号 奔腾奔腾 III 处理器在设计时考虑了处理器在设计时考虑了 Internet。为商。为商业应用程序设计的一个新功能就是业应用程序设计的一个新功能就是“处理器序列处理器序列号号”,一种嵌入新型奔腾,一种嵌入新型奔腾III 处理器的电子数字。处理器的电子数字。处理器序列号在制造的过程中集成在硅芯片内部,处理器序列号在制造的过程中集成在硅芯片内部,这是为了使商业软件在企业内更好
22、的管理财产和这是为了使商业软件在企业内更好的管理财产和网络。网络。2.6 2000.11 Intel推出推出P4。主频。主频1.4GHz,核心电压,核心电压1.75V,采用采用0.18 m铝布线工艺,铝布线工艺,L2为为256KB,引脚数,引脚数423,使用使用RDRAM(未流行)。(未流行)。2001.1.8 推出的推出的P4,主频,主频2.0GHz,核心电压,核心电压1.45V,采用采用0.13 m铜布线工艺,铜布线工艺,L2为为512KB,引脚数,引脚数478,采用采用DDRAM(184PIN)。)。SDRAM(168PIN)已推出已推出3.5GHz的的P4。2.7.1基本结构寄存器基本
23、结构寄存器32位微处理器中除了包含位微处理器中除了包含8位和位和16位寄存器外,还引入了位寄存器外,还引入了若干若干32位寄存器。位寄存器。80386及其后继机型的可见寄存器组及其后继机型的可见寄存器组如下图所示。如下图所示。通用寄存器通用寄存器32位位x86CPU的的32位通用寄存器有位通用寄存器有8个,分别是个,分别是EAX、 EBX、 ECX 、EDX、 ESI、 EDI、 EBP 、ESP.,它们是,它们是8086/8088CPU中中16位寄存器位寄存器AX 、BX 、CX 、DX、 SI 、DI、 BP、 SP的扩展,这些的扩展,这些32位的寄存器可以用来保存数据、传送位的寄存器可以
24、用来保存数据、传送数据、保存算术运算和逻辑运算的结果,并且所有数据、保存算术运算和逻辑运算的结果,并且所有32位的通位的通用寄存器都可以用于存放地址,在基址、变址寻址方式中使用寄存器都可以用于存放地址,在基址、变址寻址方式中使用。另外在专用特性上,和原用。另外在专用特性上,和原16位寄存器的专用特性上是一位寄存器的专用特性上是一致的,如致的,如EAX专用于乘除法和专用于乘除法和I/O指令。指令。ECX具有循环计数特具有循环计数特性,性,ESI 和和EDI作为串处理指令专用的地址寄存器等。作为串处理指令专用的地址寄存器等。AH AX AL BH BX BLCH CX CL DH DX DLSPB
25、PDISIIPFLAGSEAXEBXECXEDXESPEBPEDIESI32位寄存器名称16位寄存器名称名称累加器基址计数寄存器数据寄存器堆栈指针基址指针目的变址寄存器源变址寄存器指令指针标志寄存器EIPEFLAGSCSDSESSSFSGS代码段段寄存器数据段段寄存器附加段段寄存器堆栈段段寄存器附加段段寄存器附加段段寄存器1. 通用寄存器通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中。(1)数据寄存器:有4个16位的寄存器,其典型功能归纳如下:AX:累加器,用于完成各类运算和传送、移位等操作;BX:基址寄存器,在间接寻址中用于存放基地址;CX:计数寄存器,用于在循环或串
26、操作指令中存放计数值;DX:数据寄存器,在间接寻址的I/O指令中存放。 此外,还可将每个16位的寄存器分成独立的两个8位寄存器来使用,即AH、BH、CH、DH和AL、BL、CL、DL两组。16位数据寄存器主要用于存放常用数据,也可存放地址,而8位寄存器只能用于存放数据。32位的数据寄存器EAX,EBX,ECX,EDX,(2)指针与变址寄存器:8086的指针寄存器和变址寄存器都是16位寄存器,一般用来存放偏移地址,4个寄存器的功能如下:SP:堆栈指针寄存器,保存位于当前堆栈段中的数据,其内容为栈顶的偏移地址。BP:基址指针寄存器,在访问内存时存放内存单元的偏移地址,或用来存放位于堆栈段中的一个数
27、据区基址的偏移地址。SI:源变址寄存器,用来存放源操作数的偏移地址。 DI:目的变址寄存器,用来存放目的操作数的偏移地址。32位寄存器ESP,EBP,ESI,EDI。段寄存器(可见,不可见)段寄存器(可见,不可见)除了原有的除了原有的CS 、DS、 ES 、SS外,外,32位微处理器中还增加了位微处理器中还增加了2个段寄存个段寄存器器FS 和和 GS,也属于附加的数据段。,也属于附加的数据段。程序能访问程序能访问6个不同的段。内存单元个不同的段。内存单元的逻辑地址仍采用的逻辑地址仍采用段地址:偏移地址段地址:偏移地址的形式。但是在的形式。但是在保护模式保护模式下,段寄存下,段寄存器的内容不再是
28、段值,而是在系统中器的内容不再是段值,而是在系统中能够查找到段的一个能够查找到段的一个6个段描述符寄个段描述符寄存器(存器(64位)。位)。实地址方式8086/8088 CPU只能工作在实地址模式下,这时DOS应用程序占用了整个系统资源。在实地址模式下,只能对1MB的内存空间进行寻址。保护虚地址方式在80286 CPU 中增加了一种保护模式。在保护模式下,CPU 可以同时处理多个程序,每个程序各自分开,在自己的空间中运行,这时即使某个程序有缺陷,最多也只是损坏自己,而不会影响到整个系统。虚拟86模式 :多任务环境下这种模式使CPU可以重复而且迅速在V86模式和保护模式之间进行转换。CS:DS:
29、ES:SS:FS:GS:段选择符段选择符段寄存器(段寄存器(16位)位)段描述符段描述符段描述符段描述符段描述符表段描述符表索引值索引值访问控制访问控制 界限界限段基址段基址段描述符(段描述符(64位)位)存储段存储段物理存储器物理存储器CS、DS、SS、ES、FS和和GS寄存器存放每个当前段的选择符寄存器存放每个当前段的选择符 15 0 63 0CSDSSSESFSGS段寄存器段寄存器段描述符寄存器段描述符寄存器专用寄存器专用寄存器32位微处理器中的位微处理器中的EIP和和EFLAGS是是16位指令指针寄存位指令指针寄存器器IP和标志寄存器和标志寄存器FLAGS的扩展。的扩展。EFLAGS是
30、在是在16位位FLAGS的基础上扩展了的基础上扩展了8个控制标志位和个控制标志位和4个状态标志位,个状态标志位,其他标志位的位置和意义与其他标志位的位置和意义与16位中的相同。见下图。位中的相同。见下图。指令指针寄存器指令指针寄存器EIP32位的寄存器,它的低位的寄存器,它的低16位称为位称为IP ,EIP中的内容是下中的内容是下一条要取入一条要取入CPU的指令在内存中的偏移地址,当一个程的指令在内存中的偏移地址,当一个程序开始运行时,系统把序开始运行时,系统把EIP清零,每取入一条指令清零,每取入一条指令,EIP自动增加取入自动增加取入CPU的字节数目的字节数目CF01234567891PF
31、0AF0ZFSFTFIFDF101112131415161718192021OFIO P LNT0RFVMACVIFVIPID0000000000313. 标志寄存器标志寄存器14个标志个标志 3119 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0EFLAGS FLAGSCFPFAFZFSFTFIFDFOFIOPLNTRFVMAC状态标志位(状态标志位(6个):个):CF、PF、AF、ZF、SF、OF,表,表示指令执行结果的特征状态示指令执行结果的特征状态控制标志位(控制标志位(8个):个):IF、DF、TF、AC、VM、RF、NT、IOPL,用
32、来控制,用来控制CPU的操作的操作 AF:辅助进位标志 CF:进位标志PF:奇偶标志SF:符号标志ZF:零标志DF:方向标志(地址增减) IF:中断允许标志 OF:溢出标志 TF:陷阱标志 (调试单步中断)低低16位的含义与位的含义与8086的的FLAGES基本相同基本相同 AC对准标志位。若对准标志位。若AC=1,且,且CR0中中AM=1时,则进行字、双字、时,则进行字、双字、4字的对准检查,发现访问存储器操作数未按边界对准,则产生字的对准检查,发现访问存储器操作数未按边界对准,则产生 异异常中断常中断17错误;错误;AC=0时,不进行对准检查时,不进行对准检查 VM虚拟虚拟8086方式标志
33、位。保护模式下方式标志位。保护模式下VM为为1时,转换到虚拟时,转换到虚拟8086工作方式;当工作方式;当VM为为0时,时,80486返回保护方式。在实地址方式返回保护方式。在实地址方式下,下,VM位无效位无效 RF恢复标志位。与调试寄存器的代码断点结合使用,以保证不恢复标志位。与调试寄存器的代码断点结合使用,以保证不重复使用断点。用于重复使用断点。用于DEBUG调试,每执行完一条指令,使调试,每执行完一条指令,使RF复位;复位;而而RF置置1时,即便遇到断点或调试故障均被忽略时,即便遇到断点或调试故障均被忽略 NT任务嵌套标志位。表示当前任务是否嵌套在另一任务内。有任务嵌套标志位。表示当前任
34、务是否嵌套在另一任务内。有嵌套时嵌套时NT=1;否则;否则=0。只用于保护模式。只用于保护模式 IOPLI/O特权级标志位。只用于保护模式,规定特权级标志位。只用于保护模式,规定I/O操作的级别操作的级别(03) 虚拟中断允许标志位虚拟中断允许标志位VIF(Virtual IF):VIF=1表示表示允许虚拟允许虚拟8086模式或允许保护模式虚拟中断。虚模式或允许保护模式虚拟中断。虚拟中断标志是所有中断标志的虚拟映像。拟中断标志是所有中断标志的虚拟映像。虚拟中断挂起标志虚拟中断挂起标志VIP(Virtual IP):当允许虚拟:当允许虚拟8086方式扩充或允许保护模式虚拟中断时,该位方式扩充或允
35、许保护模式虚拟中断时,该位指示虚拟中断是否挂起。当指示虚拟中断是否挂起。当VIF=0时,时,VIP强制强制为为0,否则为,否则为1。标识标志标识标志ID:其功能是测试微处理器是否支持:其功能是测试微处理器是否支持CPU标识指令标识指令CPUID。CPUID的作用是给软件的作用是给软件提供提供提供提供Intel系列机型号、软件在微处理器上的系列机型号、软件在微处理器上的执行步骤等信息。执行步骤等信息。2.7.2系统级寄存器系统级寄存器1. 4个系统地址寄存器和个系统地址寄存器和5个控制寄存器个控制寄存器从从80386开始,在开始,在CPU中设置了中设置了4个系统地址寄存个系统地址寄存器,它们分别
36、是全局描述符表寄存器器,它们分别是全局描述符表寄存器GDTR、中断描述符表寄存器中断描述符表寄存器IDTR、局部描述符表寄、局部描述符表寄存器存器LDTR和任务寄存器和任务寄存器TR。其中。其中GDTR和和IDTR称为系统地址寄存器,称为系统地址寄存器,LDTR和和TR称为称为系统段寄存器。系统段寄存器。这些寄存器只在保护模式下使这些寄存器只在保护模式下使用用。GDTR和和IDTR必须在转入保护模式之前进行初必须在转入保护模式之前进行初始值设定,这两个寄存器在实地址模式下可以始值设定,这两个寄存器在实地址模式下可以访问。访问。LDTR和和TR只能在保护模式下使用。只能在保护模式下使用。全局描述
37、符表全局描述符表GDT、局部描述符表、局部描述符表LDT和中断描述符表和中断描述符表IDT等都是保护等都是保护方式下非常重要的方式下非常重要的特殊段特殊段,它们包含,它们包含有为段机制所用的重要表格。为了方有为段机制所用的重要表格。为了方便快速地定位这些段,处理器采用一便快速地定位这些段,处理器采用一些特殊的寄存器保存这些段的些特殊的寄存器保存这些段的基地址基地址和段界限和段界限。我们把这些特殊的寄存器。我们把这些特殊的寄存器称为系统地址寄存器。称为系统地址寄存器。全局描述符表寄存器全局描述符表寄存器GDTR:是一个:是一个48位位的寄存器,用来存放全局描述符表的寄存器,用来存放全局描述符表(
38、GDT)的)的32位线性基地址和位线性基地址和16位界限位界限值。值。中断描述符表寄存器中断描述符表寄存器IDTR:是一个:是一个48位的位的寄存器,用来存放中断描述符表寄存器,用来存放中断描述符表(IDT)的的32位线性基地址和位线性基地址和16位界限值。位界限值。局部描述符表寄存器局部描述符表寄存器LDTR:是一个:是一个16位的位的寄存器,用来存放局部描述符表(寄存器,用来存放局部描述符表(LDT)的段选择字。的段选择字。任务寄存器任务寄存器TR:是一个:是一个16位的寄存器,用位的寄存器,用来存放任务状态段表(来存放任务状态段表(TSS)的段选择字。)的段选择字。2.2.控制寄存器控制
39、寄存器3232位微处理器为了控制管理的需要,配备位微处理器为了控制管理的需要,配备了控制寄存器。在了控制寄存器。在8038680386中配备了中配备了3 3个个3232位位的控制寄存器的控制寄存器(CR0,CR2,CR3)(CR0,CR2,CR3),发展到,发展到PentiumPentium微处理器时,就有微处理器时,就有5 5个控制寄存器个控制寄存器(CR0CR4)(CR0CR4),不过,控制寄存器中的一些,不过,控制寄存器中的一些位被重新定义了。这些控制寄存器中保存位被重新定义了。这些控制寄存器中保存着全局性的和任务无关的着全局性的和任务无关的机器状态机器状态,供应,供应用程序读取,而写这
40、些控制寄存器的操作用程序读取,而写这些控制寄存器的操作被大多数系统禁止。被大多数系统禁止。5 5个控制寄存器,示意如下图。个控制寄存器,示意如下图。CR401234567310123431VMEPVITSDDEPSE0MCE缺省为缺省为0PWTPCD页目录基地址寄存器页目录基地址寄存器1211012345161731保留保留页故障线性地址寄存器页故障线性地址寄存器183029PEMPEMTSETNEWPAMNWCDPGCR3CR1CR2CR0PEPE:保护模式允许位,:保护模式允许位,当当PE=1PE=1时表示启动系时表示启动系统后进入保护模式;统后进入保护模式;PE=0PE=0表示实地址模式
41、。表示实地址模式。MPMP:浮点协处理器监控位。:浮点协处理器监控位。 MP=1MP=1表示有协处理器在工作,表示有协处理器在工作,MP=0MP=0表示协处理器未工作。表示协处理器未工作。EMEM:模拟浮点协处理器位。:模拟浮点协处理器位。EM=1EM=1,表示用软件仿真协处理,表示用软件仿真协处理器,即没有配备浮点部件。器,即没有配备浮点部件。TSTS:任务切换位。每次任务切换的时候,:任务切换位。每次任务切换的时候,微处理器都将该位置微处理器都将该位置1 1。CLTSCLTS指令将该位指令将该位置置0 0。在解释浮点算术运算指令时要测试。在解释浮点算术运算指令时要测试该位。该位。ETET:
42、处理器扩展类型位。:处理器扩展类型位。ET=1ET=1表示系统中配置了表示系统中配置了8038780387数值协处理器,使数值协处理器,使用用3232位协处理器协议,位协处理器协议,ET=0ET=0,表示系统中配置,表示系统中配置8028780287数值协处理器,使数值协处理器,使用用1616位协处理器协议。在位协处理器协议。在PentiumPentium中这位保留。中这位保留。EM=1EM=1时时ETET位失效。位失效。NENE:数据异常中断控制位。:数据异常中断控制位。NE=1NE=1表示执行浮点运算指令时发生故障,产生表示执行浮点运算指令时发生故障,产生异常中断异常中断1616。NE=0
43、NE=0同同MS DOSMS DOS系统中以前所用的所有协处理器系统中以前所用的所有协处理器的控制之间保持兼容。的控制之间保持兼容。WPWP:写保护控制位。:写保护控制位。WP=1WP=1表示表示禁止来自管理程序级的写操作写表示表示禁止来自管理程序级的写操作写 到用户级的页面上。到用户级的页面上。WP=0WP=0通过管理进程可以对用户级的只读页面进通过管理进程可以对用户级的只读页面进行写操作。行写操作。AM:定位屏蔽控制位。:定位屏蔽控制位。AM=1时,时,EFLAGS中的中的AC位有效,要进行定位有效,要进行定位检查。位检查。AM=0时,时,AC位无效,禁止对准校验。位无效,禁止对准校验。N
44、W:不写贯穿位。:不写贯穿位。NW=1禁止通写禁止通写CACHE(不写入主存)。(不写入主存)。NW=0允许允许CACHE变成通写方式(同时写变成通写方式(同时写 入主存)。入主存)。CD:高速缓存禁止位。:高速缓存禁止位。CD=1表示禁止填充高速缓存,不命中发生表示禁止填充高速缓存,不命中发生也不允许填充高速缓存。也不允许填充高速缓存。CD=0表示允许填充高速缓存。表示允许填充高速缓存。PG:页式管理使能位。:页式管理使能位。PG=1表示允许存储分页,否则禁止存储分页。表示允许存储分页,否则禁止存储分页。CR0:机器状态字:机器状态字. .CR0的值在系统复位的时候,初的值在系统复位的时候,
45、初始值为始值为60000010H。CR1:保留控制寄存器,没有定义。:保留控制寄存器,没有定义。CR2:页故:页故 障线性地址寄存器。障线性地址寄存器。其中存放的是一个其中存放的是一个32位的线性地址,在分页操作期间,位的线性地址,在分页操作期间,如果出现异常,则产生引起这次异常事故如果出现异常,则产生引起这次异常事故之前访问页之前访问页的全的全32位线性地址保存在位线性地址保存在CR2中。只有中。只有CR0的的PG=1时,时,CR2才有效。才有效。CR3:页目录基址寄存器。:页目录基址寄存器。20位保存页目录表的物理基地址,因为位保存页目录表的物理基地址,因为Pentium的页的页目录表是按
46、页排列的。目录表是按页排列的。PWT:页面写贯通。:页面写贯通。PWT=1表示对当前所访问的页表示对当前所访问的页实现通写。实现通写。PWT=0则实现写回。则实现写回。PCD:禁止:禁止CACHE。PCD=1表示不能对页面目录进表示不能对页面目录进行高速缓冲操作。行高速缓冲操作。PCD=0则允许进行高速缓冲操作。则允许进行高速缓冲操作。CR401234567310123431VMEPVITSDDEPSE0MCE缺省为缺省为0PWTPCD页目录基地址寄存器页目录基地址寄存器1211012345161731保留保留页故障线性地址寄存器页故障线性地址寄存器183029PEMPEMTSETNEWPAM
47、NWCDPGCR3CR1CR2CR0VME:虚拟:虚拟8086方式扩充。方式扩充。VME=1允许虚拟允许虚拟8086方式扩充,方式扩充,VME=0禁止虚拟禁止虚拟8086方式扩充。方式扩充。PVI:保护模式虚拟中断。:保护模式虚拟中断。PVI=1允许保护模式虚拟中断,允许保护模式虚拟中断,PVI=0禁止保护模式虚拟中断。禁止保护模式虚拟中断。TSD:禁止定时标志。:禁止定时标志。TSD=1且当前特权级不为且当前特权级不为0时,禁止时,禁止RDTSC指令(读时间标志计数器指令)且执行这一指令(读时间标志计数器指令)且执行这一指令时将产生故障。指令时将产生故障。TSD=0表示在任何特权级上都允许表
48、示在任何特权级上都允许RDTSC指指令执行。令执行。DE:调试扩充位。:调试扩充位。DE=1表示允许调试扩充。表示允许调试扩充。DE=0禁止调试扩充。实际上该位控禁止调试扩充。实际上该位控制是否支持制是否支持I/O断点。断点。PSE:页大小扩展位。PSE=1允许使用4MB的页面。PSE=0禁止使用4MB的页面。MCE:允许机器检查。MCE=1允许机器检查异常。MCE=0禁止机器检查异常。2.7.3调试寄存器32位微处理器总共支持8个32位的可编程调试寄存器,命名为DR0DR7。其中DR0DR3为断点地址寄存器。DR4,DR5保留。DR6为调试状态寄存器,保存断点状态;DR7为调试控制寄存器,用
49、于控制设置断点 2.8 Pentium微处理器的引脚信号和功能微处理器的引脚信号和功能 P5的引脚的引脚分布分布168个信号引脚个信号引脚50个个Vcc引脚引脚5V电源电源49个个Vss引脚引脚接地接地6个个NC引脚引脚,必须保持在非连接状态必须保持在非连接状态 Socket 4插座插座ZIF插座插座273引脚引脚ADS#地址状态,低电平有效地址状态,低电平有效M/IO# 存储器存储器/IO指示,有效电平指示,有效电平1/0A31A3 地址线地址线和字节选通信号和字节选通信号BE7#BE0#一起定义被访一起定义被访问的存储器或问的存储器或I/O的物理区域,实模式下只的物理区域,实模式下只有低有
50、低17位地址线位地址线A19A3有效,保护模式下有效,保护模式下全部全部29条地址线都有效,条地址线都有效,无论实模式还是保无论实模式还是保护模式,均具有护模式,均具有64KB独立的独立的I/O地址空间,地址空间,在寻址在寻址I/O设备时,仅需使用地址线设备时,仅需使用地址线A15A3和和BE4#BE0#FA20M# 地址第地址第20位屏蔽位屏蔽完成屏蔽地址线第完成屏蔽地址线第20位的功能位的功能若若A20M#为为0,则在访问内部高速缓存或外,则在访问内部高速缓存或外部存储器时部存储器时地址线第地址线第20位被屏蔽位被屏蔽实模式时须置低实模式时须置低A20M#,保护模式下该,保护模式下该信号信
51、号未定义未定义FBE7#BE0# 字节选通信号字节选通信号用于在当前的传送操作中选通哪几个字节用于在当前的传送操作中选通哪几个字节FD63D0 64条数据线条数据线D7D0定义数据总线的最低字节,定义数据总线的最低字节,D63D56定义数据总线的最高字节定义数据总线的最高字节在一个总线周期内,经过数据总线可以传送字节、在一个总线周期内,经过数据总线可以传送字节、字、双字、四字,字、双字、四字,Pentium通过激活相应的通过激活相应的BE?#来来做到这一点做到这一点例:当例:当BE7#BE0#为为11110000B时,将产生何种数据传送类型,时,将产生何种数据传送类型,数据传送经过那些数据线?
52、数据传送经过那些数据线?双字经过双字经过D31D0传送传送FDP7DP0 数据奇偶校验信号数据奇偶校验信号FPCHK# 奇偶校验状态信号奇偶校验状态信号Pentium为每个数据字节加入校验码为每个数据字节加入校验码在写总线周期中,为在写总线周期中,为D0D63上每一字节产生一位偶校上每一字节产生一位偶校验码,通过验码,通过DP7DP0输出输出在读总线周期中,在读总线周期中, D0D63及及DP7DP0上的数据按字节上的数据按字节进行对应的偶校验,如出现错误,进行对应的偶校验,如出现错误,PCHK#信号将逻信号将逻辑辑0送至外部电路送至外部电路FPEN# 校验允许信号校验允许信号用于确定发生校验
53、错误时是否进行异常处理用于确定发生校验错误时是否进行异常处理如如PEN#为低电平,则为低电平,则Pentium自动执行异常处理自动执行异常处理FAP 地址校验信号地址校验信号Pentium可以对地址信号进行校验,只要地址在可以对地址信号进行校验,只要地址在A3A31信号线上输出,就会产生偶校验位在信号线上输出,就会产生偶校验位在AP引脚上输出,引脚上输出,如果在查询周期在地址总线如果在查询周期在地址总线上检测到错误,上检测到错误,APCHK#信号置为逻辑信号置为逻辑0FW/R#读读/写控制信号写控制信号写(高电平),读(低电平)写(高电平),读(低电平)FD/C#数据数据/代码控制信号代码控制
54、信号传送数据(高电平),传送代码(低电平)传送数据(高电平),传送代码(低电平)F M/IO#存储器存储器/IO选择信号选择信号访问存储器(高电平),访问访问存储器(高电平),访问I/O端口(低端口(低电平)电平)例:如果例:如果M/IO#、D/C#、W/R#分分别为别为0 1 0,则产生何种类型的总,则产生何种类型的总线周期线周期I/O读(输入)总线周期读(输入)总线周期F NA# 下一地址请求下一地址请求当其为当其为0时激活地址流水线方式时激活地址流水线方式F BRDY# 突发就绪信号突发就绪信号通知处理器外部系统已从数据总线连接中取得数据通知处理器外部系统已从数据总线连接中取得数据F I
55、NTR 中断请求中断请求Pentium在每条指令开始的时刻采样这个信号,如在每条指令开始的时刻采样这个信号,如INTR为高电平,则表明出现了中断请求为高电平,则表明出现了中断请求当一个有效的中断请求被识别后,当一个有效的中断请求被识别后, Pentium将通知外部将通知外部电路并启动一个中断响应总线周期时序。电路并启动一个中断响应总线周期时序。对于中断响应总线周期,对于中断响应总线周期, M/IO#、D/C#、W/R#分别为分别为0 0 0,以此告知相应的外部设备它的中断请求已经得,以此告知相应的外部设备它的中断请求已经得到同意到同意这就完成了中断请求这就完成了中断请求/响应的握手过程,响应的
56、握手过程,从此时开始程序控制转移到中断服务程序,从此时开始程序控制转移到中断服务程序, INTR是是可屏蔽的,可以通过标志寄存器中的中断标志位可屏蔽的,可以通过标志寄存器中的中断标志位IF予予以允许或禁止。以允许或禁止。FNMI 非屏蔽中断请求非屏蔽中断请求只要只要NMI输入端上出现由输入端上出现由0到到1的跳变,一个中断服务的跳变,一个中断服务请求就被锁存在请求就被锁存在Pentium中,与中,与IF标志的状态无关标志的状态无关FRESET 复位复位 进行硬件复位进行硬件复位FINIT 初始化初始化 对处理器进行初始化对处理器进行初始化FHOLD 总线保持请求总线保持请求FHLDA 总线保持
57、响应总线保持响应 (如(如DMA控制器)控制器)FBOFF# 总线占用输入信号总线占用输入信号与与HOLD的区别:的区别:1. 总线占用操作在当前时钟周期结束时开始,而不是在总线占用操作在当前时钟周期结束时开始,而不是在当前总线周期结束时开始当前总线周期结束时开始2. 无需响应无需响应外部总线控制器可以使用该信号快速接管系统总线外部总线控制器可以使用该信号快速接管系统总线的控制权的控制权FBREQ 总线请求输出信号总线请求输出信号向外部系统表明向外部系统表明Pentium处理器内部产生处理器内部产生了一个总线请求了一个总线请求FKEN# 高速缓存允许输入信号高速缓存允许输入信号存储器子系统通过
58、该信号通知存储器子系统通过该信号通知Pentium在在该总线周期中是否需要对该总线周期中是否需要对Cache操作操作KEN#置为置为0,则在存储器读总线周期中,则在存储器读总线周期中,总线上的数据会复制到芯片内的总线上的数据会复制到芯片内的Cache中中FFLUSH# 高速缓存擦除信号高速缓存擦除信号外电路使用该信号擦除芯片内的高速缓存外电路使用该信号擦除芯片内的高速缓存FAHOLD地址保持信号地址保持信号FEADS# 外部地址有效信号外部地址有效信号用于高速缓存无效周期中,该周期用来处理用于高速缓存无效周期中,该周期用来处理Cache与主存储器之间的数据一致性。与主存储器之间的数据一致性。F
59、CACHE# 高速缓存可用性信号高速缓存可用性信号读:当从存储器所读数据可以送入读:当从存储器所读数据可以送入Cache时,时,该信号输出逻辑该信号输出逻辑0,表明该操作是缓存式读,表明该操作是缓存式读操作操作写:在写周期中该信号输出逻辑写:在写周期中该信号输出逻辑0,表明本操,表明本操作是对作是对Cache中被修改了的数据执行回写操中被修改了的数据执行回写操作作2.9 Pentium微处理器的总线周期微处理器的总线周期总线周期总线周期微处理器访问一次存储器或微处理器访问一次存储器或I/O设设备所需要的整个时间备所需要的整个时间一个处理器一个处理器时钟周期时钟周期也称为一个也称为一个T状态状态
60、每个总线周期包含两个每个总线周期包含两个T状态,分别记做状态,分别记做T1、T2。在在T1期间期间,处理器在地址总线上输出被访问存储,处理器在地址总线上输出被访问存储单元的地址、总线周期指示码和有关控制信号,单元的地址、总线周期指示码和有关控制信号,在写周期的情况下被写数据在在写周期的情况下被写数据在T1期间输出在数期间输出在数据总线上据总线上在在T2期间期间,外部设备从数据总线上接受数据,或,外部设备从数据总线上接受数据,或在读周期的情况下把数据放置在数据总线上。在读周期的情况下把数据放置在数据总线上。非流水线总线周期非流水线总线周期非流水线读写总线周期非流水线读写总线周期突发式总线周期突发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房地产项目室内外装饰设计施工监理合同
- 2025年中小企业融资连带担保合同范本
- 2025年度图书馆图书采购与可持续发展合同
- 2025年风力发电场电线电缆配套供应协议
- 2025版历史遗迹拆除与文化遗产保护合同范本
- 2025年度高新技术项目融资服务合同范本二
- 2025年度塑料包装袋环保回收利用采购合同
- 2025版新型节能电器贴牌生产销售合同
- 2025年二层商铺楼房租赁合同及商业地产市场调研与分析服务协议
- 2025年度健身房室内涂料施工协议
- 高产小麦品种介绍
- HemiView森林冠层图像分析系统
- 创新方法教程题库题库(449道)
- 建设工程消防验收评定规则
- 山东省临沂市兰山区2022-2023学年小升初数学自主招生备考卷含答案
- 电气设备交接试验方案
- D500-D505 2016年合订本防雷与接地图集
- 北邮社电机拖动与调速技术教学包课后题解
- 学校门卫岗位职责及管理制度
- JJG 1105-2015氨气检测仪
- GB/T 17421.7-2016机床检验通则第7部分:回转轴线的几何精度
评论
0/150
提交评论