教学课件第2章IntelIA32处理器结构与原理

上传人:汽*** 文档编号:570177193 上传时间:2024-08-02 格式:PPT 页数:69 大小:991KB
返回 下载 相关 举报
教学课件第2章IntelIA32处理器结构与原理_第1页
第1页 / 共69页
教学课件第2章IntelIA32处理器结构与原理_第2页
第2页 / 共69页
教学课件第2章IntelIA32处理器结构与原理_第3页
第3页 / 共69页
教学课件第2章IntelIA32处理器结构与原理_第4页
第4页 / 共69页
教学课件第2章IntelIA32处理器结构与原理_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《教学课件第2章IntelIA32处理器结构与原理》由会员分享,可在线阅读,更多相关《教学课件第2章IntelIA32处理器结构与原理(69页珍藏版)》请在金锄头文库上搜索。

1、http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )第第2章章 Intel IA-32处理器结构与原处理器结构与原理理1http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.1.1 2.1.1 基本概念基本概念基本概念基本概念1. 1. 流水线流水线流水线流水线把一条指令的操作分成多个更小的步骤,每个步骤的操作把一条指令的操作分成多个更小的步骤,每个步骤的操作由专门的电路完成。由专门的电路完成。利用各电路间可并行执行的特点,让各个步骤的执行在时利用各电路间可并行执行的特点,让各个步骤的执行在时间上重叠起来。间

2、上重叠起来。 取指取指1 译码译码1执行执行1 取指取指2 译码译码2执行执行2 取指取指3译码译码3 执行执行3取指取指1 译码译码1执行执行1取指取指2 译码译码2执行执行2取指取指3 译码译码3执行执行3流水线执行方式流水线执行方式2.1 Pentium处理器处理器2http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2. CISC与与RISC技术技术复杂指令集计算机(复杂指令集计算机(复杂指令集计算机(复杂指令集计算机(CISCCISC) :指令格式比较复杂,通指令格式比较复杂,通常采用不等长指令设计,指令的寻址方式丰富,绝大多常采用不等长指令

3、设计,指令的寻址方式丰富,绝大多数指令的执行需要多个时钟周期。数指令的执行需要多个时钟周期。缺点:缺点: 随着计算机结构的改进,指令的功能和指令条数增加,随着计算机结构的改进,指令的功能和指令条数增加,指令系统变得异常庞大。指令系统变得异常庞大。复杂的指令格式和众多的寻址方式使得组合逻辑电路复杂的指令格式和众多的寻址方式使得组合逻辑电路设计更为复杂,采用微程序又会降低执行速度。设计更为复杂,采用微程序又会降低执行速度。 复杂不规整的指令会降低流水线的性能复杂不规整的指令会降低流水线的性能 随着指令条数的增加,完成同一任务的指令组合变多,随着指令条数的增加,完成同一任务的指令组合变多,编译系统在

4、最后优化的时候分析就变得更加困难编译系统在最后优化的时候分析就变得更加困难 3http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )简单指令集计算机(简单指令集计算机(简单指令集计算机(简单指令集计算机(RISCRISC):):):):通过简化指令,使得计算通过简化指令,使得计算机的结构变得简单、合理,从而提高机的结构变得简单、合理,从而提高CPU的执行速度。的执行速度。 优化指令系统,只选用使用频率高的指令,减少指令优化指令系统,只选用使用频率高的指令,减少指令条数。条数。采用简单的指令格式和寻址方式,指令的长度固定,采用简单的指令格式和寻址方式,指令

5、的长度固定,大多数指令能在一个时钟周期内完成。大多数指令能在一个时钟周期内完成。除了除了Load/Store指令能访问存储器外外,其他任何指指令能访问存储器外外,其他任何指令的操作数或者为立即数或者存放在寄存器中,因此,令的操作数或者为立即数或者存放在寄存器中,因此,进行的是寄存器与寄存器之间从操作。通常进行的是寄存器与寄存器之间从操作。通常RISC处处理器设计了大量的寄存器临时存放数据。理器设计了大量的寄存器临时存放数据。由于计算机结构简单,所以主要采用硬布线逻辑,较由于计算机结构简单,所以主要采用硬布线逻辑,较少使用或者不用微程序控制。少使用或者不用微程序控制。4http:/http:/现

6、代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )3. 高速缓冲存储器(高速缓冲存储器(Cache)主机主机主存主存高速缓冲存储器高速缓冲存储器Cache的设立依据是程序访问的局部性原理的设立依据是程序访问的局部性原理 :for(int i; i100; i+) ai=i*i;5http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.1.2 Pentium处理器的特性处理器的特性80x86系列微处理器兼容系列微处理器兼容有有64位数据总线、位数据总线、 32位地址总线,寻址空间位地址总线,寻址空间4GB。RISC型超标量结构型超标量结

7、构 - - 两个两个两个两个5 5级整数指令流水线,一个级整数指令流水线,一个级整数指令流水线,一个级整数指令流水线,一个8 8级浮点流水线。级浮点流水线。级浮点流水线。级浮点流水线。具有超级流水线技术的高性能浮点运算器。具有超级流水线技术的高性能浮点运算器。数据数据-代码分离式高速缓存,符合代码分离式高速缓存,符合MESI协议。协议。增强的错误检测和报告功能。增强的错误检测和报告功能。利用片上分支目标缓冲器提高分支指令预测准确性。利用片上分支目标缓冲器提高分支指令预测准确性。常用的指令不采用微程序设计,而改用硬件实现。常用的指令不采用微程序设计,而改用硬件实现。支持支持64位外部数据总线突发

8、传输方式位外部数据总线突发传输方式通过通过APIC总线支持多处理器系统总线支持多处理器系统6http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )分支目标分支目标缓冲器缓冲器 代码代码Cache 8KBTLB指令指令指针指针预取缓冲存储器预取缓冲存储器指令译码部件指令译码部件256位位总总 线线 接接 口口 部部 件件分分页页部部件件64位数位数据总线据总线 预取预取地址地址32位地位地址总线址总线控制控制控控 制制 部部 件件地址生成地址生成(U流水线)流水线)地址生成地址生成(V流水线)流水线)控制控制ROMALU(U流水线)流水线)ALU(V流水线

9、)流水线)整数寄存器组整数寄存器组桶形移位器桶形移位器数据数据 Cache 8KBTLB浮点部件浮点部件控制控制寄存器组寄存器组加法器加法器除法器除法器乘法器乘法器80位位80位位分分支支检检测测和和目目标标地地址址64位数位数据总线据总线32位地位地址总线址总线32位位32位位32位位32位位32位位32位位= =指令预取指令预取指令预取指令预取= =首次译码首次译码首次译码首次译码= =二次译码二次译码二次译码二次译码= =指令执行指令执行指令执行指令执行= =写回写回写回写回R R2.1.3 Pentium处理器的内部结构与工作原理处理器的内部结构与工作原理7http:/http:/现代

10、微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )指令配对规则指令配对规则配对的指令必须是简单指令配对的指令必须是简单指令两条指令之间不可存在两条指令之间不可存在“写后读写后读”或或“写后写写后写”这这样的寄存器相关性样的寄存器相关性一条指令不能同时既包含位移量又包含立即数一条指令不能同时既包含位移量又包含立即数带前缀(带前缀(JCC指令的指令的OF除外)的指令只能出现在除外)的指令只能出现在U流水中流水中浮点运算指令不能和任何指令配对(浮点运算指令不能和任何指令配对(FCXH除外)除外)MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 4128h

11、ttp:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.2 P6微结构的处理器微结构的处理器2.2.1 P6微结构概述微结构概述 采用采用12级级3流水超标量结构流水超标量结构多路分支预测多路分支预测- -预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预 先译码分支之后的指令提供依据先译码分支之后的指令提供依据先译码分支之后的指令提供依据先译码分支之后的指令提供依据 动态数据流分析动态数据流分析 - - 处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可

12、用性处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可用性- - 以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令 推测执行推测执行 - - 在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流 双独立总线结构双独立总线结构- - 后端总线连接到后端总线连接到后端总线连接到后端总线连接到L2 CacheL2 Cache上上上上- - 前端总线前端总线前端总

13、线前端总线FSBFSB主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作Pentium IIPentium II北桥北桥北桥北桥内存内存内存内存FSB 前端总线前端总线L2 CacheL2 Cache后端总线后端总线9http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )关于乱序执行技术关于乱序执行技术为了提高指令流的执行效率,乱序执行核心监视很为了提高指令流的执行效率,乱序执行核心监视很多条指令,然后在不损失数据完整性的前提下,采用多条指令,然后在不损失数据完整性的前提下,采用能充分

14、发挥多个处理部件并行工作的指令顺序来执行。能充分发挥多个处理部件并行工作的指令顺序来执行。这个指令顺序可能和原始程序的不一样。这个指令顺序可能和原始程序的不一样。1)A=B+C2)P=A*23)Q=D-E1)和)和3)可配对同时执行)可配对同时执行10http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.2.2 Pentium III处理器内部结构及工作原理处理器内部结构及工作原理 11http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.3 NetBurst微结构的处理器微结构的处理器 2.3.1 Net

15、Burst微结构概述微结构概述 1. 1. 超级流水线技术超级流水线技术超级流水线技术超级流水线技术衡量衡量CPU的性能指标是的性能指标是CPU完成应用程序所需的总时完成应用程序所需的总时间。其计算公式如下:间。其计算公式如下: CPUCPU性能性能性能性能=CPU=CPU的主频的主频的主频的主频IPCIPC IPC是每时钟执行的指令条数。是每时钟执行的指令条数。 要提高要提高CPU性能,可采用提高性能,可采用提高CPU主频和提高主频和提高IPC。要提高主频要提高主频要提高主频要提高主频减少每个流水级的执行周期减少每个流水级的执行周期减少每个流水级的执行周期减少每个流水级的执行周期要减小每要减

16、小每要减小每要减小每个流水级的任务量个流水级的任务量个流水级的任务量个流水级的任务量将任务再分解将任务再分解将任务再分解将任务再分解增加流水线深度增加流水线深度增加流水线深度增加流水线深度12http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.快速执行引擎快速执行引擎 NetBurst微结构中配置了一种时钟缓冲器电路,可微结构中配置了一种时钟缓冲器电路,可以使该结构下以使该结构下2个执行简单指令的个执行简单指令的ALU和和2个存储地址个存储地址AGU运行在两倍的运行在两倍的CPU核心频率下核心频率下 3.高级动态执行高级动态执行 一个高达一个高达1

17、26条指令的超大指令窗口,避免了处理器条指令的超大指令窗口,避免了处理器为了等待配对指令而出现暂时的停顿,也减少了因为了等待配对指令而出现暂时的停顿,也减少了因Cache没命中,到主存中获取数据而产生等待的次数。没命中,到主存中获取数据而产生等待的次数。 一个一个4KB的分支目标缓冲器的分支目标缓冲器BTB记录更多的过去分记录更多的过去分支的历史细节,再配以改进的分支预测算法,使分支的历史细节,再配以改进的分支预测算法,使分支预测失误率比支预测失误率比Pentium III下降了下降了33 。 13http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )4

18、. 执行跟踪执行跟踪Cache(execution trace Cache) 放弃放弃L1 指令指令Cache的设计,采用执行跟踪的设计,采用执行跟踪Cache,它,它在译码器的后面,按程序流顺序存放已经译码好的最在译码器的后面,按程序流顺序存放已经译码好的最多多12,000条微指令,条微指令, 5. 高速系统总线高速系统总线采用了一种采用了一种 “四倍速四倍速”技术技术quad pumping,使得,使得前端总线能很方便的工作再前端总线能很方便的工作再4倍于系统总线的频率上。倍于系统总线的频率上。6. 高级传输高级传输Cache采用采用8路相联的片内路相联的片内L2 Cache ,与核心同频

19、工作,与,与核心同频工作,与CPU核心的专用总线宽度为核心的专用总线宽度为256位,是过去的位,是过去的4倍,这倍,这样主频为样主频为2.8GHz的的Pentium 4其数据带宽将为其数据带宽将为89.6GBps。 14http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.3.2 Pentium 4处理器内部结构及工作原处理器内部结构及工作原理理 15http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.3.3 SIMD技术技术 5757条条条条MMXMMX指令操作指令操作指令操作指令操作8 8个个个个64

20、64位长的位长的位长的位长的MMXMMX寄存器内的紧寄存器内的紧寄存器内的紧寄存器内的紧缩字节(缩字节(缩字节(缩字节(8 8个字节打包成一个个字节打包成一个个字节打包成一个个字节打包成一个6464位长的数据)、字或位长的数据)、字或位长的数据)、字或位长的数据)、字或双字整型数上执行双字整型数上执行双字整型数上执行双字整型数上执行SIMDSIMD7070条条条条SSESSE指令处理在指令处理在指令处理在指令处理在8 8个个个个128128位的位的位的位的XMMXMM寄存器中的单精寄存器中的单精寄存器中的单精寄存器中的单精度浮点数和在度浮点数和在度浮点数和在度浮点数和在MMXMMX寄存器中的紧

21、缩整数。高速缓存寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存控制指令通过增加主存到控制指令通过增加主存到控制指令通过增加主存到控制指令通过增加主存到CacheCache和处理器到主存的数和处理器到主存的数和处理器到主存的数和处理器到主存的数据流,改善存储性能,据流,改善存储性能,据流,改善存储性能,据流,改善存储性能,SIMDSIMD浮点指令使处理器能同浮点指令使处理器能同浮点指令使处理器能同浮点指令使处理器能同时执行时执行时执行时执行4 4个浮点操作。个浮点操作。个浮点操作。个浮点操作。144144条条条条SSE2SSE2指令处理在指令处理在指令处理在

22、指令处理在XMMXMM寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮点数和在点数和在点数和在点数和在MMXMMX与与与与XMMXMM寄存器中的紧缩整数。寄存器中的紧缩整数。寄存器中的紧缩整数。寄存器中的紧缩整数。 1313条条条条SSE3SSE3指令增强指令增强指令增强指令增强SSE, SSE2SSE, SSE2和和和和x87FPUx87FPU数学能力的性数学能力的性数学能力的性数学能力的性能。能。能。能。16http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.3.4 超线程超线程(Hyper-Thread

23、ing, HT)技术技术允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)HTHT技术由单处理器上的技术由单处理器上的技术由单处理器上的技术由单处理器上的2 2个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处

24、理器都有自己的每个逻辑处理器都有自己的IA-32IA-32结构状态结构状态结构状态结构状态(AS)(AS)每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的IA-32IA-32通用寄存器、段寄通用寄存器、段寄通用寄存器、段寄通用寄存器、段寄存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口ASAS处

25、理器核心处理器核心支持支持HT的的IA-32处理器处理器2个逻辑处理器个逻辑处理器共享一个核共享一个核AS=IA-32结构状态结构状态AS处理器核心处理器核心传统多传统多IA-32处理器系统处理器系统每个处理器一每个处理器一个独立封装个独立封装AS处理器核心处理器核心17http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.3.5 多核多核(Dual-Core)技术技术 通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核

26、来提供硬件多线程能力提供硬件多线程能力提供硬件多线程能力提供硬件多线程能力每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的ASAS,还拥有自己的执,还拥有自己的执,还拥有自己的执,还拥有自己的执行引擎,总线接口与行引擎,总线接口与行引擎,总线接口与行引擎,总线接口与L2 Cache L2 Cache 。结构上有支持结构上有支持结构上有支持结构上有支持HTHT技术的和不支持技术的和不支持技术的和不支持技术的和不支持HTHT技术的双核结构技术的双核结构技术的双核结构技术的双核结构Pentium D IA-32处理器处理器ASAS执行引

27、擎执行引擎执行引擎执行引擎Local APICLocal APICL2 CacheL2 Cache总线接口总线接口总线接口总线接口Pentium EE IA-32处理器处理器系统总线系统总线ASAS执行引擎执行引擎执行引擎执行引擎LocalAPICL2 CacheL2 Cache总线接口总线接口总线接口总线接口系统总线系统总线ASASLocalAPICLocalAPICLocalAPIC18http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )AMD的双核的双核Intel的双核的双核19http:/http:/现代微机原理与接口技术现代微机原理与接口技术

28、( (第第2 2版版) )2.3.6 Intel的的EM64T技术技术 完全兼容现在的完全兼容现在的IA-32结构结构具有传统具有传统IA-32模式和模式和IA-32e模式,模式,IA-32e模式模式包括包括64位模式和兼容模式(允许现有程序无需位模式和兼容模式(允许现有程序无需修改就运行在传统修改就运行在传统IA-32模式和兼容模式下)模式和兼容模式下)64位模式下具有以下特性:位模式下具有以下特性:64位平板线性地址位平板线性地址增加增加8个新的通用寄存器个新的通用寄存器增加增加8个新的流个新的流SIMD扩展(扩展(SSE, SSE2和和SSE3)64位宽的通用寄存器和指令指针寄存器位宽的

29、通用寄存器和指令指针寄存器20http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.4 Core微结构的处理器微结构的处理器 2.4.1 Core微结构的引入微结构的引入 NetBurst微结构的缺陷:微结构的缺陷:IPC表现不佳,同频情况下表现不佳,同频情况下Pentium 4有时还不如前有时还不如前代的代的Pentium III频率提高后,功耗随之上升,功耗过高,影响了主频频率提高后,功耗随之上升,功耗过高,影响了主频的进一步提高。的进一步提高。 Power = Power = C Cdynamicdynamic 电压电压电压电压 电压电压电压电

30、压 频率频率频率频率 其中其中Cdynamic是面积与处于活跃状态的数据位是面积与处于活跃状态的数据位翻转的翻转的触发器数量的乘积。触发器数量的乘积。21http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Core微结构的处理器系列微结构的处理器系列桌面平台的桌面平台的Conroe 移动平台的移动平台的Merom 服务器平台的服务器平台的Woodcrest Core处理器处理器 Core 2处理器处理器 单核的单核的Core Solo 双核的双核的Core Duo, Core 2 Duo 四核的四核的Core 2 Quad 22http:/http:/

31、现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.4.2 Conroe处理器内部结构与特点处理器内部结构与特点CoreCore微结构微结构微结构微结构23http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )ConroeConroe处理器内部结构示意图处理器内部结构示意图处理器内部结构示意图处理器内部结构示意图 24http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )宽位动态执行宽位动态执行(Wide Dynamic Execution) 着眼点在于提高每时钟周期处理的指令数,着眼点在于提

32、高每时钟周期处理的指令数,改善执行时间和能源效率,同时完整的取、改善执行时间和能源效率,同时完整的取、发射、执行发射、执行4条指令条指令宏融合宏融合(macrofusion)技术能够在译码期间)技术能够在译码期间将常见的指令对组合到一个单独的微代码中将常见的指令对组合到一个单独的微代码中(Micro-op) 微代码融合微代码融合(Micro-op fusion)技术能在微)技术能在微代码执行前将译码自同一个代码执行前将译码自同一个x86指令的几个指令的几个微代码融合成更少的微代码微代码融合成更少的微代码 25http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版

33、版) )智能功效管理(智能功效管理(Intelligent Power Capability) 超细粒度功耗控制超细粒度功耗控制能够只对处于工作状态的能够只对处于工作状态的部件提供电源,而关闭非工作部件的电源供部件提供电源,而关闭非工作部件的电源供应,从而有效降低功耗。应,从而有效降低功耗。分离总线技术分离总线技术能够使总线宽度动态适应数据能够使总线宽度动态适应数据宽度的需要,对无效的信息位使其进入低电宽度的需要,对无效的信息位使其进入低电压状态,从而进一步降低功耗。压状态,从而进一步降低功耗。 功效管理平台技术功效管理平台技术通过调整散热风扇运作模通过调整散热风扇运作模式,从外部降低处理器温

34、度。式,从外部降低处理器温度。 26http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Intel 智能内存访问(智能内存访问(Intel Smart Memory Access) 内存消歧技术内存消歧技术利用装载(利用装载(load)数据指令和)数据指令和存储(存储(store)数据指令之间的乱序执行来提)数据指令之间的乱序执行来提高乱序执行部件的效率高乱序执行部件的效率 高级预取技术高级预取技术解决了确保被使用的数据已经解决了确保被使用的数据已经位于最靠近能获得最小内存延迟的地方的问位于最靠近能获得最小内存延迟的地方的问题。题。 27http:/h

35、ttp:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Intel高级智能高级智能Cache (Intel Advanced Smart Cache) 采用了共享采用了共享L2 Cache的双核结构的双核结构 可以在两个核心间动态调整可以在两个核心间动态调整L2 Cache的分配的分配 ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 Cache总线接口总线接口系统总线系统总线28http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.4.4 45nm的酷睿的酷睿2处理器处理器Penryn的新

36、特的新特性性英特尔的英特尔的45nm高高K金属栅极制程技术金属栅极制程技术晶体管密度提升近一倍晶体管密度提升近一倍晶体管切换功耗降低近晶体管切换功耗降低近 30%晶体管切换速度提高晶体管切换速度提高 20% 以上,源极漏极以上,源极漏极漏电率降低漏电率降低5倍以上倍以上晶体管栅极氧化层漏电率降低晶体管栅极氧化层漏电率降低 10 倍以上,倍以上,从而实现更低的功耗和更耐久的电池使用时从而实现更低的功耗和更耐久的电池使用时间间29http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )全新英特尔全新英特尔SSE4.1指令指令增加对两个不同的增加对两个不同的 3

37、2 位向量整数乘法操作的支位向量整数乘法操作的支持持引入引入 8 位无符号的最小位无符号的最小/最大操作,以及最大操作,以及 16 位位和和 32 位有符号和无符号的版本位有符号和无符号的版本添加高度专用的操作,从而带来显著的应用级添加高度专用的操作,从而带来显著的应用级增益增益u视频编码加速功能视频编码加速功能视频编码加速功能视频编码加速功能u浮点点积操作(对于游戏和浮点点积操作(对于游戏和浮点点积操作(对于游戏和浮点点积操作(对于游戏和 3D 3D 内容创建非常内容创建非常内容创建非常内容创建非常重要)重要)重要)重要)u流加载指令(对于视频处理、成像,以及在图流加载指令(对于视频处理、成

38、像,以及在图流加载指令(对于视频处理、成像,以及在图流加载指令(对于视频处理、成像,以及在图形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重要)要)要)要)30http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )增强的大型英特尔增强的大型英特尔 高级智能高速缓存高级智能高速缓存二级高速缓存增大二级高速缓存增大二级高速缓存增大二级高速缓存增大 50%50%并搭配并搭配并搭配并搭配2424路组相联设计,路组相联设计,路组相联设计,路组相联设计,可

39、进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。增强型英特尔增强型英特尔 虚拟化技术虚拟化技术通过改进微体系结构而不是虚拟机软件,使虚拟机通过改进微体系结构而不是虚拟机软件,使虚拟机通过改进微体系结构而不是虚拟机软件,使虚拟机通过改进微体系结构而不是虚拟机软件,使虚拟机迁移速度平均提高迁移速度平均提高迁移速度平均提高迁移速度平均提高25-75%25-75%。快速快速 Radix-16 除法器除法器可在每次迭代中计算可在每次迭代中计算可在每次迭代中计算可在每次迭代中计算4 4位的商(上代

40、是位的商(上代是位的商(上代是位的商(上代是2 2位),从而位),从而位),从而位),从而使延迟降低了使延迟降低了使延迟降低了使延迟降低了2 2倍。倍。倍。倍。增强型英特尔增强型英特尔 动态加速技术动态加速技术当一个内核处于空闲状态时,该增强特性可利用该当一个内核处于空闲状态时,该增强特性可利用该当一个内核处于空闲状态时,该增强特性可利用该当一个内核处于空闲状态时,该增强特性可利用该内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一个仍处于激活状态的内核性能。个仍处于激

41、活状态的内核性能。个仍处于激活状态的内核性能。个仍处于激活状态的内核性能。31http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.5 Nehalem微架构的处理器微架构的处理器Nehalem微架构基本特点微架构基本特点原生四核结构原生四核结构原生四核结构原生四核结构采用采用采用采用SMTSMT技术,每核可同时执行技术,每核可同时执行技术,每核可同时执行技术,每核可同时执行2 2个线程个线程个线程个线程4 4发射超标量,每核四条发射超标量,每核四条发射超标量,每核四条发射超标量,每核四条1616级流水线级流水线级流水线级流水线4848位虚拟地址空间,

42、位虚拟地址空间,位虚拟地址空间,位虚拟地址空间,4040位物理地址空间位物理地址空间位物理地址空间位物理地址空间45nm45nm芯片工艺芯片工艺芯片工艺芯片工艺32http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Nehalem微架构的新特点微架构的新特点更大的并行性更大的并行性增加了乱序考察窗和调度表增加了乱序考察窗和调度表增加了乱序考察窗和调度表增加了乱序考察窗和调度表改进后的更高效的算法改进后的更高效的算法加快线程同步原语的执行加快线程同步原语的执行加快线程同步原语的执行加快线程同步原语的执行加快了分支预测失败时的处理速度加快了分支预测失败时的

43、处理速度加快了分支预测失败时的处理速度加快了分支预测失败时的处理速度改进了硬件预取和改进了硬件预取和改进了硬件预取和改进了硬件预取和Load-StoreLoad-Store调度调度调度调度提高了分支预测的性能提高了分支预测的性能新增加了新增加了新增加了新增加了2 2级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令流历史的记录流历史的记录流历史的记录流历史的记录新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放CALLCALL指指指指令的返回地址,

44、并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出33http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Nehalem微架构的新特点微架构的新特点采用采用SMT(同时多线程)技术(同时多线程)技术同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程新的缓存结构新的缓存结构与与与与CoreCore微架构一样的微架构一样的微架构一样的微架构一样的L1 CacheL1 Cache(32KB32KB指令指令指令指令Cac

45、heCache与与与与32KB32KB数据数据数据数据CacheCache)每个核配新的每个核配新的每个核配新的每个核配新的256KB256KB极低延迟极低延迟极低延迟极低延迟L2 CacheL2 Cache新增新增新增新增8MB8MB包含共享式包含共享式包含共享式包含共享式 L3 CacheL3 Cache,当,当,当,当L3 CacheL3 Cache没有命中,则数据肯定不在没有命中,则数据肯定不在没有命中,则数据肯定不在没有命中,则数据肯定不在L1L1和和和和L2 CacheL2 Cache中中中中集成了内存控制器集成了内存控制器支持支持支持支持3 3通道的通道的通道的通道的DDR3DD

46、R3内存内存内存内存34http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )Nehalem微架构的新特点微架构的新特点用用QuickPath代替了前端总线(代替了前端总线(FSB)最大带宽高达最大带宽高达最大带宽高达最大带宽高达25.6GB/s25.6GB/s采用高速差分信号传送采用高速差分信号传送采用高速差分信号传送采用高速差分信号传送采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接CPUCPU和北桥,和北桥,和北桥,和北桥,还作为还作为还作为还作为CPUCPU与与与与CPUCPU之间的

47、连接之间的连接之间的连接之间的连接35http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.6 IA-32处理器基本执行环境处理器基本执行环境 实地址模式实地址模式实地址模式实地址模式 - - 与与与与8086/80888086/8088兼容,但可以处理兼容,但可以处理兼容,但可以处理兼容,但可以处理3232位数据位数据位数据位数据- 1MB- 1MB内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在0 (0 (核心核心核心核心) )级级级级- MS-DOS- MS-DOS

48、运行在此模式下,运行在此模式下,运行在此模式下,运行在此模式下,PCPC机开机首先进入的也机开机首先进入的也机开机首先进入的也机开机首先进入的也 是该模式是该模式是该模式是该模式- - 对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力保护模式保护模式保护模式保护模式 - - 支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序- - 存储器采用虚拟地址空间、线性地址空间

49、和物理地存储器采用虚拟地址空间、线性地址空间和物理地存储器采用虚拟地址空间、线性地址空间和物理地存储器采用虚拟地址空间、线性地址空间和物理地址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能- - 虚拟地址空间虚拟地址空间虚拟地址空间虚拟地址空间64TB64TB(2 24646)- 4- 4级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存- Windows- Windows、LinuxLin

50、ux操作系统均运行在该模式下操作系统均运行在该模式下操作系统均运行在该模式下操作系统均运行在该模式下36http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )虚拟虚拟虚拟虚拟80868086模式(模式(模式(模式(V86V86模式)模式)模式)模式)系统管理模式系统管理模式系统管理模式系统管理模式 - 为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源管理和系统安全平台功能管理和系统安全平台功能管理和系统安全平台功能管理和系统安全

51、平台功能- - 进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境- - 在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个80868086处理器的工作处理器的工作处理器的工作处理器的工作比较项目比较项目实地址模式实地址模式虚拟虚拟8086模式模式内存管理内存管理分段管理分段管理既分段又分页

52、既分段又分页存储空间存储空间1MB每个每个8086程序任务寻址程序任务寻址1MB,总寻,总寻址空间址空间4GB多任务多任务不支持不支持支持,虚拟支持,虚拟8086模式是模式是Pentium保保护模式中多任务的一个任务护模式中多任务的一个任务37http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )IA-32eIA-32e模式(支持模式(支持模式(支持模式(支持Intel EM64TIntel EM64T的的的的IA-32IA-32处理器才有)处理器才有)处理器才有)处理器才有)- 兼容模式兼容模式兼容模式兼容模式 类似于类似于32位保护模式,传统的位保护

53、模式,传统的16位或位或32位程序无需位程序无需重新编译就可以运行在重新编译就可以运行在64位操作系统中。在位操作系统中。在64位模式位模式和保护模式下支持的所有特权级别在兼容模式同样支和保护模式下支持的所有特权级别在兼容模式同样支持。持。 - 6464位模式位模式位模式位模式 允许允许64位操作系统运行存取位操作系统运行存取64位线性地址空间的应位线性地址空间的应用程序,程序可访问的线性地址空间达到用程序,程序可访问的线性地址空间达到264字节,字节,物理地址空间增加到物理地址空间增加到240字节。通用寄存器的宽度增字节。通用寄存器的宽度增加到加到64位,并新增了位,并新增了8个通用寄存器和

54、个通用寄存器和8个个SIMD寄存寄存器。器。 38http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )工作模式的转换工作模式的转换工作模式的转换工作模式的转换39http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.6.2 IA-32处理器中的寄存器处理器中的寄存器 基本寄存器基本寄存器基本寄存器基本寄存器系统级寄存器系统级寄存器系统级寄存器系统级寄存器调试与测试寄存器调试与测试寄存器浮点寄存器浮点寄存器通用寄存器通用寄存器通用寄存器通用寄存器指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器标志寄存器

55、标志寄存器标志寄存器标志寄存器段寄存器段寄存器段寄存器段寄存器控制寄存器控制寄存器控制寄存器控制寄存器系统地址寄存器系统地址寄存器系统地址寄存器系统地址寄存器数据寄存器数据寄存器数据寄存器数据寄存器地址指针寄存器地址指针寄存器地址指针寄存器地址指针寄存器变址寄存器变址寄存器变址寄存器变址寄存器40http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )AH ALBH BLCH CLDH DLSPBPDISI累加器累加器基址变址基址变址计数计数数据数据堆栈指针堆栈指针基址指针基址指针目的变址目的变址源变址源变址32位位1.通用寄存器通用寄存器16位位AXBX

56、CXDXSPBPDISI16位名称位名称 AXAX、BXBX、CXCX、DXDX、SPSP、BPBP、DIDI、SISI分别是分别是分别是分别是EAXEAX、EBXEBX、ECXECX、EDX EDX 、ESPESP、EBPEBP、EDIEDI、ESIESI的低的低的低的低1616位位位位 ALAL、BL BL 、CLCL、DLDL分别是分别是分别是分别是AXAX、BXBX、CXCX、DXDX的低的低的低的低八位八位八位八位 AHAH、BH BH 、CHCH、DHDH分别是分别是分别是分别是AXAX、BXBX、CXCX、DXDX的的的的高八位高八位高八位高八位EAXEBXECXEDXESPEB

57、PEDIESI32位名称位名称高高16位扩展位扩展41http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )1.通用寄存器通用寄存器n nEAX 累加器累加器 存放操作数和结果,乘除运算、存放操作数和结果,乘除运算、I/O指令中特指指令中特指n nEBX 基址寄存器基址寄存器 查表转换和间接寻址时存查表转换和间接寻址时存放基址放基址n nECX 计数寄存器计数寄存器 串操作和循环中做计数串操作和循环中做计数 n nEDX 数据寄存器数据寄存器 乘除运算、乘除运算、I/O指令中特指指令中特指 可以可以32位、位、16位或位或8位形式访问,例如,位形式访问,

58、例如, EAX可使用可使用16位的位的AX,也可以使用也可以使用8位的位的AH、AL42http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )1.通用寄存器通用寄存器n nESP 堆栈指针寄存器堆栈指针寄存器,存放栈顶地址,存放栈顶地址n nEBP 基址指针寄存器基址指针寄存器,存放栈段基地址,存放栈段基地址n nESI 源变址寄存器源变址寄存器n nEDI 目的变址寄存器目的变址寄存器 存放地址的偏移量,也可存放操作数,存放地址的偏移量,也可存放操作数, 但只能以但只能以32位或位或16位为单位访问位为单位访问如:如:ESI可以使用可以使用16位的位的

59、SI43http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )6464位模式下的通用寄存器位模式下的通用寄存器位模式下的通用寄存器位模式下的通用寄存器44http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2.段寄存器段寄存器n nCS 代码段寄存器代码段寄存器 n nDS 数据段寄存器数据段寄存器 n nSS 堆栈段寄存器堆栈段寄存器n nES 附加段寄存器附加段寄存器n nFS、GS 附加段寄存器附加段寄存器段寄存器均段寄存器均为为16位的寄存器位的寄存器用于存储器寻址,存放段的开始地址用于存储器寻址,存放段

60、的开始地址在在64位模式下,位模式下,FS, GS无效,无效,CS, DS, ES, SS均指向均指向基地址为基地址为0的的“段段”。堆栈段堆栈段数据段数据段附加段附加段代码段代码段45http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )3.指令指针寄存器指令指针寄存器n nEIP 指令指针寄存器指令指针寄存器:即程序计数器,即程序计数器,指向指向下一条下一条指令在代码段中的偏移量指令在代码段中的偏移量16位的位的IP高高16位扩展位扩展32位指令指针寄存器位指令指针寄存器EIPn n64位模式下,扩展高位模式下,扩展高8位成为位成为64位位RIP32

61、位的位的EIP高高32位扩展位扩展64位指令指针寄存器位指令指针寄存器RIP46http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )EFLAGS 标志寄存器(标志寄存器( 程序状态字寄存器程序状态字寄存器PSW ):记录系统运行中的各种状态记录系统运行中的各种状态 和信和信息。由各种息。由各种标志位标志位构成,反映运算后的结果构成,反映运算后的结果特征,将影响某些指令(如条件转移指令)特征,将影响某些指令(如条件转移指令)的执行。的执行。4.标志寄存器标志寄存器 47http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版

62、版) ) 8086/80888086/8088程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器) b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF符号符号 名称名称 值为值为“1”的条件的条件 CF CF 进位标志进位标志进位标志进位标志 加加加加/ /减法时产生进位减法时产生进位减法时产生进位减法时产生进位/ /借位借位借位借位 OF OF 溢出标志溢出标志溢出标志溢出标志 运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表

63、示的范围 ZF ZF 零标志零标志零标志零标志 运算结果为运算结果为运算结果为运算结果为0 0时时时时 SF SF 符号标志符号标志符号标志符号标志 运算结果的最高位为运算结果的最高位为运算结果的最高位为运算结果的最高位为“1”“1”时时时时 AF AF 辅助进位标志辅助进位标志辅助进位标志辅助进位标志 运算时半字节(运算时半字节(运算时半字节(运算时半字节(b3b3)产生进位)产生进位)产生进位)产生进位/ /借位借位借位借位 PF PF 奇偶标志奇偶标志奇偶标志奇偶标志 操作结果低操作结果低操作结果低操作结果低8 8位为位为位为位为“1”“1”的位数为偶数时的位数为偶数时的位数为偶数时的位

64、数为偶数时 DF DF 方向标志方向标志方向标志方向标志 串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动 IF IF 中断允许标志中断允许标志中断允许标志中断允许标志 允许允许允许允许CPUCPU响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时 TF TF 跟踪标志跟踪标志跟踪标志跟踪标志 CPU CPU处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式48http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版

65、) )思考题:以下的几个思考题:以下的几个4位十六进制数相加,会使得位十六进制数相加,会使得8088状态寄存器的以下几位为什么值?状态寄存器的以下几位为什么值?CFCFPFAFZFSFOFOF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC000H+C808H1 110101 11 110010 00 001011 10 000010 049http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )注意注意:1.进位标志进位标志CF是表示是表示无符号数无符号数是否超出范围,是否超出范围,但运算结果仍

66、然正确;但运算结果仍然正确;2.溢出标志表示的是溢出标志表示的是有符号数有符号数运算结果是否超运算结果是否超出范围,超出范围则运算结果已经不正确;出范围,超出范围则运算结果已经不正确;3.处理器对两个操作数进行运算的时候是按照处理器对两个操作数进行运算的时候是按照无符号数无符号数求得结果,并相应设置求得结果,并相应设置CF,根据根据是否超出有符号数的范围设置是否超出有符号数的范围设置OF;4.对于程序员,如果做无符号运算,应该关心对于程序员,如果做无符号运算,应该关心CF,做有符号运算应该关心做有符号运算应该关心OF。50http:/http:/现代微机原理与接口技术现代微机原理与接口技术(

67、(第第2 2版版) )符号符号 名称名称 值为值为“1”的条件的条件 IOPL IOIOPL IO特权位特权位特权位特权位 其值表示该任务使用的其值表示该任务使用的其值表示该任务使用的其值表示该任务使用的I/OI/O操作的特权级操作的特权级操作的特权级操作的特权级 00 00为最高的核心级,为最高的核心级,为最高的核心级,为最高的核心级,1111是最低的用户级是最低的用户级是最低的用户级是最低的用户级 NT NT 嵌套标志嵌套标志嵌套标志嵌套标志 当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时 RF RF 恢复标志恢复标志恢复标

68、志恢复标志 DBUG DBUG调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点 VM VM 虚拟虚拟虚拟虚拟80868086模式模式模式模式 从保护模式进入到虚拟从保护模式进入到虚拟从保护模式进入到虚拟从保护模式进入到虚拟80868086模式模式模式模式 AC AC 对齐检查对齐检查对齐检查对齐检查 当有数据访问出现对齐故障的时候当有数据访问出现对齐故障的时候当有数据访问出现对齐故障的时候当有数据访问出现对齐故障的时候 VIF VIF 虚拟中断位虚拟中断位虚拟中断位虚拟中断位 允许允许允许允许V86V86扩展或允许保护模式

69、虚拟中断扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断 VIP VIP 虚拟中断挂起位虚拟中断挂起位虚拟中断挂起位虚拟中断挂起位 虚拟中断被挂起虚拟中断被挂起虚拟中断被挂起虚拟中断被挂起 ID ID 标识位标识位标识位标识位 对它的读写表明处理器支持对它的读写表明处理器支持对它的读写表明处理器支持对它的读写表明处理器支持CPUIDCPUID这部分同这部分同这部分同这部分同80888088OF3122 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0DF IF TF SFZFAFCFPFIOPLNTRF

70、VMACVIFVIPID保 留IA-32 IA-32 标志寄存器标志寄存器标志寄存器标志寄存器EFLAGEFLAG51http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )5. 控制寄存器控制寄存器 31 12 11 4 3 0PWTPCD页目录基地址寄存器页目录基地址寄存器CR3页故障线性地址寄存器页故障线性地址寄存器CR231 0保保 留留CR1WP31 30 29 18 17 16 5 4 3 2 1 0NEETPEMPNWCDPGCR031 0EMTSAMPGEPCE31 10 9 8 7 6 5 4 3 2 1 0MCEPAE PSE DE T

71、SDVMEPVI保留,缺省为全保留,缺省为全0CR4* OSFXSR* OSXMMEXCPT52http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )写保护写保护 定位屏蔽定位屏蔽 允许分页允许分页禁止禁止Cache 不写贯穿不写贯穿保护模式允许保护模式允许 浮点协处理器监控浮点协处理器监控 模拟浮点协处理器模拟浮点协处理器任务切换任务切换 处理器扩展类型处理器扩展类型 数值异常数值异常 WP31 30 29 18 17 16 5 4 3 2 1 0NEETPEMPNWCDPGCR0EMTSAMCR0是在以前是在以前286MSW(机器状态字)基础上扩展来

72、的,(机器状态字)基础上扩展来的,可在核心级中用可在核心级中用MOV EAX, CR0/MOV CR0, EAXMOV EAX, CR0/MOV CR0, EAX指令指令来读取和写入。来读取和写入。53http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )禁止禁止Cache页面写贯穿页面写贯穿 31 12 11 4 3 0PWTPCD页目录基地址寄存器页目录基地址寄存器CR354http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )性能计数器允许性能计数器允许页全局允许页全局允许允许机器检查允许机器检查 物理地址扩

73、展物理地址扩展页大小扩展位页大小扩展位 调试扩充位调试扩充位 禁止定时标志禁止定时标志 保护模式虚拟中断保护模式虚拟中断 虚拟虚拟8086模式扩展模式扩展 PGEPCE831 7 6 5 4 3 2 1 0MCEPAE PSE DE TSDVMEPVI保留,缺省为全保留,缺省为全0CR455http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )6 系统地址寄存器系统地址寄存器 GDTR 48GDTR 48位的全局描述符表寄存器位的全局描述符表寄存器位的全局描述符表寄存器位的全局描述符表寄存器 全局描述符表全局描述符表32位线性地址位线性地址 16位界限值

74、位界限值 IDTR 48IDTR 48位的中断描述符表寄存器位的中断描述符表寄存器位的中断描述符表寄存器位的中断描述符表寄存器 中断描述符表中断描述符表32位线性地址位线性地址 16位界限值位界限值 TR 16TR 16位的任务状态段寄存器位的任务状态段寄存器位的任务状态段寄存器位的任务状态段寄存器 TSS的的16位选择字位选择字 LDTR 16LDTR 16位的局部描述符选择字寄存器位的局部描述符选择字寄存器位的局部描述符选择字寄存器位的局部描述符选择字寄存器 LDT的的16位选择字位选择字 56http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )当

75、机器复位的时候当机器复位的时候CS=FFFFH,EIP, DS, ES, SS, FS, GS以及以及EFLAGS寄存器被清零。因为复位之寄存器被清零。因为复位之后后CS:EIP= FFFF:00000000,因此机器复位或开,因此机器复位或开机后,都会自动从这个地址开始取指令,这里应机后,都会自动从这个地址开始取指令,这里应该是该是BIOS的第一条指令。的第一条指令。57http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )1. Pentium的基本数据类型的基本数据类型1) 1) 整型数据类型整型数据类型整型数据类型整型数据类型 包括无符号数和有符号

76、数,其中有符号数以包括无符号数和有符号数,其中有符号数以包括无符号数和有符号数,其中有符号数以包括无符号数和有符号数,其中有符号数以2 2的补的补的补的补码形式表示,最高位为符号位,码形式表示,最高位为符号位,码形式表示,最高位为符号位,码形式表示,最高位为符号位,1 1表示负数表示负数表示负数表示负数类类 型型位数位数无符号数范围无符号数范围有符号数范围有符号数范围字节字节80255-128+127字字16065535-32768+32767双字双字320232-1(4G-1)-231+231-1四字四字640264-1(16T-1)-263+263-12.6.3 IA-32处理器在实地址模

77、式下的存储管理处理器在实地址模式下的存储管理58http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )2) 2) 浮点数据类型浮点数据类型浮点数据类型浮点数据类型 最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据范围。范围。范围。范围。类型类型符号

78、符号位数位数有效位有效位数数阶码阶码位数位数数据范围数据范围单精度浮点数单精度浮点数1247 10 38双精度浮点数双精度浮点数15211 10 308扩展精度浮点数扩展精度浮点数16415 10 493259http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )3) 3) 指针数据类型指针数据类型指针数据类型指针数据类型 指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针。指针。指针。指针。1616位模式下,近指针为段内位模

79、式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内1616位有效地址,远指位有效地址,远指位有效地址,远指位有效地址,远指针包括针包括针包括针包括1616位段选择器和位段选择器和位段选择器和位段选择器和1616位段内有效地址位段内有效地址位段内有效地址位段内有效地址3232位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内3232位有效地址,远指位有效地址,远指位有效地址,远指位有效地址,远指针包括针包括针包括针包括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器和3232位段内有效地址位段内有效地址位段内有效地址位段内有效地址6

80、464位模式下,近指针为位模式下,近指针为位模式下,近指针为位模式下,近指针为6464位有效地址;操作数是位有效地址;操作数是位有效地址;操作数是位有效地址;操作数是3232位时,远指针包括位时,远指针包括位时,远指针包括位时,远指针包括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器和3232位(位(位(位(1616位)段内有效地址,操作数是位)段内有效地址,操作数是位)段内有效地址,操作数是位)段内有效地址,操作数是6464位时,远指针包位时,远指针包位时,远指针包位时,远指针包括括括括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器和6464位段内有效地址位段

81、内有效地址位段内有效地址位段内有效地址60http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )4) 4) 位域位域位域位域(field)(field)数据类型数据类型数据类型数据类型 是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一个字节的任何一位开始。可包含个字节的任何一位开始。可包含个字节的任何一位开始。可包含个字节的任何一位开始。可包含3232位数据。位数据。位数据。位数据。5) 5) 串数据类型串数据类型串数据类型串数

82、据类型 是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含2 23232- -1 1位,字节、字或双字串可包含位,字节、字或双字串可包含位,字节、字或双字串可包含位,字节、字或双字串可包含2 23232字节。字节。字节。字节。6) BCD6) BCD和压缩和压缩和压缩和压缩BCDBCD数据类型数据

83、类型数据类型数据类型 用用用用4 4位无符号二进制数表示十进制的位无符号二进制数表示十进制的位无符号二进制数表示十进制的位无符号二进制数表示十进制的0 09 9。压缩。压缩。压缩。压缩BCDBCD每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩BCDBCD数每字节的低数每字节的低数每字节的低数每字节的低4 4位表示一个十进制数,高位表示一个十进制数,高位表示一个十进制数,高位表示一个十进制数,高4 4位为位为位为位为0 0。61http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版

84、) )2.存储单元的地址和内容存储单元的地址和内容以字节为单位编址以字节为单位编址,即一个字节数据占一个存储,即一个字节数据占一个存储单元单元以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻2 2个、个、个、个、4 4个、个、个、个、8 8个连续字节单元,个连续字节单元,个连续字节单元,个连续字节单元,高高高高8 8位存放在高地址字节,低位存放在高地址字节,低位存放在高地址字节,低位存放在高地址字节,低8 8位存放在低地址字节位存放在低地址字节位存放在低地址字节位存放

85、在低地址字节, ,高高高高位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区 字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表示。示。示。示。字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址分别是偶数地址,分别

86、是偶数地址,分别是偶数地址,分别是偶数地址,4 4的倍数和的倍数和的倍数和的倍数和8 8的倍数。如果边界不对齐,的倍数。如果边界不对齐,的倍数。如果边界不对齐,的倍数。如果边界不对齐,PentiumPentium会会会会采用两个总线周期来完成操作,或者直接报采用两个总线周期来完成操作,或者直接报采用两个总线周期来完成操作,或者直接报采用两个总线周期来完成操作,或者直接报错,如果边界对齐,则只用一个总线周期完成操作。错,如果边界对齐,则只用一个总线周期完成操作。错,如果边界对齐,则只用一个总线周期完成操作。错,如果边界对齐,则只用一个总线周期完成操作。62http:/http:/现代微机原理与接

87、口技术现代微机原理与接口技术( (第第2 2版版) )存储单元的地址和内容存储单元的地址和内容12H34H56H78H9AHBCHDEHFFH0000H0001H0002H0003H0004H0005H0006H0007H0000H0000H地址上,地址上,地址上,地址上,字节数据是字节数据是字节数据是字节数据是12H12H字数据是字数据是字数据是字数据是3412H3412H双字数据是双字数据是双字数据是双字数据是78563412H78563412H四字数据是四字数据是四字数据是四字数据是FFDEBC9A78563412HFFDEBC9A78563412H63http:/http:/现代微机原

88、理与接口技术现代微机原理与接口技术( (第第2 2版版) )3. 实模式存储器寻址实模式存储器寻址 在此模式下,在此模式下,IA-32可以理解成是一个可处理可以理解成是一个可处理32位数位数据的高速的据的高速的8086。a. a. 存储器地址的分段存储器地址的分段存储器地址的分段存储器地址的分段 解决解决16位寄存器表示位寄存器表示20位地址的问题位地址的问题 段是最大长度为段是最大长度为64KB的的连续的内存储器块连续的内存储器块物理地址物理地址物理地址物理地址 每个存储单元的每个存储单元的20位实际地址,有唯一位实际地址,有唯一性,访问主存时必须用物理地址性,访问主存时必须用物理地址 逻辑

89、地址逻辑地址逻辑地址逻辑地址 每个存储单元的地址用两部分表示:每个存储单元的地址用两部分表示: 段基址段基址段基址段基址(段首址的高(段首址的高16位)位) 偏移量偏移量偏移量偏移量 (段内某单元相对段首址的地址差,也称(段内某单元相对段首址的地址差,也称为有效地址为有效地址EA)64http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )6417H 0100H 6417H10H + 0100H = 64170H + 0100H = 64270H几个不同的逻辑段地址在物理地址上是可重叠的几个不同的逻辑段地址在物理地址上是可重叠的 物理地址物理地址物理地址物

90、理地址= =段基址段基址段基址段基址16+16+偏移量偏移量偏移量偏移量 书写形式:书写形式:段基址:偏移量段基址:偏移量段基址:偏移量段基址:偏移量16位段地址位段地址16位段内偏移位段内偏移:16位段地址位段地址16位段内偏移位段内偏移(左移四位)(左移四位)+20位物理地址位物理地址=000065http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )b b、段寄存器与段、段寄存器与段、段寄存器与段、段寄存器与段 IA-32的的6个个16位的段寄存器,专门存放段基地址位的段寄存器,专门存放段基地址 代码段存放当前程序的指令代码代码段存放当前程序的指令

91、代码代码段存放当前程序的指令代码代码段存放当前程序的指令代码 数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果 堆栈段是以堆栈段是以堆栈段是以堆栈段是以“ “先入后出先入后出先入后出先入后出” ”为原则的数据区为原则的数据区为原则的数据区为原则的数据区 附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据 用户可以同时使用用户可以同时使用6个段,段间可以邻接、部分重叠、个段,段间可以邻接、部分重叠、 重叠或不相邻,但注意,段

92、的实体(被实际使用的段重叠或不相邻,但注意,段的实体(被实际使用的段空间)是不能重叠的。空间)是不能重叠的。66http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )段寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合 段段 32位偏移位偏移 16位偏移位偏移CS EIP IPSS ESP或或EBP SP或或BPDS EAX、EBX、ECX、 EDX、 BX、SI、 DI、 EDI、 ESI、一个、一个8或或32位数

93、位数 一个一个8或或16位数位数ES EDI(用于串指令)(用于串指令) DIFS 无默认无默认 无默认无默认GS 无默认无默认 无默认无默认3. 保护模式存储器寻址保护模式存储器寻址请参照第请参照第4章课件章课件67http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )4. 关于堆栈关于堆栈n堆栈是内存中堆栈是内存中“先入后出先入后出”、最大空间为、最大空间为64KB的存储区域,的存储区域,栈底地址大于栈顶地址栈底地址大于栈顶地址n栈区最高地址栈区最高地址1的单元为栈底,最后进栈数的单元为栈底,最后进栈数据所对应的地址单元为栈顶据所对应的地址单元为栈顶nSS指向栈的起始单元指向栈的起始单元(非栈底)(非栈底)n nSP寄存器动态跟踪栈顶位置寄存器动态跟踪栈顶位置,初始化时初始化时SP的值的值为堆栈的长度,即指向栈底为堆栈的长度,即指向栈底+2单元单元n将数据送入将数据送入堆栈叫堆栈叫压栈压栈,从栈中取出数据叫,从栈中取出数据叫弹弹出出,均以字为单位,均以字为单位68http:/http:/现代微机原理与接口技术现代微机原理与接口技术( (第第2 2版版) )69

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号