Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
x86和x386寄存器之间的主要区别是什么_X86_Intel_Cpu Registers_Microprocessors - Fatal编程技术网

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

x86和x386寄存器之间的主要区别是什么,x86,intel,cpu-registers,microprocessors,X86,Intel,Cpu Registers,Microprocessors,我正在学习英特尔微处理器课程,在阅读有关微处理器和寄存器的书籍时,我对微处理器之间寄存器的区别感到困惑 例如,我知道x86有8个通用寄存器,而x386DX总共有16个寄存器 除了寄存器的数量,两个微处理器寄存器之间的主要区别是什么?我认为另一个区别可能是x86包含一个16位标志寄存器,而x386包含一个32位扩展EFLAGS寄存器 标志表示微处理器及其操作的状态。我认为另一个区别可能是x86包含16位标志寄存器,而x386包含32位扩展EFLAGS寄存器 标志表示微处理器及其操作的状态。对于经过

我正在学习英特尔微处理器课程,在阅读有关微处理器和寄存器的书籍时,我对微处理器之间寄存器的区别感到困惑

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


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

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


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

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


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

对于经过的任何人,请稍作澄清。

不是一个CPU,而是一个旧的窗口管理器

是从到的整个范围的CPU及其所有克隆和后续CPU的

它还扩展了64位版本的x86体系结构。英特尔在自己的CPU中将这些扩展重新命名为Intel64。不要混淆哪一个与x86(或x86_64)完全不同

是一代x86 CPU。这是第一个实现了该体系结构的x86 CPU。因此,它是一个32位CPU,并且它具有使二进制文件不向后兼容的扩展,但它们将在任何较新的x86 CPU上运行。甚至在x86_64 CPU上

因此,虽然为8086编译的二进制文件应该在x86CPU上运行,但如果操作系统支持,它们不会利用所有的改进和改进

下面是i386中最值得注意的一个列表


下面是(同一篇文章中的)答案。请阅读16位到32位之间的差异。

对于路过的人,只需做一点澄清

不是一个CPU,而是一个旧的窗口管理器

是从到的整个范围的CPU及其所有克隆和后续CPU的

它还扩展了64位版本的x86体系结构。英特尔在自己的CPU中将这些扩展重新命名为Intel64。不要混淆哪一个与x86(或x86_64)完全不同

是一代x86 CPU。这是第一个实现了该体系结构的x86 CPU。因此,它是一个32位CPU,并且它具有使二进制文件不向后兼容的扩展,但它们将在任何较新的x86 CPU上运行。甚至在x86_64 CPU上

因此,虽然为8086编译的二进制文件应该在x86CPU上运行,但如果操作系统支持,它们不会利用所有的改进和改进

下面是i386中最值得注意的一个列表


下面是(同一篇文章中的)答案。阅读16位到32位之间的差异。

i386
也用于GNU/Linux软件(例如Linux
uname-a
output)中,作为IA-32的同义词,而不是AMD64/x86-64(Intel有时称之为IA-32e和Intel64)。还值得注意的是,在Windows/MSVC术语中,x86特别指32位代码,不包括x86-64。其他人都知道,x86包含了所有与8086向后兼容的东西,不管它是否在x86-64长模式下运行。这个问题确实提到了x386DX,所以他们可能在谈论。但这仍然是一个完全不清楚的问题,因为x86没有提及ISA的任何特定迭代。
i386
也被用于GNU/Linux软件(例如Linux
uname-a
output)中,作为IA-32的同义词,而不是AMD64/x86-64(Intel有时称之为IA-32e和Intel64)。还值得注意的是,在Windows/MSVC术语中,x86特别指32位代码,不包括x86-64。其他人都知道,x86包含了所有与8086向后兼容的东西,不管它是否在x86-64长模式下运行。这个问题确实提到了x386DX,所以他们可能在谈论。但这仍然是一个完全不清楚的问题,因为x86并没有提到ISA的任何特定迭代。你是说80386DX吗?()第一代32位CPU之一?为什么只计算“x86”的GP寄存器,而计算386DX的所有寄存器(包括段寄存器、EFLAG和EIP)?FPU是386DX的外部设备(与486DX不同),因此不能计算x87堆栈寄存器的数量。如果要计算非GP寄存器,为什么不同时计算控制寄存器?386推出了一些新的虚拟内存。“x386DX”不是什么东西。你是说80386DX吗?()第一代32位CPU之一?为什么只计算“x86”的GP寄存器,而计算386DX的所有寄存器(包括段寄存器、EFLAG和EIP)?FPU是386DX的外部设备(与486DX不同),因此不能计算x87堆栈寄存器的数量。如果要计算非GP寄存器,为什么不同时计算控制寄存器?386引入了一些新的虚拟内存。