- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 x86与x64体系结构;2.1 x86基本概念; 一般而言,x86处理器具有三种操作模式:实模式、保护模式和系统管理模式。实模式(Real Mode)只支持16位指令集和寄存器,是MS-DOS的运行环境。保护模式(Protected Mode)支持虚拟内存、分页等机制,当前的Windows和Linux等主流操作系统均运行于保护模式下。实模式和保护模式在内存管理、寄存器和指令特征方面均有所差别,在本章的后续内容将详细讲解。系统管理模式(System Management Mode)主要用于执行嵌入在固件中的特殊代码,在该模式下,包括操作系??本身在内的所有正常执行均被挂起,而特殊的分隔软件则运行于高特权状态,该软件可以是固件或硬件辅助调试器的一部分。系统管理模式的典型应用包括系统安全、电源管理、处理器温度控制、硬件错误管理等。; x86体系结构是一种CISC(Complex Instruction Set Computer)体系结构,支持字节寻址,数据字节在内存中以小端序存放。根据具体处理器的差异,x86整数运算和内存访问的最大本地长度可以为16位、32位或64位,典型指令长度为2~3字节。较少的通用寄存器数量使得寄存器相关的寻址方式成为访问操作数的主要方式。;2.1.1 字节序 多字节数据在内存中按照怎样的顺序存放,或者在网络上按照怎样的顺序传输,是与CPU有关的。不同硬件体系结构对应的字节序分以下两种。 (1) 大端序(Big Endian):高位字节存入低地址,低位字节存入高地址。 (2) 小端序(Little Endian):低位字节存入低地址,高位字节存入高地址。; 下面看一个例子。 对于以下程序变量声明: BYTE b=0x12; WORD w=0x1234; DWORD dw=0 char str[]=abcde;; 表2-1中给出了上例各类型变量的大端序和小端序存储方式。易见,大端序更符合一般思维习惯。字符数组str并没有被当作多字节数据看待,而是将数组中的每个字符看作单字节数据。小端序主要被Intel处理器所使用,而大端序则主要被RISC(Reduced Instruction Set Computer)架构的处理器(包括PowerPC、MIPS等)使用。因此可以说,x86体系结构是一种小端序体系结构。;;2.1.2 权限级别 在保护模式下,存在4个权限级别(Privilege Level,PL),编号从0到3,0权限级别最高,3权限级别最低。有人形象地将不同的权限级别看作多个同心的保护环(如图2-1所示)。最内侧的Ring 0运行操作系统内核;Ring 1和Ring 2较少使用,一般可根据需要运行操作系统服务或驱动程序;最外侧的Ring 3则运行一般应用程序。在Ring 0上,程序能够更改所有系统设置,执行所有指令并访问所有数据。在Ring3上,程序仅可读写系统设置的一个子集。对于Windows等现代操作系统,内核运行于Ring 0,用户态应用程序运行于Ring 3。;; 当前程序的Ring等级通常在CS寄存器中保存,称为当前特权级(Current Privilege Level,CPL),等于当前指令所在代码段的特权级。权限级别检查的目的是,阻止在较外侧保护环上运行的进程随意访问存在于较内侧保护环上的段,为此,需要基于特定的规则,对CS寄存器中的CPL、段选择器中的请求特权级(Request Privilege Level,RPL)、段描述符中的描述符特权级(Descriptor Privilege Level,DPL)进行相应的比较检查。 ;2.2 IA-32内存模型与内存管理;2.2.1 内存模型 处理器从逻辑上组织内存的方式可分为两种:平面内存模型和分段内存模型。 1) 平面内存模型 在平面内存模型中,内存显示为连续的字节序列,该字节序列的编址从0起始,对于IA-32体系结构,结束于232-1。特定的地址称为线性地址,对应的地址空间称为线性地址空间,具体模型如图2-2所示。;; 2) 分段内存模型 在分段模型中,程序内存由一系列独立的地址空间(称为“段”)组成,每个段最大232,IA-32程序最多使用16?383个段。代码、数据和栈在不同的段中。 在分段模型中,程序的地址称为逻辑地址。逻辑地址由两部分组成:段选择器和偏移地址。逻辑地址通过CPU转化为线性地址,这一过程是对应用程序透明的,具体过程如图2-3所示。;;2.2.2 不同操作模式下的内存管理 对于分段内存模型,在不同的操作模式(实模式和保护模式)下,其内存管理方
您可能关注的文档
- 机械专业英语(第三版)第27章.ppt
- 机械专业英语(第三版)第29章.ppt
- 机械专业英语(第三版)第30章.ppt
- 机械专业英语(第三版)封面及目录.ppt
- 2014 ~ 2015学年1学期离散数学期末考试试卷(1_B)20141223152659.DOC
- 2014 ~ 2015学年1学期离散数学期末考试试卷(1_B)20141223152659答案.doc
- 2014 ~ 2015学年1学期离散数学期末考试试卷(2_A)20141223153227.DOC
- 2014 ~ 2015学年1学期离散数学期末考试试卷(2_A)20141223153227答案.doc
- 2014 ~ 2015学年1学期离散数学期末考试试卷(2_B)20141223153552.DOC
- 2014 ~ 2015学年1学期离散数学期末考试试卷(2_B)20141223153552答案.doc
文档评论(0)