x86和x386寄存器之间的主要区别是什么?

时间:2016-02-19 14:35:03

标签: x86 intel cpu-registers microprocessors

我正在学习英特尔微处理器课程,并阅读微处理器和寄存器,我对微处理器之间的寄存器差异感到困惑。

例如,我知道x86有8个通用寄存器,而x386DX总共有16个寄存器。

除寄存器数量外,两个微处理器寄存器之间的主要区别是什么?

2 个答案:

答案 0 :(得分:1)

我认为另外一个区别可能是x86包含一个16位FLAGS寄存器而x386包含一个32位扩展EFLAGS寄存器。

FLAGS表示微处理器的状况及其操作。

答案 1 :(得分:1)

对经过的人进行一点澄清

x386不是 CPU,而是UNIX的旧窗口管理器。

x86是从architecture8086的所有CPU范围中的i686 (P6),以及它们的所有克隆和后续产品。

x86_64 (AMD64)也对其进行了扩展,AMDIntel的x86体系结构的64位版本。英特尔在自己的CPU中将这些扩展名更名为Intel64。不要与IA-64 (Itanium)完全混淆,binary compatible与x86(或x86_64)根本不是i386

IA-32是x86 CPU的一代。这是第一个实现extensions架构的x86 CPU。因此,它是一个32位CPU,并且具有使二进制文件不向后兼容的扩展,但是它们可以在任何更新的x86 CPU上运行。即使在x86_64 CPU上。

因此,虽然为8086编译的二进制文件应该可以在几乎x86 CPU上运行,但是如果操作系统支持,它们将无法利用所有改进和architectural features

以下是i386中最著名的registers的列表。

这是reserved keyword in ANTLR v3(来自同一篇文章)。了解从16位到32位的区别。