x86 CPU操作模式之间有什么区别?

x86 CPU操作模式之间有什么区别?,x86,x86-64,mode,bios,uefi,X86,X86 64,Mode,Bios,Uefi,我读了很多关于这些操作模式的书。但我仍然对这些x86操作模式之间的差异感到困惑 实模式 虚幻模式 保护模式 长模式 平坦模式 虚拟8086模式 传统模式 用x64或32位和16位读取时,这些术语让我感到困惑。然后我开始寻找以下问题的答案: 是否有64位实模式、32位实模式或实模式仅用于16位 UEFI是否使用实模式 什么基于BIOS的系统(非UEFI)支持长模式 哪种模式适用于32位?64位?16位 我不知道如何在头脑中组织这些。帮助我区分这些模式的最接近的是。是一个很好的表格细分。不,没有

我读了很多关于这些操作模式的书。但我仍然对这些x86操作模式之间的差异感到困惑

  • 实模式
  • 虚幻模式
  • 保护模式
  • 长模式
  • 平坦模式
  • 虚拟8086模式
  • 传统模式
用x64或32位和16位读取时,这些术语让我感到困惑。然后我开始寻找以下问题的答案:

是否有64位实模式、32位实模式或实模式仅用于16位

UEFI是否使用实模式

什么基于BIOS的系统(非UEFI)支持长模式

哪种模式适用于32位?64位?16位


我不知道如何在头脑中组织这些。帮助我区分这些模式的最接近的是。

是一个很好的表格细分。不,没有64位实模式;使用控制寄存器位将CPU置于传统8086兼容模式(实模式)以外的其他模式意味着CS段值被视为选择器,所选代码段描述符告诉CPU将处于何种模式。另一个需要记住的关键事项是引导旧系统(如从2000年代中期开始)可能仅支持BIOS引导,但引导加载程序/OS可以在引导后自由切换到其他模式。UEFI切换到长模式(64位模式),并且仅支持64位引导加载程序。据我所知,没有非UEFI BIOS支持64位模式。删除16位与32位与64位的内容,您可能会更好地理解。模式主要不是关于位的,它们允许不同的地址大小。下载英特尔SDM第三卷并阅读第一章,这需要时间,但值得。非常感谢各位。我想我知道这些模式现在是如何工作的,哪怕是一个简单的段更改或操作码前缀都会让你进入一个不同的模式。我仍在为术语和定义添加标签,但非常感谢您提供的参考资料和信息。