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

what is the major difference between x86 and x386 registers

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

比如我知道x86有8个通用寄存器,x386DX一共有16个寄存器。

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

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

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

路过的人稍微说明一下

x386 is not a CPU but an old window manager for UNIX.

x86 is the architecture of the entire range of CPUs from the 8086 to the i686 (P6),以及他们所有的克隆人和继任者。

它也完全扩展了 x86_64 (AMD64) which is AMD's 64-bit version of Intel's x86 architecture. Intel has rebranded these extensions as Intel64 in their own CPUs. Not to be confused with IA-64 (Itanium) which is NOT binary compatible x86(或 x86_64)。

i386 is a generation of x86 CPUs. It was the first x86 CPUs with the IA-32 架构已实施。因此,它是一个 32 位 CPU,并且它具有使二进制文件不向后兼容的扩展,但它们将 运行 在任何较新的 x86 CPU 上。即使在 x86_64 CPUs.

因此,虽然为 8086 编译的二进制文件应该 运行 在几乎 x86 CPU 上,如果 OS 支持,它们将不会利用所有改进和 extensions.

这是 i386 中最著名的 architectural features 列表。

这里是 registers(来自同一篇文章)。了解从 16 位到 32 位的差异。