首页 > X86芯片, 硬件设备 > 现代CPU的多种运行模式

现代CPU的多种运行模式

2012年6月20日 发表评论 阅读评论 5,815 次浏览

目前的CPU大多是支持X86-64技术的兼容CPU,这包括AMD64以及Intel的IA32E(后被正式命名为EM64T,Extended Memory 64 Technology),因为AMD64先出,而EM64T与AMD64完全兼容,所以也统一称为AMD64技术。由于AMD64技术向下兼容,所以很好的承接了以前的16位、32位资源,与此相应,X86-64兼容CPU可以运行在多种模式之下,除了熟悉的实模式,保护模式,还有长模式等,下面统一简单介绍现代CPU可运行的各种模式。

8086/8088时代:
实模式,Real-address Mode,实地址模式,CPU寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。在实模式下,CPU只能做单任务运行。
在实模式下,寻址公式为:物理地址 = 左移4位的段地址 + 偏移地址,即:物理地址是由16位的段地址和16位的段内偏移地址组成的。比如在ES寄存器中存入0x1000,DI寄存器中存入0xFFFF,那么ES:DI=0x1000*0x10 + 0xFFFF = 0x1FFFF。

80286到80386开始:
保护模式,Protected Mode,内存保护模式,寻址采用32位段和偏移量,最大寻址空间为4GB,最大分段4GB (Pentium Pre及以后为64GB)。保护模式拥有内存保护,分页系统,以及硬件支援的虚拟内存等功能。
在保护模式下,进行寻址时,段寄存器值不再被简单的解析为段起始地址,而是全局/局部描述符表(GDT/LDT)的索引,也即是所谓的选择子。

系统管理模式,System Management Mode,系统管理模式(SMM)通常被用来执行特定的强力管理例程,关于这方面,我完全没有接触到,所以连直接拷贝都不敢了,以免出错误导他人,只知道貌似和BIOS程序有些关系。

虚拟8086模式,Virtual-8086 Mode,V86模式,在保护模式下CPU可以进入到这种模式,即虚拟8086模式是保护模式下的一种工作方式。CPU把V86任务作为与其它任务具有同等地位的一个任务,可以支持多个V86任务,每个V86任务是相对独立的。在虚拟8086模式下,处理器工作方式类似于8086。

长模式,Long mode,在长模式下,处理器完全执行64位指令,使用64位地址空间(物理内存的寻址能力却没有被完全扩展到64位,因为目前的众多CPU在其寿命期限之内都没有机会见识到如此巨大的内存)和64操作数。

转载请保留地址:http://www.lenky.info/archives/2012/06/1740http://lenky.info/?p=1740


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.