`

Intel处理器的运行模式(转)

阅读更多
一: 32位Intel处理器拥有三种基本模式,
   1):保护模式:纯32位保护执行环境。该模式拥有一个子模式,虚拟8086模式:
       虚拟8086模式是运行在保护模式中的实模式,为了在32位保护模式下执行纯16位实模式程序。它不是一个真正的CPU模式,还属于保护模式。
   2):实模式:纯16位无保护执行环境。
         保护模式同实模式的根本区别是进程内存受保护与否。可寻址空间的区别只是这一原因的果。
   实模式将整个物理内存看成分段的区域,程序代码和数据位于不同区域,系统程序和用户程序没有区别对待,而且每一个指针都是指向"实在"的物理地址。这样一来,用户程序的一个指针如果指向了系统程序区域或其他用户程序区域,并改变了值,那么对于这个被修改的系统程序或用户程序,其后果就很可能是灾难性的。为了克服这种低劣的内存管理方式,处理器厂商开发出保护模式。这样,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)要由操作系统转化为物理地址去访问,程序对此一无所知。至此,进程(这时我们可以称程序为进程了)有了严格的边界,任何其他进程根本没有办法访问不属于自己的物理内存区域,甚至在自己的虚拟地址范围内也不是可以任意访问的,因为有一些虚拟区域已经被放进一些公共系统运行库。这些区域也不能随便修改,若修改就会有: SIGSEGV(linux 段错误);非法内存访问对话框(windows 对话框)。
CPU启动环境为16位实模式,之后可以切换到保护模式。但从保护模式无法切换回实模式

   3:系统管理模式:当SMI引脚为有效进入系统管理模式,首先保存当前的CPU上下文。它有独立的地址空间,用来执行电源管理或系统安全方面的指令。

二.64位intel处理器

     拥有三种基本模式和一种扩展模式,
     a)基本模式:
      ****保护模式:纯32位保护执行环境。同32位处理器
      ****实模式:纯16位无保护执行环境。同32位处理器
      ****系统管理模式:当SMI引脚为有效进入系统管理模式,首先保存当前的CPU上下文。它有独立的地址空间,用来执行电源管理或系统安全方面的指令。同32位处理器

    b)扩展模式:****IA-32e模式,64位操作系统运行在该模式。该模式有两种子模式:
         1)**兼容模式:该模式下,64位操作系统运行在32位兼容环境,能正常运行16,32位应用程序就像基本的保护模式一样,访问32位地址空间,但不能运行纯16位实模式程序(就是不能运行虚拟86模式程序了)。
          2)**64位模式:在该模式下,处理器完全执行64位指令,使用64位地址空间和64操作数,运行16,32位程序必须切换到兼容模式。
    IA-32e子模式的切换完全基于代码段寄存器。这样一来,运行在IA-32e模式中(64位)的OS完全可以无缝的运行所有16,32,64位应用程序,通过设置32位后的CS。
分享到:
评论

相关推荐

    x86:从实模式到保护模式【文字版PDF+随书源代码】

    本书采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软件的开发方法,介绍了处理器的16...

    x86汇编语言-从实模式到保护模式

    本书采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软件的开发方法,介绍了处理器的16...

    多核处理器:概念和实现-研究论文

    本研究论文旨在比较两款多核处理器机器,英特尔酷睿 i7-4960X 处理器(Ivy Bridge E)和 AMD Phenom II X6。 它首先引入单核处理器机器来激发对多核处理器的需求。 然后,它解释了多核处理器机器以及在实现它们时...

    Intel 64及IA-32 架构优化参考手册

    本书介绍了如何优化软件以提高当前Intel 64及IA-32 架构处理器的运行性能,涉及NetBurst和Core微架构以及Hyper-Threading技术;主要面向软件程序员以及编译器编写者。内容包括: Intel 64及IA-32 处理器架构 通用...

    ThrottleStop

    ThrottleStop是一款能让你的Intel Core i或者Core 2处理器运行更为流畅的应用程序。此程序提供4种预设配置文件,提高你电脑运行的体验。 “Performance”模式可以提高一般性能,“Game”模式可为游戏者完善功能,...

    使用Intel编译器优化中尺度模式MM5在奔腾4上的运行 (2003年)

    作者通过查询、试验发现:使用Intel编译器优化中尺度模式MM5,能够使得MM5在奔腾4上的运行速度提高1.4~1.5倍。利用Intel编译器优化后的MM5模式,进行了三个月资料的计算,模式运行稳定。给出了一个使用Intel编译器和...

    Core Temp(检测CPU温度软件) V1.17.1 中文版

     2、支持Intel处理器频率调制(Clock Modulation)检测。  3、正确支持AMD Phenom II X6、Athlon L100系列处理器。  4、支持Intel Celeron E3000系列处理器。  5、支持显示处理器制造工艺(Lithogra

    Intel 486 XPL Compiler:适用于32位模式下Intel 486的XPL编译器-开源

    但是,Apple已弃用了Intel处理器的32位模式。 该XPL编译器与64位执行不兼容。 构建此编译器需要丹尼尔·韦弗(Daniel Weaver)编写的XPL到C转换器,可以在以下位置找到:...

    22 份 Intel TDX 技术文档和代码

    Intel Trust Domain Extensions(简称TDX)引入了一种新的、基于硬件隔离的虚拟机工作负载形态...TDX技术综合了MKTME(多密钥全加密内存)与VMX虚拟化技术,再添加新的指令集、处理器模式和强制实施的访问控制等设计。

    uc/os内核分析及移植

    这本书和磁盘包含了所有与处理器无关的代码和Intel 80x86实模式下的与处理器相关的代码(C编译器大模式下编译)。如果用户打算在其它处理器上使用µC/OS-Ⅱ,最好能找到一个现成的移植实例,如果没有只好自己编写了...

    无需重启即可在 Mac 上运行 Windows 的应用程序.rar

    其Linux虚拟机整合可实现共享应用程序、共享配置文件和自动更新 虚拟机管理工具:通过图形模式查看虚拟机使用的 Mac 处理器与内存来监控 Mac 资源。 设备共享:进一步集成整合Windows与Mac,无缝共享Windows与Mac...

    uCOSII实时操作系统在嵌入式平台上进行移植的一般方法和技巧

    这些例子曾经用Borland C/C++ 编译器(V3.1)编译过,用选择项产生Intel/AMD80186处理器(大模式下编译)的代码。这些代码实际上是在Intel Pentium II PC (300MHz)上运行和测试过,Intel Pentium II PC可以看成是...

    ARM与嵌入式系统——uCOS中文书

    这些例子曾经用Borland C/C++ 编译器(V3.1)编译过,用选择项产生Intel/AMD80186处理器(大模式下编译)的代码。这些代码实际上是在Intel Pentium II PC (300MHz)上运行和测试过,Intel Pentium II PC可以看成是...

    μCos操作系统

    处理器(大模式下编译)的代码。这些代码实际上是在Intel Pentium II PC (300MHz)上 运行和测试过,Intel Pentium II PC可以看成是特别快的80186。笔者选择PC 做为目标系 统是由于以下几个原因:首先也是最为重要...

    实时系统uCOS-II

    处理器(大模式下编译)的代码。这些代码实际上是在 Intel Pentium II PC ( 300MHz)上 运行和测试过, Intel Pentium II PC 可以看成是特别快的 80186。笔者选择 PC做为目标系 统是由于以下几个原因:首先也是 ...

    x86 x64体系探索及编程part3

    282 11.4.1 在Intel64 下的CR3 与PDPTE 寄存器 283 11.4.2 在AMD64 下的CR3 285 11.4.3 PAE paging 模式里的PDPTE 结构 286 11.4.4 PAE paging 模式里的PDE 结构 286 11.4.5 PAE paging 模式里的PTE 结构 288 ...

    x86 x64体系探索及编程part4

    282 11.4.1 在Intel64 下的CR3 与PDPTE 寄存器 283 11.4.2 在AMD64 下的CR3 285 11.4.3 PAE paging 模式里的PDPTE 结构 286 11.4.4 PAE paging 模式里的PDE 结构 286 11.4.5 PAE paging 模式里的PTE 结构 288 ...

    x86 x64体系探索及编程 part2

    282 11.4.1 在Intel64 下的CR3 与PDPTE 寄存器 283 11.4.2 在AMD64 下的CR3 285 11.4.3 PAE paging 模式里的PDPTE 结构 286 11.4.4 PAE paging 模式里的PDE 结构 286 11.4.5 PAE paging 模式里的PTE 结构 288 ...

    x86 x64体系探索及编程part1

    282 11.4.1 在Intel64 下的CR3 与PDPTE 寄存器 283 11.4.2 在AMD64 下的CR3 285 11.4.3 PAE paging 模式里的PDPTE 结构 286 11.4.4 PAE paging 模式里的PDE 结构 286 11.4.5 PAE paging 模式里的PTE 结构 288 ...

    uCOS中文资料,包括实例和教材

    入门教育用这些例子曾经用Borland C/C++ 编译器(V3.1)编译过,用选择项产生Intel/AMD80186处理器(大模式下编译)的代码。这些代码实际上是在Intel Pentium II PC (300MHz)上运行和测试过,Intel Pentium II PC...

Global site tag (gtag.js) - Google Analytics