




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 Intel IA-32处理器结构与原理 张明武张明武 华南农业大学信息(软件)学院华南农业大学信息(软件)学院 1 2.1 Pentium处理器 80x86系列微处理器兼容 有64位数据总线、 32位地址总线,寻址空间4GB。 RISC型超标量结构 - - 两个两个5 5级整数指令流水线,一个级整数指令流水线,一个8 8级浮点流水线。 级浮点流水线。 具有超级流水线技术的高性能浮点运算器。 数据-代码分离式高速缓存,符合MESI协议。 增强的错误检测和报告功能。 利用片上分支目标缓冲器提高分支指令预测准确性。 常用的指令不采用微程序设计,而改用硬件实现。 支持64位外部数据总线突发传输方式 通过APIC总线支持多处理器系统 2.1.1 Pentium处理器的特性 2 分支目标 缓冲器 代码 Cache 8KB TLB 指令 指针 预取缓冲存储器 指令译码部件 256位 总 线 接 口 部 件 分页部件 64位数 据总线 预取 地址 32位地 址总线 控制 控 制 部 件 地址生成 (U流水线) 地址生成 (V流水线) 控制 ROM ALU (U流水线) ALU (V流水线) 整数寄存器组 桶形移位器 数据 Cache 8KB TLB 浮点部件 控制 寄存器组 加法器 除法器 乘法器 80位 80 位 分支检测和目标地址 64位数 据总线 32位地 址总线 32位 32位 32位 32位 32位 32位 = =指令预取指令预取 = =首次译码首次译码 = =二次译码二次译码 = =指令执行指令执行 = =写回写回R R 2.1.2 Pentium处理器的内部结构与工作原理 3 指令配对规则指令配对规则 配对的指令必须是简单指令 两条指令之间不可存在“写后读”或“写后写”这样的 寄存器相关性 一条指令不能同时既包含位移量又包含立即数 带前缀(JCC指令的OF除外)的指令只能出现在U 流水中 浮点运算指令不能和任何指令配对(FCXH除外) MOV AX, 200 MOV CX, AX MOV AX, 200 MOV AX, 412 4 2.2 P6微结构的处理器 2.2.1 P6微结构概述 采用12级3流水超标量结构 多路分支预测 - -预测分支未来的方向,为处理器预预测分支未来的方向,为处理器预 先译码分支之后的指令提供依据先译码分支之后的指令提供依据 动态数据流分析 - - 处理器分析几条指令的数据相关性和资源可用性处理器分析几条指令的数据相关性和资源可用性 - - 以优化的执行顺序高效地乱序执行这些指令以优化的执行顺序高效地乱序执行这些指令 推测执行 - - 在假设分支走向基础上,执行其中一路指令流在假设分支走向基础上,执行其中一路指令流 双独立总线结构 - - 后端总线连接到后端总线连接到L2 CacheL2 Cache上上 - - 前端总线前端总线FSBFSB主要负责主存储器的信息传送操作主要负责主存储器的信息传送操作 Pentium IIPentium II 北桥北桥内存内存 FSB 前端总线 L2 CacheL2 Cache 后端总线 5 关于乱序执行技术关于乱序执行技术 为了提高指令流的执行效率,乱序执行核心监视很 多条指令,然后在不损失数据完整性的前提下,采用 能充分发挥多个处理部件并行工作的指令顺序来执行 。这个指令顺序可能和原始程序的不一样。 1)A=B+C 2)P=A*2 3)Q=D-E 1)和3)可配对同时执行 6 2.2.2 Pentium III处理器内部结构及工作原理 7 2.3 NetBurst微结构的处理器 2.3.1 NetBurst微结构概述 1. 1. 超级流水线技术超级流水线技术 衡量CPU的性能指标是CPU完成应用程序所需的总时 间。其计算公式如下: CPUCPU性能性能=CPU=CPU的主频的主频IPCIPC IPC是每时钟执行的指令条数。 要提高CPU性能,可采用提高CPU主频和提高IPC。 要提高主频要提高主频减少每个流水级的执行周期减少每个流水级的执行周期要减小每要减小每 个流水级的任务量个流水级的任务量将任务再分解将任务再分解增加流水线深度增加流水线深度 8 2. 2.快速执行引擎快速执行引擎 NetBurst微结构中配置了一种时钟缓冲器电路,可 以使该结构下2个执行简单指令的ALU和2个存储地址 AGU运行在两倍的CPU核心频率下 3. 3.高级动态执行高级动态执行 一个高达126条指令的超大指令窗口,避免了处理器 为了等待配对指令而出现暂时的停顿,也减少了因 Cache没命中,到主存中获取数据而产生等待的次数 。 一个4KB的分支目标缓冲器BTB记录更多的过去分 支的历史细节,再配以改进的分支预测算法,使分 支预测失误率比Pentium III下降了33 。 9 4. 4. 执行跟踪执行跟踪CacheCache(execution trace Cacheexecution trace Cache) 放弃L1 指令Cache的设计,采用执行跟踪Cache,它 在译码器的后面,按程序流顺序存放已经译码好的最 多12,000条微指令, 5. 5. 高速系统总线高速系统总线 采用了一种 “四倍速”技术quad pumping,使得前 端总线能很方便的工作再4倍于系统总线的频率上。 6. 6. 高级传输高级传输CacheCache 采用8路相联的片内L2 Cache ,与核心同频工作,与 CPU核心的专用总线宽度为256位,是过去的4倍,这 样主频为2.8GHz的Pentium 4其数据带宽将为89.6GBps 。 10 2.3.2 Pentium 4处理器内部结构及工作原理 11 2.3.3 NetBurst微结构处理器的新技术 5757条条MMXMMX指令操作指令操作8 8个个6464位长的位长的MMXMMX寄存器内的紧寄存器内的紧 缩字节(缩字节(8 8个字节打包成一个个字节打包成一个6464位长的数据)、字或位长的数据)、字或 双字整型数上执行双字整型数上执行SIMDSIMD 7070条条SSESSE指令处理在指令处理在8 8个个128128位的位的XMMXMM寄存器中的单精寄存器中的单精 度浮点数和在度浮点数和在MMXMMX寄存器中的紧缩整数。高速缓存寄存器中的紧缩整数。高速缓存 控制指令通过增加主存到控制指令通过增加主存到CacheCache和处理器到主存的数和处理器到主存的数 据流,改善存储性能,据流,改善存储性能,SIMDSIMD浮点指令使处理器能同浮点指令使处理器能同 时执行时执行4 4个浮点操作。个浮点操作。 144144条条SSE2SSE2指令处理在指令处理在XMMXMM寄存器中的紧缩双精度浮寄存器中的紧缩双精度浮 点数和在点数和在MMXMMX与与XMMXMM寄存器中的紧缩整数。寄存器中的紧缩整数。 1313条条SSE3SSE3指令增强指令增强SSE, SSE2SSE, SSE2和和x87FPUx87FPU数学能力的性数学能力的性 能。能。 1. SIMD技术 12 2. 超线程(Hyper-Threading, HT)技术 允许物理上单个的处理器采用共享执行资源的方法同允许物理上单个的处理器采用共享执行资源的方法同 时执行两个或更多的分离代码流(线程)时执行两个或更多的分离代码流(线程) HTHT技术由单处理器上的技术由单处理器上的2 2个或者多个逻辑处理器组成个或者多个逻辑处理器组成 ,每个逻辑处理器都有自己的,每个逻辑处理器都有自己的IA-32IA-32结构状态结构状态(AS)(AS) 每个逻辑处理器都有自己的每个逻辑处理器都有自己的IA-32IA-32通用寄存器、段寄通用寄存器、段寄 存器、控制寄存器、调试寄存器等存器、控制寄存器、调试寄存器等 逻辑处理器共享的资源包括执行引擎和系统总线接口逻辑处理器共享的资源包括执行引擎和系统总线接口 ASAS 处理器核心 支持HT的IA-32处理器 2个逻辑处理器 共享一个核 AS=IA-32结构状态 AS 处理器核心 传统多IA-32处理器系统 每个处理器一 个独立封装 AS 处理器核心 13 3. 双核(Dual-CoreDual-Core)技术 通过在一个物理封装中包含两个分离的完整执行核来通过在一个物理封装中包含两个分离的完整执行核来 提供硬件多线程能力提供硬件多线程能力 每个完整的执行核不仅有自己的每个完整的执行核不仅有自己的ASAS,还拥有自己的执,还拥有自己的执 行引擎,总线接口与行引擎,总线接口与L2 Cache L2 Cache 。 结构上有支持结构上有支持HTHT技术的和不支持技术的和不支持HTHT技术的双核结构技术的双核结构 多核(多核(Multi-CoreMulti-Core)、众核()、众核(Many-CoreMany-Core)技术)技术 Pentium D IA-32处理器 A S AS 执行引擎执行引擎 Local APIC Local APIC L2 CacheL2 Cache 总线接口总线接口 Pentium EE IA-32处理器 系统总线 ASAS 执行引擎执行引擎 Local APIC L2 CacheL2 Cache 总线接口总线接口 系统总线 ASAS Local APIC Local APIC Local APIC 14 AMD的双核 Intel的Pentium D双核 15 4. Intel的EM64T技术 完全兼容现在的完全兼容现在的IA-32IA-32结构结构 具有传统具有传统IA-32IA-32模式和模式和IA-32eIA-32e模式,模式,IA-32eIA-32e模式模式 包括包括6464位模式和兼容模式(允许现有程序无需位模式和兼容模式(允许现有程序无需 修改就运行在传统修改就运行在传统IA-32IA-32模式和兼容模式下)模式和兼容模式下) 6464位模式下具有以下特性:位模式下具有以下特性: 6464位平板线性地址位平板线性地址 增加增加8 8个新的通用寄存器个新的通用寄存器 增加增加8 8个新的流个新的流SIMDSIMD扩展(扩展(SSE, SSE2SSE, SSE2和和 SSE3)SSE3) 6464位宽的通用寄存器和指令指针寄存器位宽的通用寄存器和指令指针寄存器 16 5. Intel的虚拟化技术 n在硬件层面上提供多虚拟系统功能 n一个机器可以虚拟成多个机器,甚至同时可 以运行多个相同或不同的操作系统。 n虚拟机监控程序(VMM)为每个操作系统提 供一个虚拟的硬件环境 17 2.4 Core微结构的处理器 2.4.1 Core微结构的引入 NetBurst微结构的缺陷: IPC表现不佳,同频情况下Pentium 4有时还不如前 代的Pentium III 频率提高后,功耗随之上升,功耗过高,影响了主频 的进一步提高。 Power = Power = C Cdynamic dynamic 电压电压 电压电压 频率频率 其中Cdynamic是面积与处于活跃状态的数据位翻转的 触发器数量的乘积。 18 CoreCore微结构的处理器系列微结构的处理器系列 桌面平台的Conroe 移动平台的Merom 服务器平台的Woodcrest Core处理器 Core 2处理器 单核的Core Solo 双核的Core Duo, Core 2 Duo 四核的Core 2 Quad 19 2.4.2 Conroe处理器内部结构与特点 CoreCore微结构微结构 20 ConroeConroe处理器内部结构示意图处理器内部结构示意图 21 宽位动态执行(Wide Dynamic ExecutionWide Dynamic Execution) 着眼点在于提高每时钟周期处理的指令数,着眼点在于提高每时钟周期处理的指令数, 改善执行时间和能源效率,同时完整的取、改善执行时间和能源效率,同时完整的取、 发射、执行发射、执行4 4条指令条指令 宏融合宏融合(macrofusionmacrofusion)技术能够在译码期间)技术能够在译码期间 将常见的指令对组合到一个单独的微代码中将常见的指令对组合到一个单独的微代码中 (Micro-opMicro-op) 微代码融合微代码融合(Micro-op fusionMicro-op fusion)技术能在微)技术能在微 代码执行前将译码自同一个代码执行前将译码自同一个x86x86指令的几个指令的几个 微代码融合成更少的微代码微代码融合成更少的微代码 22 智能功效管理(Intelligent Power Capability) 超细粒度功耗控制超细粒度功耗控制能够只对处于工作状态的能够只对处于工作状态的 部件提供电源,而关闭非工作部件的电源供部件提供电源,而关闭非工作部件的电源供 应,从而有效降低功耗。应,从而有效降低功耗。 分离总线技术分离总线技术能够使总线宽度动态适应数据能够使总线宽度动态适应数据 宽度的需要,对无效的信息位使其进入低电宽度的需要,对无效的信息位使其进入低电 压状态,从而进一步降低功耗。压状态,从而进一步降低功耗。 功效管理平台技术功效管理平台技术通过调整散热风扇运作模通过调整散热风扇运作模 式,从外部降低处理器温度。式,从外部降低处理器温度。 23 Intel 智能内存访问(IntelIntel Smart Memory Smart Memory AccessAccess) 内存消歧技术内存消歧技术利用装载(利用装载(loadload)数据指令和)数据指令和 存储(存储(storestore)数据指令之间的乱序执行来提)数据指令之间的乱序执行来提 高乱序执行部件的效率,其原则是尽量将高乱序执行部件的效率,其原则是尽量将 loadload指令提到它前面不冲突的指令提到它前面不冲突的storestore指令之前指令之前 执行。执行。 高级预取技术高级预取技术解决了确保被使用的数据已经解决了确保被使用的数据已经 位于最靠近能获得最小内存延迟的地方的问位于最靠近能获得最小内存延迟的地方的问 题。题。 24 Intel高级智能Cache (IntelIntel Advanced Smart Advanced Smart CacheCache) 带来了新的双核结构 采用了共享采用了共享L2 CacheL2 Cache的双核结构的双核结构 可以在两个核心间动态调整可以在两个核心间动态调整L2 CacheL2 Cache的分配的分配 ASAS 执行引擎执行引擎 Local APICLocal APIC L2 Cache 总线接口 系统总线 25 Intel高级数字多媒体增强技术 (Intel Advanced Digit Media Boost) 引入引入128 128 位位SIMDSIMD执行单元执行单元 可以在一个时钟内完成可以在一个时钟内完成128128位的位的SIMDSIMD整型和整型和 浮点运算。浮点运算。 26 2.5 IA-32处理器基本执行环境 实地址模式实地址模式 - - 与与8086/80888086/8088兼容,但可以处理兼容,但可以处理3232位数据位数据 - 1MB- 1MB内存空间,分段管理,所有程序全在内存空间,分段管理,所有程序全在0 (0 (核心核心) )级级 - MS-DOS- MS-DOS运行在此模式下,运行在此模式下,PCPC机开机首先进入的也机开机首先进入的也 是该模式是该模式 - - 对内存和程序甚至操作系统没有任何保护能力对内存和程序甚至操作系统没有任何保护能力 保护模式保护模式 - - 支持多任务操作,并保护每个任务的数据和程序支持多任务操作,并保护每个任务的数据和程序 - - 存储器采用虚拟地址空间、线性地址空间和物理地存储器采用虚拟地址空间、线性地址空间和物理地 址空间三种方式来描述,具有存储保护功能址空间三种方式来描述,具有存储保护功能 - - 虚拟地址空间虚拟地址空间64TB64TB(2 246 46) ) - 4- 4级管理,可以使用分页或分段技术管理内存级管理,可以使用分页或分段技术管理内存 - Windows- Windows、LinuxLinux操作系统均运行在该模式下操作系统均运行在该模式下 27 虚拟虚拟80868086模式(模式(V86V86模式)模式) 系统管理模式系统管理模式 - 为操作系统和正在运行的应用程序提供透明的电源为操作系统和正在运行的应用程序提供透明的电源 管理和系统安全平台功能管理和系统安全平台功能 - - 进入本模式系统将转到一个独立的地址空间运行,进入本模式系统将转到一个独立的地址空间运行, 并保存当前程序或任务的基本环境并保存当前程序或任务的基本环境 - - 在保护模式下可以同时模拟多个在保护模式下可以同时模拟多个80868086处理器的工作处理器的工作 比较项较项 目 实实地址模 式 虚拟拟8086模式 内存管 理 分段管理既分段又分页页 存储储空 间间 1MB每个8086程序任务寻务寻 址1MB, 总寻总寻 址空间间4GB 多任务务不支持支持,虚拟拟8086模式是IA-32保 护护模式中多任务务的一个任务务 28 IA-32eIA-32e模式(支持模式(支持Intel EM64TIntel EM64T的的IA-32IA-32处理器才有)处理器才有) - - 兼容模式兼容模式 类似于32位保护模式,传统的16位或32位程序无需 重新编译就可以运行在64位操作系统中。在64位模式 和保护模式下支持的所有特权级别在兼容模式同样支 持。 - 6464位模式位模式 允许64位操作系统运行存取64位线性地址空间的应 用程序,程序可访问的线性地址空间达到264字节, 物理地址空间增加到240字节。通用寄存器的宽度增 加到64位,并新增了8个通用寄存器和8个SIMD寄存 器。 29 工作模式的转换工作模式的转换 30 2.5.2 IA-32处理器中的寄存器 基本寄存器基本寄存器 系统级寄存器系统级寄存器 调试与测试寄存器 浮点寄存器 通用寄存器通用寄存器 指令指针寄存器指令指针寄存器 标志寄存器标志寄存器 段寄存器段寄存器 控制寄存器控制寄存器 系统地址寄存器系统地址寄存器 数据寄存器数据寄存器 地址指针寄存器地址指针寄存器 变址寄存器变址寄存器 31 AH AL BH BL CH CL DH DL SP BP DI SI 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址 32位 1. 1.通用寄存器通用寄存器 16位 AX BX CX DX SP BP DI SI 16位名称 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的的高八位高八位 EAX EBX ECX EDX ESP EBP EDI ESI 32位名称 高16位扩展 32 1. 1.通用寄存器通用寄存器 n n EAX EAX 累加器累加器 存放操作数和结果,乘除运算 、I/O指令中特指 n n EBX EBX 基址寄存器基址寄存器 查表转换和间接寻址时存 放基址 n n ECX ECX 计数寄存器计数寄存器 串操作和循环中做计数 n n EDX EDX 数据寄存器数据寄存器 乘除运算、I/O指令中特指 可以32位、16位或8位形式访问,例如, EAX可使用16位的AX,也可以使用8位的 AH、AL 33 1. 1.通用寄存器通用寄存器 n n ESP ESP 堆栈指针寄存器堆栈指针寄存器,存放栈顶地址 n n EBP EBP 基址指针寄存器基址指针寄存器,存放栈段基地址 n n ESI ESI 源变址寄存器源变址寄存器 n n EDI EDI 目的变址寄存器目的变址寄存器 存放地址的偏移量,也可存放操作数, 但只能以但只能以3232位或位或1616位为单位访问位为单位访问 如:如:ESIESI可以使用可以使用1616位的位的SISI 34 6464位模式下的通用寄存器位模式下的通用寄存器 35 2. 2.段寄存器段寄存器 n n CS CS 代码段寄存器代码段寄存器 n n DS DS 数据段寄存器数据段寄存器 n n SS SS 堆栈段寄存器堆栈段寄存器 n n ES ES 附加段寄存器附加段寄存器 n n FSFS、GS GS 附加段寄存器附加段寄存器 段寄存器均为16位的寄存器 用于存储器寻址,存放段的开始地址 在64位模式下,FS, GS无效,CS, DS, ES, SS均指向 基地址为0的“段”。 堆栈栈段 数据段 附加段 代码码段 36 3. 3.指令指针寄存器指令指针寄存器 n n EIP EIP 指令指针寄存器指令指针寄存器:即程序计数器, 指向下一条下一条指令在代码段中的偏移量 16位的IP高16位扩展 32位指令指针寄存器EIP n n 6464位模式下,扩展高位模式下,扩展高3232位成为位成为6464位位RIPRIP 32位的EIP高32位扩展 64位指令指针寄存器RIP 37 EFLAGS EFLAGS 标志寄存器(标志寄存器( 程序状态字寄存器程序状态字寄存器 PSW PSW ):记录系统运行中的各种状态 和信 息。由各种标志位标志位构成,反映运算后的结果 特征,将影响某些指令(如条件转移指令) 的执行。 4. 4.标志寄存器标志寄存器 38 8086/80888086/8088程序状态寄存器(标志寄存器)程序状态寄存器(标志寄存器) b15 b8 b7 b0 OF DF IF TF SF ZF AF PF CF 符号 名称 值为“1”的条件 CF CF 进位标志进位标志 加 加/ /减法时产生进位减法时产生进位/ /借位借位 OF OF 溢出标志溢出标志 运算结果超出有符号整数能表示的范围 运算结果超出有符号整数能表示的范围 ZF ZF 零标志零标志 运算结果为 运算结果为0 0时时 SF SF 符号标志符号标志 运算结果的最高位为 运算结果的最高位为“ “1”1”时时 AF AF 辅助进位标志辅助进位标志 运算时半字节(运算时半字节(b3b3)产生进位产生进位/ /借位借位 PF PF 奇偶标志奇偶标志 操作结果低 操作结果低8 8位为位为“ “1”1”的位数为偶数时的位数为偶数时 DF DF 方向标志方向标志 串操作中地址指针向低地址方向移动 串操作中地址指针向低地址方向移动 IF IF 中断允许标志中断允许标志 允许允许CPUCPU响应可屏蔽中断请求时响应可屏蔽中断请求时 TF TF 跟踪标志跟踪标志 CPU CPU处于单步执行的工作方式处于单步执行的工作方式 39 思考题:以下的几个4位十六进制数相加,会使得8088 状态寄存器的以下几位为什么值? CFCF PF AF ZF SF OFOF 8000H 8000H+ 0000H C000H C000H+ 8000H 4008H 4008H+ 8010H 0808H C000H+ C808H 1 1 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 40 注意注意: : 1. 进位标志CF是表示无符号数无符号数是否超出范围 ,但运算结果仍然正确; 2. 溢出标志表示的是有符号数有符号数运算结果是否超 出范围,超出范围则运算结果已经不正确; 3. 处理器对两个操作数进行运算的时候是按照 无符号数无符号数求得结果,并相应设置CF,根据 是否超出有符号数的范围设置OF; 4. 对于程序员,如果做无符号运算,应该关心 CF,做有符号运算应该关心OF。 41 符号 名称 值为“1”的条件 IOPL IOIOPL IO特权位特权位 其值表示该任务使用的其值表示该任务使用的I/OI/O操作的特权级操作的特权级 0000为最高的核心级,为最高的核心级,1111是最低的用户级是最低的用户级 NT NT 嵌套标志嵌套标志 当前任务嵌套在另一个任务中时 当前任务嵌套在另一个任务中时 RF RF 恢复标志恢复标志 DBUG DBUG调试时忽略下一条指令遇到的断点调试时忽略下一条指令遇到的断点 VM VM 虚拟虚拟80868086模式模式 从保护模式进入到虚拟从保护模式进入到虚拟80868086模式模式 AC AC 对齐检查对齐检查 当有数据访问出现对齐故障的时候 当有数据访问出现对齐故障的时候 VIF VIF 虚拟中断位虚拟中断位 允许 允许V86V86扩展或允许保护模式虚拟中断扩展或允许保护模式虚拟中断 VIP VIP 虚拟中断挂起位虚拟中断挂起位 虚拟中断被挂起 虚拟中断被挂起 ID ID 标识位标识位 对它的读写表明处理器支持 对它的读写表明处理器支持CPUIDCPUID 这这部分同部分同80888088 OF 3122 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 DF IF TF SF ZFAF CF PF IOPLNTRFVMACVIFVIPID保 留 IA-32 IA-32 标志寄存器标志寄存器EFLAGEFLAG 42 5. 5. 控制寄存器控制寄存器 31 12 11 4 3 0 PWT PCD 页目录基地址寄存器 CR3 页故障线性地址寄存器 CR2 31 0 保 留 CR1 WP 31 30 29 18 17 16 5 4 3 2 1 0 NEETPEMP N W CDPG CR0 31 0 EMTSAM PGEPCE 31 10 9 8 7 6 5 4 3 2 1 0 MCEPAE PSE DE TSD VME PVI 保留,缺省为全0 CR4 * * OSFXSR * OSXMMEXCPT 43 写保护 定位屏蔽 允许分页 禁止Cache 不写贯穿 保护模式允许 浮点协处理器监控 模拟浮点协处理器 任务切换 处理器扩展类型 数值异常 WP 31 30 29 18 17 16 5 4 3 2 1 0 NEETPEMP NWCDPGCR0EMTSAM CR0是在以前286MSW(机器状态字)基础上扩展来的 ,可在核心级中用MOV EAX, CR0/MOV CR0, EAXMOV EAX, CR0/MOV CR0, EAX指 令来读取和写入。 44 禁止Cache 页面写贯穿 31 12 11 4 3 0 PWTPCD 页目录基地址寄存器 CR3 45 性能计数器允许 页全局允许 允许机器检查 物理地址扩展 页大小扩展位 调试扩充位 禁止定时标志 保护模式虚拟中断 虚拟8086模式扩展 PGEPCE 8 31 7 6 5 4 3 2 1 0 MCEPAE PSE DE TSD VME PVI 保留,缺省为全0 CR4 46 6 6 系统地址寄存器系统地址寄存器 GDTR 48GDTR 48位的全局描述符表寄存器位的全局描述符表寄存器 全局描述符表32位线性地址 16位界限值 IDTR 48IDTR 48位的中断描述符表寄存器位的中断描述符表寄存器 中断描述符表32位线性地址 16位界限值 TR 16TR 16位的任务状态段寄存器位的任务状态段寄存器 TSS的16位选择字 LDTR 16LDTR 16位的局部描述符选择字寄存器位的局部描述符选择字寄存器 LDT的16位选择字 47 当机器复位的时候CS=FFFFH,EIP, DS, ES, SS, FS, GS以及EFLAGS寄存器被清零。因为复位之 后CS:EIP= FFFF:00000000,因此机器复位或开 机后,都会自动从这个地址开始取指令,这里应 该是BIOS的第一条指令。 48 1. Pentium的基本数据类型 1) 1) 整型数据类型整型数据类型 包括无符号数和有符号数,其中有符号数以包括无符号数和有符号数,其中有符号数以2 2的补的补 码形式表示,最高位为符号位,码形式表示,最高位为符号位,1 1表示负数表示负数类类 型位数无符号数范围围有符号数范围围 字节节80255-128+127 字16065535-32768+32767 双字320232-1(4G-1)-231+231-1 四字640264-1(16T-1)-263+263-1 2.5.3 IA-32处理器在实地址模式下的存储管理 49 2) 2) 浮点数据类型浮点数据类型 最高位为符号位,接下来是有效数和阶码,有效数最高位为符号位,接下来是有效数和阶码,有效数 给订了数的有效位数,决定数的精度;阶码决定数据给订了数的有效位数,决定数的精度;阶码决定数据 范围。范围。 类类型符号 位数 有效位 数 阶阶 码码位 数 数据范围围 单单精度浮点数1247 10 38 双精度浮点数15211 10 308 扩扩展精度浮点数16415 10 4932 50 3) 3) 指针数据类型指针数据类型 指针是用于定位存储单元的地址,包括近指针和远指针是用于定位存储单元的地址,包括近指针和远 指针。指针。 1616位模式下,近指针为段内位模式下,近指针为段内1616位有效地址,远指位有效地址,远指 针包括针包括1616位段选择器和位段选择器和1616位段内有效地址位段内有效地址 3232位模式下,近指针为段内位模式下,近指针为段内3232位有效地址,远指位有效地址,远指 针包括针包括1616位段段选择器和位段段选择器和3232位段内有效地址位段内有效地址 6464位模式下,近指针为位模式下,近指针为6464位有效地址;操作数是位有效地址;操作数是 3232位时,远指针包括位时,远指针包括1616位段段选择器和位段段选择器和3232位(位(1616 位)段内有效地址,操作数是位)段内有效地址,操作数是6464位时,远指针包位时,远指针包 括括1616位段段选择器和位段段选择器和6464位段内有效地址位段内有效地址 51 4) 4) 位域位域(field)(field)数据类型数据类型 是一个连续的二进制位序列,可以从存储器任何一是一个连续的二进制位序列,可以从存储器任何一 个字节的任何一位开始。可包含个字节的任何一位开始。可包含3232位数据。位数据。 5) 5) 串数据类型串数据类型 是一个连续的位、字节、字或双字序列,位串可以是一个连续的位、字节、字或双字序列,位串可以 从存储器任何一个字节的任何一位开始,并可包含从存储器任何一个字节的任何一位开始,并可包含2 232 32-1 -1 位,字节、字或双字串可包含位,字节、字或双字串可包含2 232 32字节。 字节。 6) BCD6) BCD和压缩和压缩BCDBCD数据类型数据类型 用用4 4位无符号二进制数表示十进制的位无符号二进制数表示十进制的0 09 9。压缩。压缩BCDBCD 每个字节包含二位十进制数,非压缩每个字节包含二位十进制数,非压缩BCDBCD数每字节的低数每字节的低 4 4位表示一个十进制数,高位表示一个十进制数,高4 4位为位为0 0。 52 2.存储单元的地址和内容 以字节为单位编址以字节为单位编址,即一个字节数据占一个存储 单元 以字、双字、四字为单位存储数据时,分别占相邻以字、双字、四字为单位存储数据时,分别占相邻2 2个个 、4 4个、个、8 8个连续字节单元,个连续字节单元, 高高8 8位存放在高地址字节,低位存放在高地址字节,低8 8位存放在低地址字节位存放在低地址字节, ,高高 位字存放在高地址区,低位字存放在低地址区位字存放在高地址区,低位字存放在低地址区 字、双字、四字单元的地址由其最低字节的地址来表字、双字、四字单元的地址由其最低字节的地址来表 示。示。 字、双字、四字的地址一般采用边界对齐,即它们地址字、双字、四字的地址一般采用边界对齐,即它们地址 分别是偶数地址,分别是偶数地址,4 4的倍数和的倍数和8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人摊位转让合同样本
- 办公销售合同样本
- 产品分销协议合同标准文本
- 利润分层合同标准文本
- 产品造型招标合同样本
- 酒店服务意识培训
- 2025公司安全管理人员安全培训考试试题及答案(全优)
- 2024-2025新员工岗前安全培训考试试题(答案)
- 2025职工安全培训考试试题(典型题)
- 超市会员管理2025年总结与发展计划
- 消防管道改造应急预案
- SRE Google运维解密(中文版)
- 2020“外研社·国才杯”全国英语阅读大赛样题
- 浅谈作文素材积累与运用
- 静疗持续质量改进
- 常见上市公司名称证券名称中英对照表
- OKR工作法完整版
- 蜡基类化妆品HACCP计划书
- NB/T 10755-2021煤矿在用架空乘人装置定期安全检测检验规范
- YS/T 1028.5-2015磷酸铁锂化学分析方法第5部分:钙、镁、锌、铜、铅、铬、钠、铝、镍、钴、锰量的测定电感耦合等离子体原子发射光谱法
- GB/T 4666-2009纺织品织物长度和幅宽的测定
评论
0/150
提交评论