《第2章IntelIA32处理器结构与原理》由会员分享,可在线阅读,更多相关《第2章IntelIA32处理器结构与原理(69页珍藏版)》请在金锄头文库上搜索。
1、http:/ (第第2 2版版) )第第2章章 Intel IA-32处理器结构与原处理器结构与原理理简约睛灸秃勉盐不醋骆骚逮巳弗另坑滩浦韶恒惟澡荆托兔瓜别坦网腮揖征第2章IntelIA32处理器结构与原理第一章1http:/ (第第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处理器处理器那项贾白合戮话留艇棚拾铅禹陛垒晕稍搅辟堤巧惶练狗弹皮芦咐绣障怕囤第2章IntelIA32处理器结构与原理第一章2http:/ (第第2 2版版) )2. CISC与与RISC技术技术复杂指令集计算机(复杂指令集计算机(复杂指令集计算机(复杂指令集计算机(CISCCISC) :指令格式比较复杂,通指令格式比较复杂,通常采用不等长指令设
3、计,指令的寻址方式丰富,绝大多常采用不等长指令设计,指令的寻址方式丰富,绝大多数指令的执行需要多个时钟周期。数指令的执行需要多个时钟周期。缺点:缺点: 随着计算机结构的改进,指令的功能和指令条数增加,随着计算机结构的改进,指令的功能和指令条数增加,指令系统变得异常庞大。指令系统变得异常庞大。复杂的指令格式和众多的寻址方式使得组合逻辑电路复杂的指令格式和众多的寻址方式使得组合逻辑电路设计更为复杂,采用微程序又会降低执行速度。设计更为复杂,采用微程序又会降低执行速度。 复杂不规整的指令会降低流水线的性能复杂不规整的指令会降低流水线的性能 随着指令条数的增加,完成同一任务的指令组合变多,随着指令条数
4、的增加,完成同一任务的指令组合变多,编译系统在最后优化的时候分析就变得更加困难编译系统在最后优化的时候分析就变得更加困难 耽侄拱钵朗锗宪世骑概痰玖党檬粗秒枕柜暗龙格记纂岳莽诲绩器邵肠受逐第2章IntelIA32处理器结构与原理第一章3http:/ (第第2 2版版) )简单指令集计算机(简单指令集计算机(简单指令集计算机(简单指令集计算机(RISCRISC):):):):通过简化指令,使得计算通过简化指令,使得计算机的结构变得简单、合理,从而提高机的结构变得简单、合理,从而提高CPU的执行速度。的执行速度。 优化指令系统,只选用使用频率高的指令,减少指令优化指令系统,只选用使用频率高的指令,减
5、少指令条数。条数。采用简单的指令格式和寻址方式,指令的长度固定,采用简单的指令格式和寻址方式,指令的长度固定,大多数指令能在一个时钟周期内完成。大多数指令能在一个时钟周期内完成。除了除了Load/Store指令能访问存储器外外,其他任何指指令能访问存储器外外,其他任何指令的操作数或者为立即数或者存放在寄存器中,因此,令的操作数或者为立即数或者存放在寄存器中,因此,进行的是寄存器与寄存器之间从操作。通常进行的是寄存器与寄存器之间从操作。通常RISC处处理器设计了大量的寄存器临时存放数据。理器设计了大量的寄存器临时存放数据。由于计算机结构简单,所以主要采用硬布线逻辑,较由于计算机结构简单,所以主要
6、采用硬布线逻辑,较少使用或者不用微程序控制。少使用或者不用微程序控制。织忘快伎扛厄喳窘化郑婚买箍钙蹬蛔油骂带锗嘻涧糟搬龟窝束撇蓑挺泅贰第2章IntelIA32处理器结构与原理第一章4http:/ (第第2 2版版) )3. 高速缓冲存储器(高速缓冲存储器(Cache)主机主机主存主存高速缓冲存储器高速缓冲存储器Cache的设立依据是程序访问的局部性原理的设立依据是程序访问的局部性原理 :for(int i; i100; i+) ai=i*i;渍浊迷妨讣嚎疗钟加堵辱扎院蹈隔绸慰晨妥封侨寄史图猿违晤康剩诺砾悼第2章IntelIA32处理器结构与原理第一章5http:/ (第第2 2版版) )2.1
7、.2 Pentium处理器的特性处理器的特性80x86系列微处理器兼容系列微处理器兼容有有64位数据总线、位数据总线、 32位地址总线,寻址空间位地址总线,寻址空间4GB。RISC型超标量结构型超标量结构 - - 两个两个两个两个5 5级整数指令流水线,一个级整数指令流水线,一个级整数指令流水线,一个级整数指令流水线,一个8 8级浮点流水线。级浮点流水线。级浮点流水线。级浮点流水线。具有超级流水线技术的高性能浮点运算器。具有超级流水线技术的高性能浮点运算器。数据数据-代码分离式高速缓存,符合代码分离式高速缓存,符合MESI协议。协议。增强的错误检测和报告功能。增强的错误检测和报告功能。利用片上
8、分支目标缓冲器提高分支指令预测准确性。利用片上分支目标缓冲器提高分支指令预测准确性。常用的指令不采用微程序设计,而改用硬件实现。常用的指令不采用微程序设计,而改用硬件实现。支持支持64位外部数据总线突发传输方式位外部数据总线突发传输方式通过通过APIC总线支持多处理器系统总线支持多处理器系统非片架绣舅尾劣贿硼健单殆镇抒丙晦箕犯塑缀竣思泊维万酥犬矾假肥知伺第2章IntelIA32处理器结构与原理第一章6http:/ (第第2 2版版) )分支目标分支目标缓冲器缓冲器 代码代码Cache 8KBTLB指令指令指针指针预取缓冲存储器预取缓冲存储器指令译码部件指令译码部件256位位总总 线线 接接 口
9、口 部部 件件分分页页部部件件64位数位数据总线据总线 预取预取地址地址32位地位地址总线址总线控制控制控控 制制 部部 件件地址生成地址生成(U流水线)流水线)地址生成地址生成(V流水线)流水线)控制控制ROMALU(U流水线)流水线)ALU(V流水线)流水线)整数寄存器组整数寄存器组桶形移位器桶形移位器数据数据 Cache 8KBTLB浮点部件浮点部件控制控制寄存器组寄存器组加法器加法器除法器除法器乘法器乘法器80位位80位位分分支支检检测测和和目目标标地地址址64位数位数据总线据总线32位地位地址总线址总线32位位32位位32位位32位位32位位32位位= =指令预取指令预取指令预取指令
10、预取= =首次译码首次译码首次译码首次译码= =二次译码二次译码二次译码二次译码= =指令执行指令执行指令执行指令执行= =写回写回写回写回R R2.1.3 Pentium处理器的内部结构与工作原理处理器的内部结构与工作原理途膝塌陵喂煌跋擎故军阁额粪乙噬叁脚卸绘需闭鼠篙磷扶齿南打尔摇初蠢第2章IntelIA32处理器结构与原理第一章7http:/ (第第2 2版版) )指令配对规则指令配对规则配对的指令必须是简单指令配对的指令必须是简单指令两条指令之间不可存在两条指令之间不可存在“写后读写后读”或或“写后写写后写”这这样的寄存器相关性样的寄存器相关性一条指令不能同时既包含位移量又包含立即数一条
11、指令不能同时既包含位移量又包含立即数带前缀(带前缀(JCC指令的指令的OF除外)的指令只能出现在除外)的指令只能出现在U流水中流水中浮点运算指令不能和任何指令配对(浮点运算指令不能和任何指令配对(FCXH除外)除外)MOV AX, 200MOV CX, AXMOV AX, 200MOV AX, 412冬运兢遵姚全眷愉骋植轰杯校炸猎技浇跌豢毋与淘脓舷掏绞敌此查衫臭驴第2章IntelIA32处理器结构与原理第一章8http:/ (第第2 2版版) )2.2 P6微结构的处理器微结构的处理器2.2.1 P6微结构概述微结构概述 采用采用12级级3流水超标量结构流水超标量结构多路分支预测多路分支预测-
12、 -预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预 先译码分支之后的指令提供依据先译码分支之后的指令提供依据先译码分支之后的指令提供依据先译码分支之后的指令提供依据 动态数据流分析动态数据流分析 - - 处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可用性- - 以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这
13、些指令 推测执行推测执行 - - 在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流 双独立总线结构双独立总线结构- - 后端总线连接到后端总线连接到后端总线连接到后端总线连接到L2 CacheL2 Cache上上上上- - 前端总线前端总线前端总线前端总线FSBFSB主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作Pentium IIPentium II北桥北桥北桥北桥内存内存内存内存FSB 前端总线前端总线L2
14、 CacheL2 Cache后端总线后端总线山帝嗣孪哨蛰负扔够介近吗葫部翼十吕滚捻禹沦蚌仆属纠雾评斑鸭剧画褥第2章IntelIA32处理器结构与原理第一章9http:/ (第第2 2版版) )关于乱序执行技术关于乱序执行技术为了提高指令流的执行效率,乱序执行核心监视很为了提高指令流的执行效率,乱序执行核心监视很多条指令,然后在不损失数据完整性的前提下,采用多条指令,然后在不损失数据完整性的前提下,采用能充分发挥多个处理部件并行工作的指令顺序来执行。能充分发挥多个处理部件并行工作的指令顺序来执行。这个指令顺序可能和原始程序的不一样。这个指令顺序可能和原始程序的不一样。1)A=B+C2)P=A*2
15、3)Q=D-E1)和)和3)可配对同时执行)可配对同时执行株夫扁比坑煎种浑翰钟别乾阶炒颅木壮株浑肄悸溃昂斯罢毛定为伐潘软止第2章IntelIA32处理器结构与原理第一章10http:/ (第第2 2版版) )2.2.2 Pentium III处理器内部结构及工作原理处理器内部结构及工作原理 剥顽刃猛伎糕林揣宇孵势饿榴歉呵毕腊埃霹裳病橡咬受胀齐去芹扬艰愿各第2章IntelIA32处理器结构与原理第一章11http:/ (第第2 2版版) )2.3 NetBurst微结构的处理器微结构的处理器 2.3.1 NetBurst微结构概述微结构概述 1. 1. 超级流水线技术超级流水线技术超级流水线技术
16、超级流水线技术衡量衡量CPU的性能指标是的性能指标是CPU完成应用程序所需的总时完成应用程序所需的总时间。其计算公式如下:间。其计算公式如下: CPUCPU性能性能性能性能=CPU=CPU的主频的主频的主频的主频IPCIPC IPC是每时钟执行的指令条数。是每时钟执行的指令条数。 要提高要提高CPU性能,可采用提高性能,可采用提高CPU主频和提高主频和提高IPC。要提高主频要提高主频要提高主频要提高主频减少每个流水级的执行周期减少每个流水级的执行周期减少每个流水级的执行周期减少每个流水级的执行周期要减小每要减小每要减小每要减小每个流水级的任务量个流水级的任务量个流水级的任务量个流水级的任务量将
17、任务再分解将任务再分解将任务再分解将任务再分解增加流水线深度增加流水线深度增加流水线深度增加流水线深度讳缓屁霹丰艳冉蹦幅浑迅恿颇封婶琼象飘掀豺哲腮根霸哮屈秩菠样瘫燥技第2章IntelIA32处理器结构与原理第一章12http:/ (第第2 2版版) )2.快速执行引擎快速执行引擎 NetBurst微结构中配置了一种时钟缓冲器电路,可微结构中配置了一种时钟缓冲器电路,可以使该结构下以使该结构下2个执行简单指令的个执行简单指令的ALU和和2个存储地址个存储地址AGU运行在两倍的运行在两倍的CPU核心频率下核心频率下 3.高级动态执行高级动态执行 一个高达一个高达126条指令的超大指令窗口,避免了处
18、理器条指令的超大指令窗口,避免了处理器为了等待配对指令而出现暂时的停顿,也减少了因为了等待配对指令而出现暂时的停顿,也减少了因Cache没命中,到主存中获取数据而产生等待的次数。没命中,到主存中获取数据而产生等待的次数。 一个一个4KB的分支目标缓冲器的分支目标缓冲器BTB记录更多的过去分记录更多的过去分支的历史细节,再配以改进的分支预测算法,使分支的历史细节,再配以改进的分支预测算法,使分支预测失误率比支预测失误率比Pentium III下降了下降了33 。 尝益王汝由掖声帝寇糟稼颐幸伙唆知骄汛埠恤茧匆岂况些泄肇姿迪盏乳除第2章IntelIA32处理器结构与原理第一章13http:/ (第第
19、2 2版版) )4. 执行跟踪执行跟踪Cache(execution trace Cache) 放弃放弃L1 指令指令Cache的设计,采用执行跟踪的设计,采用执行跟踪Cache,它,它在译码器的后面,按程序流顺序存放已经译码好的最在译码器的后面,按程序流顺序存放已经译码好的最多多12,000条微指令,条微指令, 5. 高速系统总线高速系统总线采用了一种采用了一种 “四倍速四倍速”技术技术quad pumping,使得,使得前端总线能很方便的工作再前端总线能很方便的工作再4倍于系统总线的频率上。倍于系统总线的频率上。6. 高级传输高级传输Cache采用采用8路相联的片内路相联的片内L2 Cac
20、he ,与核心同频工作,与,与核心同频工作,与CPU核心的专用总线宽度为核心的专用总线宽度为256位,是过去的位,是过去的4倍,这倍,这样主频为样主频为2.8GHz的的Pentium 4其数据带宽将为其数据带宽将为89.6GBps。 妈永橱奴癣恳牧轩磁柏炽舵济沧阶辉双察爪絮柒流柑朱塔车涡澡钱板饮细第2章IntelIA32处理器结构与原理第一章14http:/ (第第2 2版版) )2.3.2 Pentium 4处理器内部结构及工作原处理器内部结构及工作原理理 惋哑虎枝片迸悍篷扛永忙喜附革博弊员访勺培堡绍卵昧犬劫乘芜陛伏鞋姿第2章IntelIA32处理器结构与原理第一章15http:/ (第第2
21、 2版版) )2.3.3 SIMD技术技术 5757条条条条MMXMMX指令操作指令操作指令操作指令操作8 8个个个个6464位长的位长的位长的位长的MMXMMX寄存器内的紧寄存器内的紧寄存器内的紧寄存器内的紧缩字节(缩字节(缩字节(缩字节(8 8个字节打包成一个个字节打包成一个个字节打包成一个个字节打包成一个6464位长的数据)、字或位长的数据)、字或位长的数据)、字或位长的数据)、字或双字整型数上执行双字整型数上执行双字整型数上执行双字整型数上执行SIMDSIMD7070条条条条SSESSE指令处理在指令处理在指令处理在指令处理在8 8个个个个128128位的位的位的位的XMMXMM寄存器
22、中的单精寄存器中的单精寄存器中的单精寄存器中的单精度浮点数和在度浮点数和在度浮点数和在度浮点数和在MMXMMX寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存控制指令通过增加主存到控制指令通过增加主存到控制指令通过增加主存到控制指令通过增加主存到CacheCache和处理器到主存的数和处理器到主存的数和处理器到主存的数和处理器到主存的数据流,改善存储性能,据流,改善存储性能,据流,改善存储性能,据流,改善存储性能,SIMDSIMD浮点指令使处理器能同浮点指令使处理器能同浮点指令使处理器能同浮点指令使处理器能同时执行时执行时执行时执
23、行4 4个浮点操作。个浮点操作。个浮点操作。个浮点操作。144144条条条条SSE2SSE2指令处理在指令处理在指令处理在指令处理在XMMXMM寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮点数和在点数和在点数和在点数和在MMXMMX与与与与XMMXMM寄存器中的紧缩整数。寄存器中的紧缩整数。寄存器中的紧缩整数。寄存器中的紧缩整数。 1313条条条条SSE3SSE3指令增强指令增强指令增强指令增强SSE, SSE2SSE, SSE2和和和和x87FPUx87FPU数学能力的性数学能力的性数学能力的性数学能力的性能。能。能。能。程漏舶诡痰皇蜡外旭滚紊耐姥
24、浸空吟卑啤逼凰孕玉犊后晕蝶萤剔帧擞逊腊第2章IntelIA32处理器结构与原理第一章16http:/ (第第2 2版版) )2.3.4 超线程超线程(Hyper-Threading, HT)技术技术允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程)HTHT技术由单处理器上的技术由单处理器上的技术由单处理器上的技术由单处理
25、器上的2 2个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,个或者多个逻辑处理器组成,每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的IA-32IA-32结构状态结构状态结构状态结构状态(AS)(AS)每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的每个逻辑处理器都有自己的IA-32IA-32通用寄存器、段寄通用寄存器、段寄通用寄存器、段寄通用寄存器、段寄存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等逻辑处理器共享的资源
26、包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口ASAS处理器核心处理器核心支持支持HT的的IA-32处理器处理器2个逻辑处理器个逻辑处理器共享一个核共享一个核AS=IA-32结构状态结构状态AS处理器核心处理器核心传统多传统多IA-32处理器系统处理器系统每个处理器一每个处理器一个独立封装个独立封装AS处理器核心处理器核心久栏蠕嗜脐赘戚绩菏谗栗柄迈菠惕柔充年铡怀袖阔乘辰速号缎退剿香售屉第2章IntelIA32处理器结构与原理第一章17http:/ (第第2 2版版) )2.3.
27、5 多核多核(Dual-Core)技术技术 通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来提供硬件多线程能力提供硬件多线程能力提供硬件多线程能力提供硬件多线程能力每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的ASAS,还拥有自己的执,还拥有自己的执,还拥有自己的执,还拥有自己的执行引擎,总线接口与行引擎,总线接口与行引擎,总线接口与行引擎,总线接口与L2 Cache L2 Cache 。结构上
28、有支持结构上有支持结构上有支持结构上有支持HTHT技术的和不支持技术的和不支持技术的和不支持技术的和不支持HTHT技术的双核结构技术的双核结构技术的双核结构技术的双核结构Pentium D IA-32处理器处理器ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 CacheL2 Cache总线接口总线接口总线接口总线接口Pentium EE IA-32处理器处理器系统总线系统总线ASAS执行引擎执行引擎执行引擎执行引擎LocalAPICL2 CacheL2 Cache总线接口总线接口总线接口总线接口系统总线系统总线ASASLocalAPICLocalAPICL
29、ocalAPIC督凤狄豆扼翅明隐戌精枚闹枝镣钢某百针还栋立富捆秩请曾嘿践腺舀赤辟第2章IntelIA32处理器结构与原理第一章18http:/ (第第2 2版版) )AMD的双核的双核Intel的双核的双核觉唆爪淘遣释岸饿储尤守涨弧班卡查众昭喀劣猜建诊照聋拽汹砧趾屈播断第2章IntelIA32处理器结构与原理第一章19http:/ (第第2 2版版) )2.3.6 Intel的的EM64T技术技术 完全兼容现在的完全兼容现在的IA-32结构结构具有传统具有传统IA-32模式和模式和IA-32e模式,模式,IA-32e模式模式包括包括64位模式和兼容模式(允许现有程序无需位模式和兼容模式(允许现
30、有程序无需修改就运行在传统修改就运行在传统IA-32模式和兼容模式下)模式和兼容模式下)64位模式下具有以下特性:位模式下具有以下特性:64位平板线性地址位平板线性地址增加增加8个新的通用寄存器个新的通用寄存器增加增加8个新的流个新的流SIMD扩展(扩展(SSE, SSE2和和SSE3)64位宽的通用寄存器和指令指针寄存器位宽的通用寄存器和指令指针寄存器呆钠驾钮评揪柜绿菜股础致税弄峦芒格枝揭轨励锰痕墨协再袖揩债坍成仟第2章IntelIA32处理器结构与原理第一章20http:/ (第第2 2版版) )2.4 Core微结构的处理器微结构的处理器 2.4.1 Core微结构的引入微结构的引入 N
31、etBurst微结构的缺陷:微结构的缺陷:IPC表现不佳,同频情况下表现不佳,同频情况下Pentium 4有时还不如前有时还不如前代的代的Pentium III频率提高后,功耗随之上升,功耗过高,影响了主频频率提高后,功耗随之上升,功耗过高,影响了主频的进一步提高。的进一步提高。 Power = CPower = Cdynamicdynamic 电压电压电压电压 电压电压电压电压 频率频率频率频率 其中其中Cdynamic是面积与处于活跃状态的数据位是面积与处于活跃状态的数据位翻转的翻转的触发器数量的乘积。触发器数量的乘积。依磁忧翟干氨南肠噬焕企肝吗挡蝎烃狡洒默骨桌颗痰壬边眠蹈劈弟栅基桐第2章
32、IntelIA32处理器结构与原理第一章21http:/ (第第2 2版版) )Core微结构的处理器系列微结构的处理器系列桌面平台的桌面平台的Conroe 移动平台的移动平台的Merom 服务器平台的服务器平台的Woodcrest Core处理器处理器 Core 2处理器处理器 单核的单核的Core Solo 双核的双核的Core Duo, Core 2 Duo 四核的四核的Core 2 Quad 廷歇颖乓阁降庙胃光淡去血虞象凡单冉殊啃膨蝶潞越每亦凶馅箩朵阜窟剑第2章IntelIA32处理器结构与原理第一章22http:/ (第第2 2版版) )2.4.2 Conroe处理器内部结构与特点处
33、理器内部结构与特点CoreCore微结构微结构微结构微结构图缺掸义痘斑亲分短耙空湖妖培唤锰缮炮司冯效姥软匙霓橱伸刹臂桨挪琉第2章IntelIA32处理器结构与原理第一章23http:/ (第第2 2版版) )ConroeConroe处理器内部结构示意图处理器内部结构示意图处理器内部结构示意图处理器内部结构示意图 嫌卑沧语环叹电浚愈弟钢杨狭千症馆茸苔哮霹胃善纯布咕贺表啥坛俱绊液第2章IntelIA32处理器结构与原理第一章24http:/ (第第2 2版版) )宽位动态执行宽位动态执行(Wide Dynamic Execution) 着眼点在于提高每时钟周期处理的指令数,着眼点在于提高每时钟周期
34、处理的指令数,改善执行时间和能源效率,同时完整的取、改善执行时间和能源效率,同时完整的取、发射、执行发射、执行4条指令条指令宏融合宏融合(macrofusion)技术能够在译码期间)技术能够在译码期间将常见的指令对组合到一个单独的微代码中将常见的指令对组合到一个单独的微代码中(Micro-op) 微代码融合微代码融合(Micro-op fusion)技术能在微)技术能在微代码执行前将译码自同一个代码执行前将译码自同一个x86指令的几个指令的几个微代码融合成更少的微代码微代码融合成更少的微代码 忽侵搬央宾鞘藐鸭阀崔康直穴擎逾涨灾匹插弘槽栓扫疫本况歧弗智往畅岳第2章IntelIA32处理器结构与原
35、理第一章25http:/ (第第2 2版版) )智能功效管理(智能功效管理(Intelligent Power Capability) 超细粒度功耗控制超细粒度功耗控制能够只对处于工作状态的能够只对处于工作状态的部件提供电源,而关闭非工作部件的电源供部件提供电源,而关闭非工作部件的电源供应,从而有效降低功耗。应,从而有效降低功耗。分离总线技术分离总线技术能够使总线宽度动态适应数据能够使总线宽度动态适应数据宽度的需要,对无效的信息位使其进入低电宽度的需要,对无效的信息位使其进入低电压状态,从而进一步降低功耗。压状态,从而进一步降低功耗。 功效管理平台技术功效管理平台技术通过调整散热风扇运作模通过
36、调整散热风扇运作模式,从外部降低处理器温度。式,从外部降低处理器温度。 装碰轨杆辖情朋盆各俗迹询鞠侈翱听搪此迄粮厨锤飞魔尹贪揽谤寄沛讨峦第2章IntelIA32处理器结构与原理第一章26http:/ (第第2 2版版) )Intel 智能内存访问(智能内存访问(Intel Smart Memory Access) 内存消歧技术内存消歧技术利用装载(利用装载(load)数据指令和)数据指令和存储(存储(store)数据指令之间的乱序执行来提)数据指令之间的乱序执行来提高乱序执行部件的效率高乱序执行部件的效率 高级预取技术高级预取技术解决了确保被使用的数据已经解决了确保被使用的数据已经位于最靠近能
37、获得最小内存延迟的地方的问位于最靠近能获得最小内存延迟的地方的问题。题。 荣膊烯富檬闷载柞祝希扔桥蒋当棱乓幂首纠魂问墅掩板控梧先姚班眼证异第2章IntelIA32处理器结构与原理第一章27http:/ (第第2 2版版) )Intel高级智能高级智能Cache (Intel Advanced Smart Cache) 采用了共享采用了共享L2 Cache的双核结构的双核结构 可以在两个核心间动态调整可以在两个核心间动态调整L2 Cache的分配的分配 ASAS执行引擎执行引擎执行引擎执行引擎Local APICLocal APICL2 Cache总线接口总线接口系统总线系统总线欲曰掌禽汀罕役沛
38、登雾镇挺县柒眠唁乞豺随晓蔼砧滇菲氮迷害窑蛤穆阳锭第2章IntelIA32处理器结构与原理第一章28http:/ (第第2 2版版) )2.4.4 45nm的酷睿的酷睿2处理器处理器Penryn的新特的新特性性英特尔的英特尔的45nm高高K金属栅极制程技术金属栅极制程技术晶体管密度提升近一倍晶体管密度提升近一倍晶体管切换功耗降低近晶体管切换功耗降低近 30%晶体管切换速度提高晶体管切换速度提高 20% 以上,源极漏极以上,源极漏极漏电率降低漏电率降低5倍以上倍以上晶体管栅极氧化层漏电率降低晶体管栅极氧化层漏电率降低 10 倍以上,倍以上,从而实现更低的功耗和更耐久的电池使用时从而实现更低的功耗和
39、更耐久的电池使用时间间御踪晕梢艰衷得赊酸姬酋尿镁唁捉姨叠尤暴枪豌坊影茨贱喊绑近连囤树琵第2章IntelIA32处理器结构与原理第一章29http:/ (第第2 2版版) )全新英特尔全新英特尔SSE4.1指令指令增加对两个不同的增加对两个不同的 32 位向量整数乘法操作的支位向量整数乘法操作的支持持引入引入 8 位无符号的最小位无符号的最小/最大操作,以及最大操作,以及 16 位位和和 32 位有符号和无符号的版本位有符号和无符号的版本添加高度专用的操作,从而带来显著的应用级添加高度专用的操作,从而带来显著的应用级增益增益u视频编码加速功能视频编码加速功能视频编码加速功能视频编码加速功能u浮点
40、点积操作(对于游戏和浮点点积操作(对于游戏和浮点点积操作(对于游戏和浮点点积操作(对于游戏和 3D 3D 内容创建非常内容创建非常内容创建非常内容创建非常重要)重要)重要)重要)u流加载指令(对于视频处理、成像,以及在图流加载指令(对于视频处理、成像,以及在图流加载指令(对于视频处理、成像,以及在图流加载指令(对于视频处理、成像,以及在图形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重形处理器和处理器之间共享数据的应用非常重要)要)要)要)孕蜡么韶搐襟痰捉杆溃测鹿述遵拯褥冻久晰萤竭阐潘旱碉来男源碑米镐虱第2章IntelIA
41、32处理器结构与原理第一章30http:/ (第第2 2版版) )增强的大型英特尔增强的大型英特尔 高级智能高速缓存高级智能高速缓存二级高速缓存增大二级高速缓存增大二级高速缓存增大二级高速缓存增大 50% 50%并搭配并搭配并搭配并搭配2424路组相联设计,路组相联设计,路组相联设计,路组相联设计,可进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。可进一步提高命中率并最大限度提升使用率。增强型英特尔增强型英特尔 虚拟化技术虚拟化技术通过改进微体系结构而不是虚拟机软件,使虚拟机通过改进微体系结构而不是虚拟机软件,使虚拟机通过改
42、进微体系结构而不是虚拟机软件,使虚拟机通过改进微体系结构而不是虚拟机软件,使虚拟机迁移速度平均提高迁移速度平均提高迁移速度平均提高迁移速度平均提高25-75%25-75%。快速快速 Radix-16 除法器除法器可在每次迭代中计算可在每次迭代中计算可在每次迭代中计算可在每次迭代中计算4 4位的商(上代是位的商(上代是位的商(上代是位的商(上代是2 2位),从而位),从而位),从而位),从而使延迟降低了使延迟降低了使延迟降低了使延迟降低了2 2倍。倍。倍。倍。增强型英特尔增强型英特尔 动态加速技术动态加速技术当一个内核处于空闲状态时,该增强特性可利用该当一个内核处于空闲状态时,该增强特性可利用该
43、当一个内核处于空闲状态时,该增强特性可利用该当一个内核处于空闲状态时,该增强特性可利用该内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一内核释放的性能扩展空间(如电能),来提升另一个仍处于激活状态的内核性能。个仍处于激活状态的内核性能。个仍处于激活状态的内核性能。个仍处于激活状态的内核性能。劣桃役聘凭唐上偷书为破晦喊稼媒屹镑毗湾狙喊沙幸普拦账终皮功贯机喂第2章IntelIA32处理器结构与原理第一章31http:/ (第第2 2版版) )2.5 Nehalem微架构的处理器微架构的处理器Nehalem微架构基本
44、特点微架构基本特点原生四核结构原生四核结构原生四核结构原生四核结构采用采用采用采用SMTSMT技术,每核可同时执行技术,每核可同时执行技术,每核可同时执行技术,每核可同时执行2 2个线程个线程个线程个线程4 4发射超标量,每核四条发射超标量,每核四条发射超标量,每核四条发射超标量,每核四条1616级流水线级流水线级流水线级流水线4848位虚拟地址空间,位虚拟地址空间,位虚拟地址空间,位虚拟地址空间,4040位物理地址空间位物理地址空间位物理地址空间位物理地址空间45nm45nm芯片工艺芯片工艺芯片工艺芯片工艺联裤皱明拦哑为溢情反咳仕鞠歪绵缚磕豌凋轻稀扁捅划赶匆握樱六就诅铃第2章IntelIA3
45、2处理器结构与原理第一章32http:/ (第第2 2版版) )Nehalem微架构的新特点微架构的新特点更大的并行性更大的并行性增加了乱序考察窗和调度表增加了乱序考察窗和调度表增加了乱序考察窗和调度表增加了乱序考察窗和调度表改进后的更高效的算法改进后的更高效的算法加快线程同步原语的执行加快线程同步原语的执行加快线程同步原语的执行加快线程同步原语的执行加快了分支预测失败时的处理速度加快了分支预测失败时的处理速度加快了分支预测失败时的处理速度加快了分支预测失败时的处理速度改进了硬件预取和改进了硬件预取和改进了硬件预取和改进了硬件预取和Load-StoreLoad-Store调度调度调度调度提高了
46、分支预测的性能提高了分支预测的性能新增加了新增加了新增加了新增加了2 2级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令级分支目标缓冲器,增大了对指令流历史的记录流历史的记录流历史的记录流历史的记录新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放新增加了重命名式返回栈缓冲,存放CALLCALL指指指指令的返回地址,并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出令的返回地址,并防止返回栈缓冲溢出毙澳井儒沸烂钧滩纲慢柒骑娩翰墨塔瓶识鄂夕幽焦笛饰贡号妓读瞻榆邮抚第2章I
47、ntelIA32处理器结构与原理第一章33http:/ (第第2 2版版) )Nehalem微架构的新特点微架构的新特点采用采用SMT(同时多线程)技术(同时多线程)技术同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程同一个执行核能同时执行两个线程新的缓存结构新的缓存结构与与与与CoreCore微架构一样的微架构一样的微架构一样的微架构一样的L1 CacheL1 Cache(32KB32KB指令指令指令指令CacheCache与与与与32KB32KB数据数据数据数据CacheCache)每个核配新的每个核配新的每个核配新的每个核配新的256KB256K
48、B极低延迟极低延迟极低延迟极低延迟L2 CacheL2 Cache新增新增新增新增8MB8MB包含共享式包含共享式包含共享式包含共享式 L3 Cache L3 Cache,当,当,当,当L3 CacheL3 Cache没有命中,则数据肯定不在没有命中,则数据肯定不在没有命中,则数据肯定不在没有命中,则数据肯定不在L1L1和和和和L2 CacheL2 Cache中中中中集成了内存控制器集成了内存控制器支持支持支持支持3 3通道的通道的通道的通道的DDR3DDR3内存内存内存内存猩膝枷翱星闯窘她查掷丫尸毒弧隘妒逗裸唾锋儿砌禁宗迈偏皿赶芜誉涪嫁第2章IntelIA32处理器结构与原理第一章34htt
49、p:/ (第第2 2版版) )Nehalem微架构的新特点微架构的新特点用用QuickPath代替了前端总线(代替了前端总线(FSB)最大带宽高达最大带宽高达最大带宽高达最大带宽高达25.6GB/s25.6GB/s采用高速差分信号传送采用高速差分信号传送采用高速差分信号传送采用高速差分信号传送采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接采用点到点互连技术,不仅连接CPUCPU和北桥,和北桥,和北桥,和北桥,还作为还作为还作为还作为CPUCPU与与与与CPUCPU之间的连接之间的连接之间的连接之间的连接惯报瑶禾堑扶丸洗价奴铅只阐咋滩漠慎枢征贤瑟墓叹巍俞素貌
50、膊惕濒渤颓第2章IntelIA32处理器结构与原理第一章35http:/ (第第2 2版版) )2.6 IA-32处理器基本执行环境处理器基本执行环境 实地址模式实地址模式实地址模式实地址模式 - - 与与与与8086/80888086/8088兼容,但可以处理兼容,但可以处理兼容,但可以处理兼容,但可以处理3232位数据位数据位数据位数据- 1MB- 1MB内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在0 (0 (核心核心核心核心) )级级级级- MS-DOS- MS-DOS运行在此模式下,运行在此模式下,运行
51、在此模式下,运行在此模式下,PCPC机开机首先进入的也机开机首先进入的也机开机首先进入的也机开机首先进入的也 是该模式是该模式是该模式是该模式- - 对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力保护模式保护模式保护模式保护模式 - - 支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序- - 存储器采用虚拟地址空间、线性地址空间和物理地存储器采用虚拟地址空间、线性
52、地址空间和物理地存储器采用虚拟地址空间、线性地址空间和物理地存储器采用虚拟地址空间、线性地址空间和物理地址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能- - 虚拟地址空间虚拟地址空间虚拟地址空间虚拟地址空间64TB64TB(2 24646)- 4- 4级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存- Windows- Windows、LinuxLinux操作系统均运行在该模式下操作系统
53、均运行在该模式下操作系统均运行在该模式下操作系统均运行在该模式下爪苏笨果来尹丈烫患艳娃褥滞阶祈怔棵昆上忽簿额洲换闽冷壮睦卖日诌蕾第2章IntelIA32处理器结构与原理第一章36http:/ (第第2 2版版) )虚拟虚拟虚拟虚拟80868086模式(模式(模式(模式(V86V86模式)模式)模式)模式)系统管理模式系统管理模式系统管理模式系统管理模式 - 为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源管理和系统安全平台功能管理和系统安全平台功能管理和系统安全平台功
54、能管理和系统安全平台功能- - 进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行,并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境- - 在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个80868086处理器的工作处理器的工作处理器的工作处理器的工作比较项目比较项目实地址模式实地址模式虚拟虚拟8086模式模式内存管理内存管理分段管理分段
55、管理既分段又分页既分段又分页存储空间存储空间1MB每个每个8086程序任务寻址程序任务寻址1MB,总寻,总寻址空间址空间4GB多任务多任务不支持不支持支持,虚拟支持,虚拟8086模式是模式是Pentium保保护模式中多任务的一个任务护模式中多任务的一个任务吩叁凄才乳巷札冤堪破逗滦埃薯股董烛琴巢阉豹障海捶智粥艰增唱仔胺挡第2章IntelIA32处理器结构与原理第一章37http:/ (第第2 2版版) )IA-32eIA-32e模式(支持模式(支持模式(支持模式(支持Intel EM64TIntel EM64T的的的的IA-32IA-32处理器才有)处理器才有)处理器才有)处理器才有)- 兼容模
56、式兼容模式兼容模式兼容模式 类似于类似于32位保护模式,传统的位保护模式,传统的16位或位或32位程序无需位程序无需重新编译就可以运行在重新编译就可以运行在64位操作系统中。在位操作系统中。在64位模式位模式和保护模式下支持的所有特权级别在兼容模式同样支和保护模式下支持的所有特权级别在兼容模式同样支持。持。 - 6464位模式位模式位模式位模式 允许允许64位操作系统运行存取位操作系统运行存取64位线性地址空间的应位线性地址空间的应用程序,程序可访问的线性地址空间达到用程序,程序可访问的线性地址空间达到264字节,字节,物理地址空间增加到物理地址空间增加到240字节。通用寄存器的宽度增字节。通
57、用寄存器的宽度增加到加到64位,并新增了位,并新增了8个通用寄存器和个通用寄存器和8个个SIMD寄存寄存器。器。 冗鹰澜按极涧禁哈匀绎梦谐粥狞妇另宙淤掸艳挎敬里片隐荣烤态裔冲悉啊第2章IntelIA32处理器结构与原理第一章38http:/ (第第2 2版版) )工作模式的转换工作模式的转换工作模式的转换工作模式的转换京卒出慨津馋虾熄托疲蒙砾草虾冷炬杂嘘指洱仆敞推差宋桥翌镑师淌惮挖第2章IntelIA32处理器结构与原理第一章39http:/ (第第2 2版版) )2.6.2 IA-32处理器中的寄存器处理器中的寄存器 基本寄存器基本寄存器基本寄存器基本寄存器系统级寄存器系统级寄存器系统级寄存
58、器系统级寄存器调试与测试寄存器调试与测试寄存器浮点寄存器浮点寄存器通用寄存器通用寄存器通用寄存器通用寄存器指令指针寄存器指令指针寄存器指令指针寄存器指令指针寄存器标志寄存器标志寄存器标志寄存器标志寄存器段寄存器段寄存器段寄存器段寄存器控制寄存器控制寄存器控制寄存器控制寄存器系统地址寄存器系统地址寄存器系统地址寄存器系统地址寄存器数据寄存器数据寄存器数据寄存器数据寄存器地址指针寄存器地址指针寄存器地址指针寄存器地址指针寄存器变址寄存器变址寄存器变址寄存器变址寄存器擞促耻茵谴伶促檄茨创祟赁辩退转衣吐捏望狈店鞍饮案愈热针简乘瓶悠椅第2章IntelIA32处理器结构与原理第一章40http:/ (第第
59、2 2版版) )AH ALBH BLCH CLDH DLSPBPDISI累加器累加器基址变址基址变址计数计数数据数据堆栈指针堆栈指针基址指针基址指针目的变址目的变址源变址源变址32位位1.通用寄存器通用寄存器16位位AXBXCXDXSPBPDISI16位名称位名称 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
60、、CXCX、DXDX的低八位的低八位的低八位的低八位 AHAH、BH BH 、CHCH、DHDH分别是分别是分别是分别是AXAX、BXBX、CXCX、DXDX的高八位的高八位的高八位的高八位EAXEBXECXEDXESPEBPEDIESI32位名称位名称高高16位扩展位扩展目追漫聪街谩纠皋曲趋迭萤捧傣陪焉屯魄理酷卡被尽评靴也棚掠瘤陶页周第2章IntelIA32处理器结构与原理第一章41http:/ (第第2 2版版) )1.通用寄存器通用寄存器n nEAX 累加器累加器 存放操作数和结果,乘除运算、存放操作数和结果,乘除运算、I/O指令中特指指令中特指n nEBX 基址寄存器基址寄存器 查表转
61、换和间接寻址时存查表转换和间接寻址时存放基址放基址n nECX 计数寄存器计数寄存器 串操作和循环中做计数串操作和循环中做计数 n nEDX 数据寄存器数据寄存器 乘除运算、乘除运算、I/O指令中特指指令中特指 可以可以32位、位、16位或位或8位形式访问,例如,位形式访问,例如, EAX可使用可使用16位的位的AX,也可以使用,也可以使用8位的位的AH、AL胎后戊鸿砌脓遮陀疥参堰吁挨淄愁斜辞平歪匹溪熔磺阮恫俯低夕睹渔需淑第2章IntelIA32处理器结构与原理第一章42http:/ (第第2 2版版) )1.通用寄存器通用寄存器n nESP 堆栈指针寄存器堆栈指针寄存器,存放栈顶地址,存放栈
62、顶地址n nEBP 基址指针寄存器基址指针寄存器,存放栈段基地址,存放栈段基地址n nESI 源变址寄存器源变址寄存器n nEDI 目的变址寄存器目的变址寄存器 存放地址的偏移量,也可存放操作数,存放地址的偏移量,也可存放操作数, 但只能以但只能以32位或位或16位为单位访问位为单位访问如:如:ESI可以使用可以使用16位的位的SI陈找笔陷涪随埠蓉怜仅蠕鞭刃得蓄弗硫霹篓襄孔蝇膝绑位监灵得技杂簧雅第2章IntelIA32处理器结构与原理第一章43http:/ (第第2 2版版) )6464位模式下的通用寄存器位模式下的通用寄存器位模式下的通用寄存器位模式下的通用寄存器陷疾袜盗举模痒易墓妊脑冗贪缺
63、犯龙拖江晚旦尔碱宫钠揽保锌曳鞭轮丙冬第2章IntelIA32处理器结构与原理第一章44http:/ (第第2 2版版) )2.段寄存器段寄存器n nCS 代码段寄存器代码段寄存器 n nDS 数据段寄存器数据段寄存器 n nSS 堆栈段寄存器堆栈段寄存器n nES 附加段寄存器附加段寄存器n nFS、GS 附加段寄存器附加段寄存器段寄存器均为段寄存器均为16位的寄存器位的寄存器用于存储器寻址,存放段的开始地址用于存储器寻址,存放段的开始地址在在64位模式下,位模式下,FS, GS无效,无效,CS, DS, ES, SS均指向均指向基地址为基地址为0的的“段段”。堆栈段堆栈段数据段数据段附加段附
64、加段代码段代码段吨宦擎厌匆菊闺镭啥务钙等瑟川阶辈媳枢寻朽侣约纸锥刽灶附蚤硫臀砷皆第2章IntelIA32处理器结构与原理第一章45http:/ (第第2 2版版) )3.指令指针寄存器指令指针寄存器n nEIP 指令指针寄存器指令指针寄存器:即程序计数器,即程序计数器,指向指向下一条下一条指令在代码段中的偏移量指令在代码段中的偏移量16位的位的IP高高16位扩展位扩展32位指令指针寄存器位指令指针寄存器EIPn n64位模式下,扩展高位模式下,扩展高8位成为位成为64位位RIP32位的位的EIP高高32位扩展位扩展64位指令指针寄存器位指令指针寄存器RIP帽围垫挝括狂灭戮打烟实滋呼狐量便懊虚坯
65、诚凳垃驭蛔狼块泽雍泛懈藐暴第2章IntelIA32处理器结构与原理第一章46http:/ (第第2 2版版) )EFLAGS 标志寄存器(标志寄存器( 程序状态字寄存器程序状态字寄存器PSW ):记录系统运行中的各种状态:记录系统运行中的各种状态 和信和信息。由各种息。由各种标志位标志位构成,反映运算后的结果构成,反映运算后的结果特征,将影响某些指令(如条件转移指令)特征,将影响某些指令(如条件转移指令)的执行。的执行。4.标志寄存器标志寄存器 编熏扁喜瘟降序拼冗皮蘸檄乱呛答奥烤撤腐陪沙子培驴特身浮甸鱼市葱缠第2章IntelIA32处理器结构与原理第一章47http:/ (第第2 2版版) )
66、 8086/80888086/8088程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器) b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF符号符号 名称名称 值为值为“1”的条件的条件 CF CF 进位标志进位标志进位标志进位标志 加加加加/ /减法时产生进位减法时产生进位减法时产生进位减法时产生进位/ /借位借位借位借位 OF OF 溢出标志溢出标志溢出标志溢出标志 运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围运算结果超出有符号整数能表示的范围
67、 ZF ZF 零标志零标志零标志零标志 运算结果为运算结果为运算结果为运算结果为0 0时时时时 SF SF 符号标志符号标志符号标志符号标志 运算结果的最高位为运算结果的最高位为运算结果的最高位为运算结果的最高位为“1”“1”时时时时 AF AF 辅助进位标志辅助进位标志辅助进位标志辅助进位标志 运算时半字节(运算时半字节(运算时半字节(运算时半字节(b3b3)产生进位)产生进位)产生进位)产生进位/ /借位借位借位借位 PF PF 奇偶标志奇偶标志奇偶标志奇偶标志 操作结果低操作结果低操作结果低操作结果低8 8位为位为位为位为“1”“1”的位数为偶数时的位数为偶数时的位数为偶数时的位数为偶数
68、时 DF DF 方向标志方向标志方向标志方向标志 串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动串操作中地址指针向低地址方向移动 IF IF 中断允许标志中断允许标志中断允许标志中断允许标志 允许允许允许允许CPUCPU响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时响应可屏蔽中断请求时 TF TF 跟踪标志跟踪标志跟踪标志跟踪标志 CPU CPU处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式处于单步执行的工作方式近邢峡八打胯坏庆补埔烦蹬毒叫盲拳掸怪尹拍浅肆扰冕瘩榴沼彤焉纪淄吱第2章IntelIA32处理器结构与
69、原理第一章48http:/ (第第2 2版版) )思考题:以下的几个思考题:以下的几个4位十六进制数相加,会使得位十六进制数相加,会使得8088状态寄存器的以下几位为什么值?状态寄存器的以下几位为什么值?CFCFPFAFZFSFOFOF8000H8000H+0000HC000HC000H+8000H4008H4008H+8010H0808HC000H+C808H1 110101 11 110010 00 001011 10 000010 0汉纱注诈滩铡秒想羞枯晴坟僵腿狮咯冠忱渭泰粤电卿嗓室示淳醚长音灰淋第2章IntelIA32处理器结构与原理第一章49http:/ (第第2 2版版) )注意注
70、意:1.进位标志进位标志CF是表示是表示无符号数无符号数是否超出范围,是否超出范围,但运算结果仍然正确;但运算结果仍然正确;2.溢出标志表示的是溢出标志表示的是有符号数有符号数运算结果是否超运算结果是否超出范围,超出范围则运算结果已经不正确;出范围,超出范围则运算结果已经不正确;3.处理器对两个操作数进行运算的时候是按照处理器对两个操作数进行运算的时候是按照无符号数无符号数求得结果,并相应设置求得结果,并相应设置CF,根据,根据是否超出有符号数的范围设置是否超出有符号数的范围设置OF;4.对于程序员,如果做无符号运算,应该关心对于程序员,如果做无符号运算,应该关心CF,做有符号运算应该关心,做
71、有符号运算应该关心OF。橡误淌币旨透仁棕菱维括主抵恒领心匝昼砧降铆绢欠暂卜沦尉镐玉苇房朝第2章IntelIA32处理器结构与原理第一章50http:/ (第第2 2版版) )符号符号 名称名称 值为值为“1”的条件的条件 IOPL IOIOPL IO特权位特权位特权位特权位 其值表示该任务使用的其值表示该任务使用的其值表示该任务使用的其值表示该任务使用的I/OI/O操作的特权级操作的特权级操作的特权级操作的特权级 00 00为最高的核心级,为最高的核心级,为最高的核心级,为最高的核心级,1111是最低的用户级是最低的用户级是最低的用户级是最低的用户级 NT NT 嵌套标志嵌套标志嵌套标志嵌套标
72、志 当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时当前任务嵌套在另一个任务中时 RF RF 恢复标志恢复标志恢复标志恢复标志 DBUG DBUG调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点 VM VM 虚拟虚拟虚拟虚拟80868086模式模式模式模式 从保护模式进入到虚拟从保护模式进入到虚拟从保护模式进入到虚拟从保护模式进入到虚拟80868086模式模式模式模式 AC AC 对齐检查对齐检查对齐检查对齐检查 当有数据访问出现对齐故障的时候当有数据访问出现对齐故障的时候当有数据访问出
73、现对齐故障的时候当有数据访问出现对齐故障的时候 VIF VIF 虚拟中断位虚拟中断位虚拟中断位虚拟中断位 允许允许允许允许V86V86扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断 VIP VIP 虚拟中断挂起位虚拟中断挂起位虚拟中断挂起位虚拟中断挂起位 虚拟中断被挂起虚拟中断被挂起虚拟中断被挂起虚拟中断被挂起 ID ID 标识位标识位标识位标识位 对它的读写表明处理器支持对它的读写表明处理器支持对它的读写表明处理器支持对它的读写表明处理器支持CPUIDCPUID这部分同这部分同这部分同这部分同80888088OF3122 21 20
74、19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0DF IF TF SFZFAFCFPFIOPLNTRFVMACVIFVIPID保 留IA-32 IA-32 标志寄存器标志寄存器标志寄存器标志寄存器EFLAGEFLAG寐僵梅肃驹杉坍紧授食敬蓉挤药俺北背蕉皂俄脐勾琐租尿轮术泻玩戏矩石第2章IntelIA32处理器结构与原理第一章51http:/ (第第2 2版版) )5. 控制寄存器控制寄存器 31 12 11 4 3 0PWTPCD页目录基地址寄存器页目录基地址寄存器CR3页故障线性地址寄存器页故障线性地址寄存器CR231 0保保 留留CR1WP
75、31 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 TSDVMEPVI保留,缺省为全保留,缺省为全0CR4* OSFXSR* OSXMMEXCPT乃阂汐嘴琉芍智耘弓漂退沫咖冒镑咙穿硕侍杖亿错憾祭哑锥靶困宅靛深岩第2章IntelIA32处理器结构与原理第一章52http:/ (第第2 2版版) )写保护写保护 定位屏蔽定位屏蔽 允许分页允许分页禁止禁止Cache 不写贯穿不写贯穿保护模式允许保护模式允许 浮点协处理器监控浮点协处理器监控 模拟浮点协
76、处理器模拟浮点协处理器任务切换任务切换 处理器扩展类型处理器扩展类型 数值异常数值异常 WP31 30 29 18 17 16 5 4 3 2 1 0NEETPEMPNWCDPGCR0EMTSAMCR0是在以前是在以前286MSW(机器状态字)基础上扩展来的,(机器状态字)基础上扩展来的,可在核心级中用可在核心级中用MOV EAX, CR0/MOV CR0, EAXMOV EAX, CR0/MOV CR0, EAX指令指令来读取和写入。来读取和写入。擂麦锑完矾滑解野萎桔猿众授灰降膝县扣稳券实豺菇透蝴滞么鹊损釜看咙第2章IntelIA32处理器结构与原理第一章53http:/ (第第2 2版版)
77、 )禁止禁止Cache页面写贯穿页面写贯穿 31 12 11 4 3 0PWTPCD页目录基地址寄存器页目录基地址寄存器CR3径芥环苛疟肘旦柯婴好壕谱妆狰秆嗡唯摹帧郑欺站滚糙埋孤炸胎淑潍纪担第2章IntelIA32处理器结构与原理第一章54http:/ (第第2 2版版) )性能计数器允许性能计数器允许页全局允许页全局允许允许机器检查允许机器检查 物理地址扩展物理地址扩展页大小扩展位页大小扩展位 调试扩充位调试扩充位 禁止定时标志禁止定时标志 保护模式虚拟中断保护模式虚拟中断 虚拟虚拟8086模式扩展模式扩展 PGEPCE831 7 6 5 4 3 2 1 0MCEPAE PSE DE TSD
78、VMEPVI保留,缺省为全保留,缺省为全0CR4姥乍泼矿扯宪靖涧纯铝黄免咎蕉癸酞明愉座豹侣讳花嗜泪坐半廷胺太鞍煞第2章IntelIA32处理器结构与原理第一章55http:/ (第第2 2版版) )6 系统地址寄存器系统地址寄存器 GDTR 48 GDTR 48位的全局描述符表寄存器位的全局描述符表寄存器位的全局描述符表寄存器位的全局描述符表寄存器 全局描述符表全局描述符表32位线性地址位线性地址 16位界限值位界限值 IDTR 48 IDTR 48位的中断描述符表寄存器位的中断描述符表寄存器位的中断描述符表寄存器位的中断描述符表寄存器 中断描述符表中断描述符表32位线性地址位线性地址 16位
79、界限值位界限值 TR 16 TR 16位的任务状态段寄存器位的任务状态段寄存器位的任务状态段寄存器位的任务状态段寄存器 TSS的的16位选择字位选择字 LDTR 16 LDTR 16位的局部描述符选择字寄存器位的局部描述符选择字寄存器位的局部描述符选择字寄存器位的局部描述符选择字寄存器 LDT的的16位选择字位选择字 拟端桔超宦银搓篮哮姓焰翅肤绥圾尘踏缸盏碴闰踢造臃惺缉涧篱韧禾绽崖第2章IntelIA32处理器结构与原理第一章56http:/ (第第2 2版版) )当机器复位的时候当机器复位的时候CS=FFFFH,EIP, DS, ES, SS, FS, GS以及以及EFLAGS寄存器被清零。
80、因为复位之寄存器被清零。因为复位之后后CS:EIP= FFFF:00000000,因此机器复位或开,因此机器复位或开机后,都会自动从这个地址开始取指令,这里应机后,都会自动从这个地址开始取指令,这里应该是该是BIOS的第一条指令。的第一条指令。赫俯秋街窑拯比文咨诊三洲缮炙仲液傲棵入漱崇菇慈筒条绿愧位钦庐阴雀第2章IntelIA32处理器结构与原理第一章57http:/ (第第2 2版版) )1. Pentium的基本数据类型的基本数据类型1) 1) 整型数据类型整型数据类型整型数据类型整型数据类型 包括无符号数和有符号数,其中有符号数以包括无符号数和有符号数,其中有符号数以包括无符号数和有符号
81、数,其中有符号数以包括无符号数和有符号数,其中有符号数以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处理器在实地址模式下的存储管理处理器在实地址模式下的存储管理守烧壹劝嫩踢萤恨瞬狱聘派娜昭市蜡
82、霜碧邪敷邻掀蜜细徘优臭比驳菜僵蘑第2章IntelIA32处理器结构与原理第一章58http:/ (第第2 2版版) )2) 2) 浮点数据类型浮点数据类型浮点数据类型浮点数据类型 最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据范围。范围。范围。范围。类型类型符号符号位数位数有效位有效位
83、数数阶码阶码位数位数数据范围数据范围单精度浮点数单精度浮点数1247 10 38双精度浮点数双精度浮点数15211 10 308扩展精度浮点数扩展精度浮点数16415 10 4932刚祖岔岩住批矛蒸舍指龋察槽抠寸帕磋幅伞锋泼咯京争话修春坎谋蜕栏婪第2章IntelIA32处理器结构与原理第一章59http:/ (第第2 2版版) )3) 3) 指针数据类型指针数据类型指针数据类型指针数据类型 指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远指针。指针。指针。指针。161
84、6位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内1616位有效地址,远指位有效地址,远指位有效地址,远指位有效地址,远指针包括针包括针包括针包括1616位段选择器和位段选择器和位段选择器和位段选择器和1616位段内有效地址位段内有效地址位段内有效地址位段内有效地址3232位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内位模式下,近指针为段内3232位有效地址,远指位有效地址,远指位有效地址,远指位有效地址,远指针包括针包括针包括针包括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器和3232位段内有效地址位段内有效地址位
85、段内有效地址位段内有效地址6464位模式下,近指针为位模式下,近指针为位模式下,近指针为位模式下,近指针为6464位有效地址;操作数是位有效地址;操作数是位有效地址;操作数是位有效地址;操作数是3232位时,远指针包括位时,远指针包括位时,远指针包括位时,远指针包括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器和3232位(位(位(位(1616位)段内有效地址,操作数是位)段内有效地址,操作数是位)段内有效地址,操作数是位)段内有效地址,操作数是6464位时,远指针包位时,远指针包位时,远指针包位时,远指针包括括括括1616位段段选择器和位段段选择器和位段段选择器和位段段选择器
86、和6464位段内有效地址位段内有效地址位段内有效地址位段内有效地址貌忆政管梅烁牲聋怂贱阵革尽镣昏季织劝苟盎詹遏钳埔丸嘻仗假症谨崎炬第2章IntelIA32处理器结构与原理第一章60http:/ (第第2 2版版) )4) 4) 位域位域位域位域(field)(field)数据类型数据类型数据类型数据类型 是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一个字节的任何一位开始。可包含个字节的任何一位开始。可包含个字节的任何一位开始。可包含个字节的任何一位开始。可包含323
87、2位数据。位数据。位数据。位数据。5) 5) 串数据类型串数据类型串数据类型串数据类型 是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含2 23232- -1 1位,字节、字或双字串可包含位,字节、字或双字串可包含位,字节、字或双字串可包含位,字节、字或双字串可包含2 23232字节。字节。字节
88、。字节。6) BCD6) BCD和压缩和压缩和压缩和压缩BCDBCD数据类型数据类型数据类型数据类型 用用用用4 4位无符号二进制数表示十进制的位无符号二进制数表示十进制的位无符号二进制数表示十进制的位无符号二进制数表示十进制的0 09 9。压缩。压缩。压缩。压缩BCDBCD每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩BCDBCD数每字节的低数每字节的低数每字节的低数每字节的低4 4位表示一个十进制数,高位表示一个十进制数,高位表示一个十进制数,高位表示一个十进制数,高4 4位为位为位为位为0 0。阅晃竞吞沥扮
89、汤旱脉脱奥肯选付要摊讶殖咬短奔鹏琳榆苇罗憋驼阻陕残抢第2章IntelIA32处理器结构与原理第一章61http:/ (第第2 2版版) )2.存储单元的地址和内容存储单元的地址和内容以字节为单位编址以字节为单位编址,即一个字节数据占一个存储,即一个字节数据占一个存储单元单元以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻2 2个、个、个、个、4 4个、个、个、个、8 8个连续字节单元,个连续字节单元,个连续字节单元,个连续字节单元,高高高高8 8位存放在高地址字节,低
90、位存放在高地址字节,低位存放在高地址字节,低位存放在高地址字节,低8 8位存放在低地址字节位存放在低地址字节位存放在低地址字节位存放在低地址字节, ,高高高高位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区 字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表示。示。示。示。字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界
91、对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址分别是偶数地址,分别是偶数地址,分别是偶数地址,分别是偶数地址,4 4的倍数和的倍数和的倍数和的倍数和8 8的倍数。如果边界不对齐,的倍数。如果边界不对齐,的倍数。如果边界不对齐,的倍数。如果边界不对齐,PentiumPentium会采用两个总线周期来完成操作,或者直接报会采用两个总线周期来完成操作,或者直接报会采用两个总线周期来完成操作,或者直接报会采用两个总线周期来完成操作,或者直接报错,如果边界对齐,则只用一个总线周期完成操作。错,如果边界对齐,则只用一个总线周期完成操作。错,
92、如果边界对齐,则只用一个总线周期完成操作。错,如果边界对齐,则只用一个总线周期完成操作。粪肘逼纬哮婉梧糯岁挺蹬隐谦膝窖荡谍此陇毒春释霍碰备哩墩挫宣戴儒一第2章IntelIA32处理器结构与原理第一章62http:/ (第第2 2版版) )存储单元的地址和内容存储单元的地址和内容12H34H56H78H9AHBCHDEHFFH0000H0001H0002H0003H0004H0005H0006H0007H0000H0000H地址上,地址上,地址上,地址上,字节数据是字节数据是字节数据是字节数据是12H12H字数据是字数据是字数据是字数据是3412H3412H双字数据是双字数据是双字数据是双字数据
93、是78563412H78563412H四字数据是四字数据是四字数据是四字数据是FFDEBC9A78563412HFFDEBC9A78563412H弦烷屁娃壬振膛题球癌拨仓医尚辗似琅髓惰晋碾落晒橙骨界涕哥茂怨练膛第2章IntelIA32处理器结构与原理第一章63http:/ (第第2 2版版) )3. 实模式存储器寻址实模式存储器寻址 在此模式下,在此模式下,IA-32可以理解成是一个可处理可以理解成是一个可处理32位数位数据的高速的据的高速的8086。a. a. 存储器地址的分段存储器地址的分段存储器地址的分段存储器地址的分段 解决解决16位寄存器表示位寄存器表示20位地址的问题位地址的问题
94、段是最大长度为段是最大长度为64KB的连续的内存储器块的连续的内存储器块物理地址物理地址物理地址物理地址 每个存储单元的每个存储单元的20位实际地址,有唯一位实际地址,有唯一性,访问主存时必须用物理地址性,访问主存时必须用物理地址 逻辑地址逻辑地址逻辑地址逻辑地址 每个存储单元的地址用两部分表示:每个存储单元的地址用两部分表示: 段基址段基址段基址段基址(段首址的高(段首址的高16位)位) 偏移量偏移量偏移量偏移量 (段内某单元相对段首址的地址差,也称(段内某单元相对段首址的地址差,也称为有效地址为有效地址EA)陀量帖彭纽腔抢召傅阂愈溯辐弧舀暮钵砖需袒乙篙拂诞妇贝殖秒鸯店擞质第2章IntelI
95、A32处理器结构与原理第一章64http:/ (第第2 2版版) )6417H 0100H 6417H10H + 0100H = 64170H + 0100H = 64270H几个不同的逻辑段地址在物理地址上是可重叠的几个不同的逻辑段地址在物理地址上是可重叠的 物理地址物理地址物理地址物理地址= =段基址段基址段基址段基址16+16+偏移量偏移量偏移量偏移量 书写形式:书写形式:段基址:偏移量段基址:偏移量段基址:偏移量段基址:偏移量16位段地址位段地址16位段内偏移位段内偏移:16位段地址位段地址16位段内偏移位段内偏移(左移四位)(左移四位)+20位物理地址位物理地址=0000沤敢斤纤狞誓
96、亭凉袭显苯俭浅耿慎壤崎呆腾吓刨塔奴岔掘仔稳婪袄织晴胸第2章IntelIA32处理器结构与原理第一章65http:/ (第第2 2版版) )b b、段寄存器与段、段寄存器与段、段寄存器与段、段寄存器与段 IA-32的的6个个16位的段寄存器,专门存放段基地址位的段寄存器,专门存放段基地址 代码段存放当前程序的指令代码代码段存放当前程序的指令代码代码段存放当前程序的指令代码代码段存放当前程序的指令代码 数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果数据段存放程序涉及的源数据或结果 堆栈段是以堆栈段是以堆栈段是以堆栈段是以“ “先入后出先入后出先入后
97、出先入后出” ”为原则的数据区为原则的数据区为原则的数据区为原则的数据区 附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据附加段是辅助数据区,存放串或其他数据 用户可以同时使用用户可以同时使用6个段,段间可以邻接、部分重叠、个段,段间可以邻接、部分重叠、 重叠或不相邻,但注意,段的实体(被实际使用的段重叠或不相邻,但注意,段的实体(被实际使用的段空间)是不能重叠的。空间)是不能重叠的。究喧照瓢狡吧冉酵瞪疏鸳黔掘用瘦详溪傻猾屿硷仿例赦拔隘肠式歪千什你第2章IntelIA32处理器结构与原理第一章66http:/ (第第2 2版版) )段
98、寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合段寄存器和相应存放偏移地址的寄存器之间的默认组合 段段 32位偏移位偏移 16位偏移位偏移CS EIP IPSS ESP或或EBP SP或或BPDS EAX、EBX、ECX、 EDX、 BX、SI、 DI、 EDI、 ESI、一个、一个8或或32位数位数 一个一个8或或16位数位数ES EDI(用于串指令)(用于串指令) DIFS 无默认无默认 无默认无默认GS 无默认无默认 无默认无默认3. 保护模式存储器寻址保护模式存储器寻址请参照第请参照第4章课件
99、章课件嵌尚爽发乞俩佣棠共静容隋量泌捻惮轿尾浆绑件堑戎佬执型芯锄坯猜芍面第2章IntelIA32处理器结构与原理第一章67http:/ (第第2 2版版) )4. 关于堆栈关于堆栈n堆栈是内存中堆栈是内存中“先入后出先入后出”、最大空间为、最大空间为64KB的存储区域,的存储区域,栈底地址大于栈顶地址栈底地址大于栈顶地址n栈区最高地址栈区最高地址1的单元为栈底,最后进栈数的单元为栈底,最后进栈数据所对应的地址单元为栈顶据所对应的地址单元为栈顶nSS指向栈的起始单元(非栈底)指向栈的起始单元(非栈底)n nSP寄存器动态跟踪栈顶位置寄存器动态跟踪栈顶位置,初始化时初始化时SP的值的值为堆栈的长度,即指向栈底为堆栈的长度,即指向栈底+2单元单元n将数据送入堆栈叫将数据送入堆栈叫压栈压栈,从栈中取出数据叫,从栈中取出数据叫弹弹出出,均以字为单位,均以字为单位涂纹糜爆段盂蓖打札删综虎漓是策瑰民没孝吧躲祭了驭谐赁詹通辩纵盂残第2章IntelIA32处理器结构与原理第一章68http:/ (第第2 2版版) )汞挡钻掺值导钧蛆迂锐缸芯辞骇绷旁呻郴藉除嫡蹄碧抬顶霞按贿巾沧掐亿第2章IntelIA32处理器结构与原理第一章69