




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 微处置器和指令系统微处置器和指令系统重点:重点:1.Intel1.Intel系列微处置器的演化历史;系列微处置器的演化历史;2.Pentium2.Pentium的内部根本存放器功能及运的内部根本存放器功能及运用;用;3.3.操作数寻址方式;操作数寻址方式;4.4.通用整数指令通用整数指令第二章第二章 微处置器和指令系统微处置器和指令系统2.1 Intel2.1 Intel系列微处置器概述系列微处置器概述2.2 8086/80882.2 8086/8088微处置器微处置器2.3 Pentium2.3 Pentium微处置器微处置器2.4 Pentium2.4 Pentium微处置器
2、指令系统微处置器指令系统2.1.1 8086/8088 2.1.1 8086/8088 微处置器微处置器2.1.2 80486 2.1.2 80486 微处置器微处置器2.1.3 Pentium 2.1.3 Pentium 微处置器微处置器(80586)(80586)2.1.4 Pentium Pro 2.1.4 Pentium Pro 微处置器微处置器2.1.5 Pentium 2.1.5 Pentium 微处置器微处置器2.1.6 Pentium 2.1.6 Pentium 微处置器微处置器2.1.7 Pentium 4 2.1.7 Pentium 4 微处置器微处置器2.1 Intel2
3、.1 Intel系列微处置器概述系列微处置器概述2.1.1 8086/8088 2.1.1 8086/8088 微处置器微处置器 8086 8086是是19781978年推出的全年推出的全1616位微处置器位微处置器, 8088, 8088是是19781978年推出的准年推出的准1616位微处置器。二者除外数据总线位数位微处置器。二者除外数据总线位数80868086为为1616位,位,80888088为为8 8位及与此相关的部分逻辑稍有差别外位及与此相关的部分逻辑稍有差别外, ,内部构造和根本性能一样内部构造和根本性能一样, ,指令系统完全兼容。指令系统完全兼容。 在在8086/8088808
4、6/8088的设计中,引入了两个重要的构造概念:的设计中,引入了两个重要的构造概念: 指令流水线指令流水线 存储器分段存储器分段 这两个概念在以后晋级的这两个概念在以后晋级的IntelIntel系列微处置器中不断被沿用和开系列微处置器中不断被沿用和开展。正是这两个概念的引入,使展。正是这两个概念的引入,使8086/80888086/8088比原来的比原来的8 8位位MPUMPU在运转速在运转速度、处置才干和对存储空间的访问等性能方面有很大提高。度、处置才干和对存储空间的访问等性能方面有很大提高。2.1.2 804862.1.2 80486微处置器微处置器 1. 1.内部存放器的容量都扩展到了内
5、部存放器的容量都扩展到了3232位或以上,具有全位或以上,具有全3232 位数据处置才干,并可进展位数据处置才干,并可进展6464位的数据运算。位的数据运算。 2. 2.片内存储管理部件可实现段页式存储管理片内存储管理部件可实现段页式存储管理, ,比比8028680286可可 提供更大的虚拟存储空间和物理存储空间。提供更大的虚拟存储空间和物理存储空间。 3. 3.新增了一种维护方式下的任务方式新增了一种维护方式下的任务方式, ,即虚拟即虚拟80868086方式。方式。 4. 4.指令流水线添加到了指令流水线添加到了6 6级。级。 5. 5.提供了提供了3232位外部总线接口,最大数据传输速率显
6、著提位外部总线接口,最大数据传输速率显著提 高。高。 80486 80486是继是继8038680386之后推出的第二代之后推出的第二代3232位高性能微处置器位高性能微处置器, ,它以提高性能和面向多处置器系统为主要目的。它以提高性能和面向多处置器系统为主要目的。8048680486承继了承继了8038680386的各种优点,表如今以下几方面:的各种优点,表如今以下几方面:2.1.2 804862.1.2 80486微处置器微处置器 1. 1.片内集成了一个浮点运算单元片内集成了一个浮点运算单元FPU FPU 。 2. 2.内含一个内含一个8KB8KB的数据与指令合用的的数据与指令合用的Ca
7、cheCache。 3. 3.采用采用RISCRISC技术。使芯片内的不规那么控制部分减少,技术。使芯片内的不规那么控制部分减少,同时常用根本指令采用硬件逻辑控制执行,使根本指令可以同时常用根本指令采用硬件逻辑控制执行,使根本指令可以用一个时钟周期完成。用一个时钟周期完成。 4. 4.采用一种突发总线采用一种突发总线Burst BusBurst Bus的技术。使获得一的技术。使获得一个地址后,与该地址相关的一组数据可以延续输入个地址后,与该地址相关的一组数据可以延续输入/ /输出输出, ,有有效地处理了微处置器同内存储器之间的数据交换问题。效地处理了微处置器同内存储器之间的数据交换问题。 5.
8、 5.面向多处置器构造,添加了支持多机操作的指令。面向多处置器构造,添加了支持多机操作的指令。 除以上除以上8038680386、8048680486共有的特点之外,共有的特点之外,8048680486也采用了也采用了许多新技术:许多新技术: 2.1.3 Pentium2.1.3 Pentium微处置器微处置器8058680586 1. 1.采用超标量体系构造。采用超标量体系构造。 2. 2.内置的浮点运算部件采用超流内置的浮点运算部件采用超流水线技术。水线技术。 3. 3.添加了分支指令预测。添加了分支指令预测。 4. 4.内置了指令和数据两个独立的内置了指令和数据两个独立的超高速缓存器,防
9、止了预取指令和数超高速缓存器,防止了预取指令和数据能够发生的冲突。据能够发生的冲突。 Pentium Pentium是一种高性能的是一种高性能的3232位位微处置器。其对微处置器。其对8048680486作了以下作了以下艰苦改良:艰苦改良: 5. 5.采用采用6464位外部数据总线。位外部数据总线。 6. 6.引入了大型机中采用的引入了大型机中采用的内部错误检测、功能冗余检验内部错误检测、功能冗余检验和错误报告等自诊断功能。和错误报告等自诊断功能。 7. 7.进展了更多的可测性设计。进展了更多的可测性设计。 8. 8.提供了独特的性能监察功能,提供了独特的性能监察功能,以利于软、硬件产品的优化
10、和晋级。以利于软、硬件产品的优化和晋级。 9. 9.提供了灵敏的存储器页面管提供了灵敏的存储器页面管理。理。2.1.3 Pentium2.1.3 Pentium微处置器微处置器8058680586n精简指令集技术。精简指令集技术。n二级缓冲构造。二级缓冲构造。n乱序执行和预测执行技术。乱序执行和预测执行技术。n三级超标量和三级超标量和1414级超流水线构造。级超流水线构造。n存放器重命名技术存放器重命名技术 2.1.4 Pentium Pro2.1.4 Pentium Pro微处置器微处置器 简称简称P6P6,中文名为,中文名为“高能高能奔腾。在体系构造中采用奔腾。在体系构造中采用了许多新的思
11、想和新的技术:了许多新的思想和新的技术:2.1.5 Pentium 2.1.5 Pentium 微处置器微处置器 P6 P6级微处置器的第二代产品,从级微处置器的第二代产品,从系统构造角度看,主要采用了以下几系统构造角度看,主要采用了以下几种先进技术:种先进技术:n采用了由三种创新处置技巧结合的动态执行技术,采用了由三种创新处置技巧结合的动态执行技术,即:多分支预测、数据流分析和推测执行。即:多分支预测、数据流分析和推测执行。n双重独立总线技术双重独立总线技术DIB, Dual Independent BusDIB, Dual Independent Bus 多媒体加强技术多媒体加强技术MMX
12、MMX技术技术 采用单指令流多数据流采用单指令流多数据流SIMDSIMD技术技术 新添加了新添加了5757条功能强大的条功能强大的MMXMMX指令指令2.1.6 Pentium 2.1.6 Pentium 微处置器微处置器 Pentium Pentium 是第三代是第三代P6P6级微处级微处置器产品。与置器产品。与PentiumPentium相比相比, ,有如有如下改良:下改良:n前端总线的时钟频率为前端总线的时钟频率为100MHz 100MHz ( (采用采用0.18m0.18m新工艺的新工艺的Pentium Pentium ,其前端总线到达,其前端总线到达133MHz)133MHz)。n将
13、将256KB256KB的的L2 CacheL2 Cache集成到了芯片内。集成到了芯片内。n添加了添加了 70 70条流式单指令多数据扩展条流式单指令多数据扩展SSESSE指令。指令。n初次设置了处置器序列号初次设置了处置器序列号PSNPSN。2.1.7 Pentium 42.1.7 Pentium 4微处置器微处置器 1. 1.采用了超级管道技术,运用长采用了超级管道技术,运用长达达2020级的分支预测级的分支预测/ /恢复管道,而恢复管道,而P6P6只需只需1010级。级。 2. 2.它的简单算术逻辑单元它的简单算术逻辑单元(ALU) (ALU) 采用采用2 2倍的处置器倍的处置器中心频率
14、运转。中心频率运转。 3. 3.动态执行技术中的指令池能容下动态执行技术中的指令池能容下126126条指令。条指令。 4. 4.内含一个内含一个4KB4KB的分支目的缓冲。的分支目的缓冲。 5. 5.添加了由添加了由144144条新指令组成的条新指令组成的SSE2SSE2。 它是第一个非它是第一个非P6P6中心构造的全新中心构造的全新3232位微处置器,与位微处置器,与P6P6级微处置器相比,级微处置器相比,主要构造特点如下:主要构造特点如下:2.2 8086/80882.2 8086/8088微处置器微处置器内部构造内部构造指令流水线指令流水线存储器分段存储器分段 8086 8086是全是全
15、1616位微处置器,位微处置器,80888088是准是准1616位微处置器。二位微处置器。二者除了外数据总线位数及与此相关的部分逻辑稍有差别外,者除了外数据总线位数及与此相关的部分逻辑稍有差别外,内部构造和根本性能一样,指令系统完全兼容。内部构造和根本性能一样,指令系统完全兼容。 1.1.内部构造内部构造2.2 8086/80882.2 8086/8088微处置器微处置器20位位 ABEU控制电路控制电路总线总线控制电路控制电路通用存放器通用存放器累加器累加器基址存放器基址存放器计数存放器计数存放器数据存放器数据存放器堆栈指针堆栈指针基址指针基址指针目的变址目的变址源变址源变址指针存放器指针存
16、放器变址存放器变址存放器地址加法器地址加法器运算暂存器运算暂存器ALU标志存放器标志存放器指令指针指令指针内部暂存器内部暂存器指令队列指令队列总线接口单元总线接口单元(BIU)(BIU)执行单元执行单元(EU)(EU)外部总线外部总线8086/8088DB8088:8位位8086:16位位C CS S DSDSSSSSESESI IP P1 2 3 4 5 61 2 3 4 5 68 8位位80888086AX AH ALBX BH BLCX CH CLDX DH DL SPBPDISIALU DB1616位位担任全部指令的执行;担任全部指令的执行;向向BIU输出地址及结果数据;输出地址及结果
17、数据;对对Reg及及PSW进展管理。进展管理。2功能功能 EU Execution Unit 数据存放器:数据存放器:AX,BX,CX,DX (16位位) 8个通用存放器个通用存放器 变址存放器:变址存放器:SI,DI 算术逻辑运算部件算术逻辑运算部件ALU 16 位加法器,用于对存放器和指令操作数进展算术或位加法器,用于对存放器和指令操作数进展算术或逻辑运算逻辑运算. 标志存放器标志存放器PSW 9个标志位,其中个标志位,其中6个条件标志位用于存放结果形状个条件标志位用于存放结果形状. 运算存放器运算存放器 EU控制系统控制系统1组成组成AH,AL,BH,BL,CH,CL,DH,DL8位位指
18、示器:指示器: SP,BP接纳从接纳从BIU的指令队列中取来的指令代码,的指令队列中取来的指令代码,译码并向译码并向 EU 内各有关部分发出时序命令信号,内各有关部分发出时序命令信号,协调执行指令规定的操作。协调执行指令规定的操作。2功能功能 BIUBus Interface Unit代码段代码段Reg:CS 堆栈段堆栈段Reg:SS 数据段数据段Reg:DS 附加段附加段Reg:ES 1组成组成 指令指针存放器指令指针存放器IP下一条要取的指令在当前下一条要取的指令在当前 码段内的偏码段内的偏移量移量4个段存放器 指令队列指令队列Queue 20位地址加法器位地址加法器 总线控制逻辑总线控制
19、逻辑 内部通讯存放器内部通讯存放器 完成一切外部总线的操作,提供总线控制信号。完成一切外部总线的操作,提供总线控制信号。详细地完成:取指、指令排队、读写操作数、地址详细地完成:取指、指令排队、读写操作数、地址转换将两个转换将两个16位地址相加位地址相加 20位物理地址,位物理地址,总线控制。总线控制。3指令队列指令队列 BIU运用指令队列实现流水线操作。运用指令队列实现流水线操作。 当指令队列中有当指令队列中有2个或个或2个个1个以上的字节空间,且个以上的字节空间,且EU未恳求读写存储器,那么未恳求读写存储器,那么BIU顺序预取后续指令代码顺序预取后续指令代码 Queue。 1假设是运算操作:
20、操作数假设是运算操作:操作数 暂存器暂存器 ALU; 运算结果运算结果 经经“ALU总线总线 相应相应Reg、 并置并置PSW 。 2假设从外设取数:假设从外设取数:EU BIU 访问访问MEM 或或 I/O 内部通讯存放器内部通讯存放器 向向“ALU数据总线数据总线传传 送数据。送数据。 从从BIU指令队列中取指指令队列中取指 译码电路分析译码电路分析 相应控制命令相应控制命令 控制数据经过控制数据经过“ALU数据总线的流向:数据总线的流向:EU的任务过程的任务过程2.2.指令流水线指令流水线 指令队列的存在使指令队列的存在使EUEU和和BIUBIU并行任务并行任务, ,取指令和分析、取指令
21、和分析、执行指令操作可重叠进展,构成了两级指令流水线构造,执行指令操作可重叠进展,构成了两级指令流水线构造,减少了减少了CPUCPU等待时间,提高了等待时间,提高了CPUCPU的利用率,加快了整机的利用率,加快了整机运转速度,降低了对存储器存取速度的要求。运转速度,降低了对存储器存取速度的要求。取指令取指令1 1 取指令取指令2 2 取数据取数据1 1 取指令取指令3 3 存结果存结果1 1 取指令取指令4 4 取指令取指令5 5 等待等待 译码译码1 1 执行执行1 1 译码译码2 2 执行执行2 2 译码译码3 3 BIUBIUEUEU 8086/8088 8086/8088的指令的指令“
22、流水操作流水操作2.2 8086/80882.2 8086/8088微处置器微处置器取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌 将将1MB1MB的物理存储空的物理存储空间分成假设干个逻辑段间分成假设干个逻辑段, ,每段大小为每段大小为64KB64KB。 64KB30000H(段基址段基址) 段的起始单元地址段的起始单元地址叫段基址,存放在段存叫段基址,存放在段存放器中。经过放器中。经过4 4个段存个段存放器,放器,CPUCPU每次可同时每次可同时对对4 4个段进展寻址。个段进展寻址。3.3.存储器分段存储器分段2.2 808
23、6/80882.2 8086/8088微处置器微处置器内存内存 00000H00001H00002H00003HFFFFFH 分段方式不分段方式不独一,各段之间独一,各段之间可以延续、分别、可以延续、分别、部分重叠或完全部分重叠或完全重叠,这主要取重叠,这主要取决于对各个段存决于对各个段存放器的预置内容。放器的预置内容。2.2 8086/80882.2 8086/8088微处置器微处置器1000H2000H3100H3100H代码段代码段64KB堆栈段堆栈段64KB数据段与数据段与附加数据附加数据段重叠段重叠64KBCS10000H20000H31000HSSDSES1FFFFH2FFFFH4
24、0FFFH 存储器分段构造例如存储器分段构造例如 物理地址是物理地址是1MB1MB存储空存储空间中的某一单元地址,用间中的某一单元地址,用2020位地址码表示位地址码表示,CPU,CPU访问存储访问存储器时,地址总线上送出的就器时,地址总线上送出的就是物理地址。是物理地址。 逻辑地址在编程时采用,逻辑地址在编程时采用,由段基址和偏移地址组成,由段基址和偏移地址组成,两者均为两者均为1616位。位。内存内存20000H20A00H0A00H物理地址物理地址20A00H逻辑地址逻辑地址2000 物理地址和逻辑地址物理地址和逻辑地址2.2 8086/80882.2 8086/8088微处置器微处置器
25、逻辑地址与逻辑地址与2020位物理地址的变换关系:位物理地址的变换关系: 物理地址物理地址= =段基址段基址16+16+偏移地址偏移地址偏移地址偏移地址段基址段基址段基址段基址 0000 00002020位物理地址位物理地址逻辑地址逻辑地址15 0 15 0 15 0 15 0 左移四位左移四位19 019 0地址地址加法器加法器 逻辑地址与物理地址的变换逻辑地址与物理地址的变换2.2 8086/80882.2 8086/8088微处置器微处置器例:知例:知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址段有一操作数,其偏移地址=0204H,
26、 1)画出各段在内存中的分布画出各段在内存中的分布 2)指出各段首地址指出各段首地址 3)该操作数的物理地址该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:各段在内存中的分布右图所示。解:各段在内存中的分布右图所示。操作数的物理地址为:操作数的物理地址为: 250AH10H+0204H = 252A4H 2.3 Pentium 2.3 Pentium微处置器微处置器2.3.1 2.3.1 内部构造与外部引脚内部构造与外部引脚2.3.2 2.3.2 内部存放器内部存放器2.3.3 Pentium2.3.3 Pentium的四种任务方式的四种任务方式
27、 Pentium Pentium在构造上由如下功能部件组成:在构造上由如下功能部件组成: 整数执行单元整数执行单元 浮点单元浮点单元 指令指令CacheCache和数据和数据CacheCache 指令预取单元指令预取单元 指令译码单元指令译码单元 地址转换与管理单元地址转换与管理单元 总线接口单元总线接口单元 控制单元中心,又叫运算器控制单元中心,又叫运算器 这些功能部件除地址转换与管理单元与这些功能部件除地址转换与管理单元与80386/8048680386/80486坚持兼容外,其他都进展了重新设计。坚持兼容外,其他都进展了重新设计。 2.3.1 2.3.1 内部构造和外部引脚内部构造和外部
28、引脚1. 内部构造内部构造地址地址转换转换与与存储存储管理管理单元单元APICDP逻辑逻辑控制控制ROM浮点单元浮点单元8KB指令指令高速缓存高速缓存TLB预取预取地址地址指令预取单元指令预取单元指令译码单元指令译码单元总线总线单元单元8KB数据数据高速缓存高速缓存TLB控制单元控制单元地址生成地址生成U流水线流水线地址生成地址生成V流水线流水线整数存放器组整数存放器组ALUU流水线流水线ALUV流水线流水线控制控制存放器组存放器组加法加法除法除法乘法乘法桶形移位器桶形移位器控制控制指令指令指针指针分支检验分支检验与目的地址与目的地址32位位地址地址总线总线323232326464位数位数据总
29、线据总线数据数据控制控制控制控制64位位数据数据总线总线32位地位地址总线址总线分支目的分支目的缓冲器缓冲器32323280802.2.1 2.2.1 内部构造和外部引脚内部构造和外部引脚1)1)总线接口单元总线接口单元 主要用于管理访问外主要用于管理访问外部存储器和部存储器和 I/O I/O端口必端口必需的地址、数据和控制需的地址、数据和控制总线,完成预取指令、总线,完成预取指令、读读/ /写数据等总线操作。写数据等总线操作。2) 2) 整数执行单元整数执行单元 由由“U“U和和“V“V两条指两条指令流水线构成超标量流水令流水线构成超标量流水线构造,其中每条流水线线构造,其中每条流水线都有本
30、人的都有本人的ALUALU、 地址生地址生成逻辑和成逻辑和CacheCache接口。接口。3)3)预取缓冲单元预取缓冲单元 预取缓冲单元在总线预取缓冲单元在总线接口单元空闲时,担任接口单元空闲时,担任提早去内存或指令提早去内存或指令CacheCache预取指令。其指令预取预取指令。其指令预取缓冲器在前一条指令执缓冲器在前一条指令执行终了之前可以预取多行终了之前可以预取多达达9494个字节的指令代码。个字节的指令代码。4)4)指令译码单元指令译码单元 将预取的指令译成将预取的指令译成PentiumPentium可以执行的控制信号并送控可以执行的控制信号并送控制单元。对绝大多数指令来制单元。对绝大
31、多数指令来说说,Pentium,Pentium微处置器可以做微处置器可以做到每个时钟周期以并行方式到每个时钟周期以并行方式完成两条指令的译码操作。完成两条指令的译码操作。 5)5)控制单元控制单元 担任解释来自指令译码担任解释来自指令译码单元的指令字和控制单元的指令字和控制ROMROM的微代码。控制部件的输的微代码。控制部件的输出直接控制两条指令流水出直接控制两条指令流水线和浮点单元。线和浮点单元。 6)6)地址转换与存储管理单元地址转换与存储管理单元 Pentium Pentium的地址转换与存储的地址转换与存储管理单元与管理单元与80386/8048680386/80486坚持坚持完全兼容
32、,由分段和分页部完全兼容,由分段和分页部件组成。件组成。PentiumPentium除继续支持除继续支持4KB4KB大小的页面外,还允许运大小的页面外,还允许运用高达用高达4MB4MB的页面,从而减少的页面,从而减少了页面切换的频率,并加快了页面切换的频率,并加快了某些运用程序的执行。了某些运用程序的执行。 7)7)独立的指令独立的指令CacheCache和和 数据数据CacheCache Pentium Pentium片内有两个片内有两个8KB8KB的超高速缓存器,的超高速缓存器,一个是指令一个是指令CacheCache,一,一个是数据个是数据CacheCache。指令。指令和数据分别运用不
33、同的和数据分别运用不同的CacheCache,使,使PentiumPentium中数中数据和指令的存取减少了据和指令的存取减少了冲突,提高了性能。冲突,提高了性能。 8) 8) 浮点运算单元浮点运算单元2. Pentium2. Pentium的外部引脚的外部引脚Intel Pentium CPU写顺序写顺序控制控制总线总线地址总线地址总线 CLK PRDY R/SHLDA IBT IV IU 方式方式探针探针执行跟踪执行跟踪 TDITMS TRST RESET TCK TDO BUSCHKFRCMCSMI NMI IERR FREE IGNNESMIACT BREQHOLD BOFF INIT
34、 INTREWBEWB/WTFLUSHKENPWTPCDNA INVAPCHKPCHKPENW/RM/IOADSD/CSCYCLOCKCACHEBRDYAHOLDEADSHITHITMAP时钟时钟 初始化初始化 中断中断控制控制缓存缓存高速高速内部出错内部出错浮点错浮点错余检测余检测功能冗功能冗理方式理方式系统管系统管测试访问测试访问期定义期定义总线周总线周总线仲裁总线仲裁总线周期总线周期错错数据总线数据总线偶校验偶校验数据奇数据奇地址屏蔽地址屏蔽偶校验偶校验地址奇地址奇断断点点/ /性性能能检检测测A31A3BE7BE0A20MD63D0DP7DP0BT3BT0BP3BP2PM1/BP1PM
35、0/BP0A31A3与与BE0 BE7 构成构成32位地址位地址 BE0 BE7与与64位数据总线对应情况表位数据总线对应情况表 Pentium微处置器总线周期微处置器总线周期存储器写周期存储器写周期1 11 11 1存储器读周期存储器读周期0 01 11 1IntelIntel公司保管公司保管1 10 01 1微代码读周期微代码读周期0 00 01 1I/OI/O写周期写周期1 11 10 0I/OI/O读周期读周期0 01 10 0停机停机/ /暂停暂停1 10 00 0中断呼应周期中断呼应周期0 00 00 0启动的总线周期启动的总线周期W/RD/CM/IO根本存放器根本存放器系统级存放
36、器系统级存放器调试和模型公用存放器调试和模型公用存放器浮点存放器浮点存放器PentiumPentium的内部存放器,按功能可分为的内部存放器,按功能可分为4 4类:类:2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器标志存放器标志存放器指令指针存放器指令指针存放器EFLAGSEFLAGSFLAGSFLAGSEIPEIPIPIP31 15 031 15 031 15 031 15 031 16 15 7 031 16 15 7 0通通 用用 寄寄 存存 器器EAX AH AX ALEAX AH AX
37、ALEBX BH BX BLEBX BH BX BLECX CH CX CLECX CH CX CLEDX DH DX DLEDX DH DX DLEDI DIEDI DIESI SIESI SIEBP BPEBP BPESP SPESP SP1. 1. 根本存放器根本存放器选择器选择器CSCSSSSSDSDSESESFSFSGSGS15 0 63 015 0 63 0描画符高速缓存器描画符高速缓存器段段 寄寄 存存 器器 EIP EIP用于保管下一条用于保管下一条待预取指令相对于代码基待预取指令相对于代码基址的偏移量。它的低址的偏移量。它的低1616位位也可单独访问,称之为也可单独访问,称之
38、为IPIP。 标志存放器位定义标志存放器位定义2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器C CF FEFLAGSEFLAGSFLAGSFLAGS31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 031 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0A AC CV VMMR RF F0 0N NT TIOPLIOPLO OF FD D
39、F FI IF FT TF FS SF FZ ZF F0 0A AF F0 0P P F F0 0X X 对准检查标志对准检查标志X X 虚拟虚拟8686方式标志方式标志X X 恢复标志恢复标志X X 嵌套标志嵌套标志X X 特权级标志特权级标志S S 溢出标志溢出标志C C 方向标志方向标志X X 中断允许标志中断允许标志X X 自陷标志自陷标志S S 符号标志符号标志S S 零标志零标志S S 辅助进位标志辅助进位标志S S 奇偶标志奇偶标志S S 进位标志进位标志注注:S:S表示形状标志表示形状标志,X,X表示系统标志表示系统标志,C,C表示控制标志表示控制标志X X 虚拟中断标志虚拟中
40、断标志X IDX ID标志标志X X 虚拟中断挂起虚拟中断挂起0 0 0 0 0 0 0 0 0 0VIFVIPI ID D标志名标志名标志为1标志为1 标志为0标志为0OF溢出(是/否)OF溢出(是/否)OVOVNVNVDF方向(减量/加量)DF方向(减量/加量)DNDNUPUPIF中断(允许/关闭)IF中断(允许/关闭)EIEIDIDISF符号(负/正)SF符号(负/正)NGNGPLPLZF零(是/否)ZF零(是/否)ZRZRNZNZAF辅助进位(是/否)AF辅助进位(是/否)ACACNANAPF奇偶标志( 偶/奇)PF奇偶标志( 偶/奇)PEPEPOPOCF进位标志(是/否)CF进位标志
41、(是/否)CYCYNCNC在调试程在调试程序时,序时,DEBUG提提供了测试供了测试标志位的标志位的手段,手段,用符号表用符号表示标志位示标志位的值,每的值,每种标志位种标志位的符号如的符号如右表右表标志标志: 运算结果最高位为运算结果最高位为0SF=0 运算结果运算结果0 ZF=0 低低8位中位中1的个数为奇数个的个数为奇数个 PF=0 最高位有进位最高位有进位 CF=1 第三位向第四位无进位第三位向第四位无进位 AF=0 次高位向最高位没有进位次高位向最高位没有进位 ,最高位向前进位,最高位向前进位 , OF=1例:执行两个数的加法,分析对标志位的影响。例:执行两个数的加法,分析对标志位的
42、影响。1 10 00 00 01 11 10 01 10 00 00 01 10 01 10 01 11 10 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1+ +0 01 11 11 11 10 01 10 01 10 01 10 01 10 01 10 0选择器选择器描画符高速缓存器描画符高速缓存器CSSSDSESFSGS15 0 63 015 0 63 0段段寄寄存存器器 段存放器段存放器PentiumPentium有有6 6个段存放器:个段存放器:2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器CS-CS-指明当前的代码段
43、指明当前的代码段SS-SS-指明当前的堆栈段指明当前的堆栈段DSDSESESFS FS GSGS决议程序运用决议程序运用存储器区域块存储器区域块指明当前的指明当前的4 4个数据段个数据段编程者可直编程者可直接访问的接访问的编程者不能编程者不能访问的访问的实地址方式和虚拟实地址方式和虚拟80868086方式下一样,段的长度固方式下一样,段的长度固定为定为64KB,64KB,段选择器就是段存放器段选择器就是段存放器, ,它保管的是逻它保管的是逻辑段基址的高辑段基址的高1616位,将它的内容左移位,将它的内容左移4 4位即可得到位即可得到实践段基址,而不用运用描画符高速缓存器。实践段基址,而不用运用
44、描画符高速缓存器。在维护虚地址方式下,段的长度可以在在维护虚地址方式下,段的长度可以在1 1字节到字节到4G4G字节之间变化;为了描画每个段的基址、属性和边字节之间变化;为了描画每个段的基址、属性和边境,为每个段定义了一个描画符。操作系统运用的境,为每个段定义了一个描画符。操作系统运用的各义务公用的段描画符放在一同构成全局描画符表各义务公用的段描画符放在一同构成全局描画符表GDTGDT;某个义务公用的段描画符放在一同构成部分;某个义务公用的段描画符放在一同构成部分描画符表描画符表LDTLDT。PentiumPentium段的定义与段的定义与80868086有所不同:有所不同:2.3.2 Pen
45、tium2.3.2 Pentium内部存放器内部存放器 描画符与描画符表描画符与描画符表GDTLDT描画符描画符0 0描画符描画符1 1描画符描画符0 0描画符描画符1 1GDTRGDTRLDTRLDTR+0+0+1+1+2+2+3+3+4+4+5+5+6+6+7+7段边境段边境7 70 0位位段边境段边境15158 8位位段基址段基址7 70 0位位段基址段基址15158 8位位段基址段基址23231616位位属性属性段边境段边境4 4位位段基址段基址31312424位位属性属性描画符格式描画符格式2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器 段的的选择符段的的选
46、择符 为了阐明一个段的描画符在哪个表中,表的序号是为了阐明一个段的描画符在哪个表中,表的序号是多少以及特权的高低,为每个段定义了一个多少以及特权的高低,为每个段定义了一个1616位的选择位的选择符,存于段选择器中,其格式为:符,存于段选择器中,其格式为:描画符索引描画符索引段描画符段描画符iLDTGDT0 1INDEX TI RPLb15 b3 b2 b1 b0表指示符表指示符描画符描画符i0 089118911段描画符段描画符0描画符描画符000 00 特权级特权级0 001 01 特权级特权级1 110 10 特权级特权级2 211 11 特权级特权级3 3恳求特权级恳求特权级2.3.2
47、Pentium2.3.2 Pentium内部存放器内部存放器 将一个选择符装入一个段选择器时,处置器将自动将一个选择符装入一个段选择器时,处置器将自动从从GDTGDT或或LDTLDT中找到其对应的描画符装入相应描画符高速中找到其对应的描画符装入相应描画符高速缓存器中。缓存器中。2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器描画符描画符6464基址基址物理存储器物理存储器LDTLDTDSDS数据段数据段0040H界限界限15 3 215 3 2描画符高速缓存器描画符高速缓存器DSDS选择符选择符63 063 0属性属性装入装入DSDS段描画符段描画符TI=1TI=1指示
48、指示LDTLDT1313位索引指向位索引指向LDTLDT的第的第6464个段描画符个段描画符13131010 以后,每当访问存储器时,与所用段相关的段描画符高以后,每当访问存储器时,与所用段相关的段描画符高速缓冲器就自动参与该次存储器访问操作。转换关系:速缓冲器就自动参与该次存储器访问操作。转换关系: 线性地址线性地址 = = 段描画符高速缓存器中段基址段描画符高速缓存器中段基址 + + 偏移地址偏移地址 例题例题有一个描画符表存放在全局描画符表的有一个描画符表存放在全局描画符表的第第63个表项中,访问该描画符的恳个表项中,访问该描画符的恳求特权级为求特权级为2,请写出该描画符的选,请写出该描
49、画符的选择符。择符。知段描画符中有基址知段描画符中有基址=56780000H,界限界限=10,G=1。求该描画符定义。求该描画符定义的存储段的线性地址范围。的存储段的线性地址范围。例:假设虚拟地址为例:假设虚拟地址为0100:00000200H,制止分页。,制止分页。假设描画符中读出的段基址为假设描画符中读出的段基址为00030000H,那么操,那么操作数的物理地址是什么?作数的物理地址是什么?解:将此虚拟地址转换成物理地址为解:将此虚拟地址转换成物理地址为基地址基地址+偏移量偏移量 =00030000H+00002000H=00032000H Pentium Pentium微处置器中包含一组
50、系统级存放器微处置器中包含一组系统级存放器: :即即5 5个控制存放器个控制存放器CR0CR0CR4CR4和和4 4个系统地址存放个系统地址存放器。这些存放器只能由在特权级器。这些存放器只能由在特权级 0 0上运转的程序上运转的程序普通是操作系统访问。普通是操作系统访问。 2.2.2 Pentium2.2.2 Pentium内部存放器内部存放器 控制存放器控制存放器 Pentium Pentium在在8048680486控制存放器控制存放器CR0CR0CR3CR3的根底的根底上新增了一个控制存放器上新增了一个控制存放器CR4,CR4,这些存放器用来存这些存放器用来存放全局特性的机器形状和实现对
51、放全局特性的机器形状和实现对80X86/ Pentium80X86/ Pentium微处置器的多种功能的控制与选择。微处置器的多种功能的控制与选择。 2.2.系统级存放器系统级存放器数字运算错数字运算错页页FaultFault线性地址线性地址保保 留留31 30 29 7 6 5 4 3 2 1 031 30 29 7 6 5 4 3 2 1 0页管理页管理 使能使能CacheCache不使能不使能不通写不通写对准标志对准标志写维护写维护维护允许维护允许监视监视FPUFPU仿真仿真FPUFPU义务转换义务转换FPUFPU类型类型PGPGCDCDNWNW保管保管 AMAMWPWP保管保管NENE
52、ETET TSTSEMEMMPMP PEPEVMEPVITSDPCDMCE0PWTPSEDE0 0 0 0 页目录基址页目录基址2.3.2 Pentium2.3.2 Pentium内部存放器内部存放器CR0CR4CR3CR2CR1 控制存放控制存放器格式器格式: : 系统地址存放器系统地址存放器2.3.2 Pentium2.3.2 Pentium的内部存放器的内部存放器系统地址存放器系统地址存放器 其中其中GDTRGDTR和和LDTRLDTR分别用来存放分别用来存放GDTGDT和和LDTLDT的的3232位线性基位线性基地址等内容;地址等内容;IDTRIDTR用来存放中断描画符表的基址和界限;
53、用来存放中断描画符表的基址和界限;TRTR用来存放义务形状段用来存放义务形状段(TSS)(TSS)的基址、界限和其他属性。的基址、界限和其他属性。 只在维护方式下运用,所以又叫维护方式存放器。用只在维护方式下运用,所以又叫维护方式存放器。用于把在维护方式下常用的数据基地址、界限和其他属性保于把在维护方式下常用的数据基地址、界限和其他属性保管起来,以确保其快速性。管起来,以确保其快速性。3232位基地址位基地址1616位界限位界限GDTRGDTRIDTRIDTR1616位选择符位选择符3232位基地址位基地址1616位界限位界限1616位其他属性位其他属性LDTRLDTRTRTR图图2.14 G
54、DTR与它定义的全局描画符表与它定义的全局描画符表例:例:(GDTR)=001000000FFFH,求,求GDT在物理存储在物理存储器中的起始地址,终了地址,器中的起始地址,终了地址, 表的大小,表中可以表的大小,表中可以存放多少个描画符?存放多少个描画符?解:解:GDT的起始地址为的起始地址为: 00100000H终了地址为终了地址为: 00100000H+0FFFH=00100FFFH表的大小为表的大小为: 0FFFH+1=4096字节字节表中可以存放表中可以存放4096/8=512个描画符个描画符0151647GDTRBASELIMIT0151647GDTRBASELIMITGDT段描画
55、符段描画符段描画符段描画符段描画符段描画符00100000H0FFFH00100000H0FFFH00100FFFH 512个个描画符描画符图图2.15 LDTR和它定义的部分描画符表和它定义的部分描画符表例:设例:设LDT的基址为的基址为00120000H,GDT的基址为的基址为 00100000H, (CS)=1007H,那么:,那么:恳求的特权级是多少恳求的特权级是多少?段描画符位于段描画符位于GDT还是还是LDT中中?段描画符的地址是什么段描画符的地址是什么?RPL: 恳求特权级恳求特权级03TI: 表指示符表指示符 0运用全局描画符表运用全局描画符表 1运用部分描画符表运用部分描画符
56、表索引:确定段描画符位置索引:确定段描画符位置02315索引索引TI RPL1解:解:(CS)=1007H=0001 0000 0000 0111B RPL=3,恳求的特权级为,恳求的特权级为3TI=1,描画符位于,描画符位于LDT中中描画符相对于描画符相对于LDT基址的偏移量基址的偏移量 段描画符的地址为段描画符的地址为00001000000000B8=512 8=4096=1000H00120000H+1000H=00121000H 属性属性 段基地址段基地址 (32位位) 段边境段边境 (20位位) 11 0 31 0 19 0 描描 述述 符符 高高 速速 缓缓 冲冲 寄寄 存存 器不
57、可见器不可见02315索引索引TI RPL1T1=0 GDTT1=1 LDT段描画符段描画符段描画符段描画符 存储器存储器00120000H0001000000000 1 11 B00121000H00100000H图图2.16 义务存放器和义务切换机制义务存放器和义务切换机制 Pentium Pentium处置器中提供了一组调试存放器和一组模型处置器中提供了一组调试存放器和一组模型公用存放器,用于排除缺点和用于执行跟踪、性能监测、公用存放器,用于排除缺点和用于执行跟踪、性能监测、测试及机器检查错误。测试及机器检查错误。 2.3.2 Pentium2.3.2 Pentium的内部存放器的内部存
58、放器31 0 31 0 线性断点地址线性断点地址0 0线性断点地址线性断点地址1 1线性断点地址线性断点地址2 2线性断点地址线性断点地址3 3DR6DR6的别名的别名DR6DR6的别名的别名断点形状断点形状断点控制断点控制调试存放器调试存放器DR0DR0DR1DR1DR2DR2DR3DR3DR4DR4DR5DR5DR6DR6DR7DR7 (1) (1) 调试存放器调试存放器 调试存放器如下图,这是调试存放器如下图,这是一组一组3232位的存放器,是程序员位的存放器,是程序员可访问的,提供片上支持调试。可访问的,提供片上支持调试。3.3.调试和模型公用存放器调试和模型公用存放器 Pentium
59、 Pentium处置器取消了处置器取消了80386/8048680386/80486中的测中的测试存放器试存放器TRTR,其功能由一组,其功能由一组“模型公用存放器模型公用存放器 MSR(Model Special Register) MSR(Model Special Register)来实现,这来实现,这一组一组MSRMSR用于执行跟踪、性能监测、测试和机器用于执行跟踪、性能监测、测试和机器检查错误。检查错误。 Pentium Pentium处置器采用两条指令处置器采用两条指令RDMSR(RDMSR(读读MSR)MSR)和和WRMSR(WRMSR(写写MSR)MSR)来访问这些存放器,来访
60、问这些存放器,ECXECX中的值中的值(8(8位值位值) )确定将访问该组存放器中哪一个确定将访问该组存放器中哪一个MSRMSR。 2.3.2 Pentium2.3.2 Pentium的内部存放器的内部存放器(2) (2) 模型公用存放器模型公用存放器2.3.3 Pentium2.3.3 Pentium的四种任务方式的四种任务方式CPUCPU复位复位RSMRSM复位复位或或RSMRSMVM=0VM=0VM=1VM=1复位复位复位复位或或PE=0PE=0使使CR0CR0的的PE=1PE=1系统管系统管理方式理方式维护维护方式方式虚拟虚拟80868086方式方式RSMRSMSMISMI实地址实地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论