x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析

时间:2023-03-08 16:53:15
x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析

x64 = x86_64 = amd64

64位指令集,是对IA-32的扩展,由AMD提出,implemented by AMD,Intel。可兼容32位指令集(IA-32)

目前大部分64位计算机均使用这套指令集。

为什么叫x86-64,因为它是X86的一部分,兼容X86的其他指令集(32-bit,16-bit)。

  详见wiki

x86-64 (also known as x64x86_64 and AMD64[note 1]) is the 64-bit version of the x86 instruction set. It supports vastly larger amounts (theoretically, 264 bytes or 16 exabytes) of virtual memory and physical memory than is possible on its 32-bit predecessors, allowing programs to store larger amounts of data in memory. x86-64 also provides 64-bit general-purpose registers and numerous other enhancements. It is fully backward compatible with 16-bit and 32-bit x86 code.[11](p13–14) Because the full x86 16-bit and 32-bit instruction sets remain implemented in hardware without any intervening emulation, existing x86 executables run with no compatibility or performance penalties,[12] whereas existing applications that are recoded to take advantage of new features of the processor design may achieve performance improvements.

The original specification, created by AMD and released in 2000, has been implemented by AMD, Intel and VIA. The AMD K8 processor was the first to implement the architecture; this was the first significant addition to the x86 architecture designed by a company other than Intel. Intel was forced to follow suit and introduced a modified NetBurst family which was fully software-compatible with AMD's design and specification. VIA Technologies introduced x86-64 in their VIA Isaiah architecture, with the VIA Nano.

The x86-64 specification is distinct from the Intel Itanium (formerly IA-64) architecture, which is not compatible on the native instruction set level with the x86 architecture.

IA-64

Intel Archtecture 64 bit

intel提出的64位指令集,目前比较鸡肋。

IA-32 = i386

32位的X86指令集。我们用的32位系统大部分都是这个指令集,例如xp,win2k3等。从80386时代传承来的。

IA-32 (short for "Intel Architecture, 32-bit", sometimes also called i386[1][2])[3] is the 32-bit version of the x86 instruction set architecture (ISA), first implemented in the Intel 80386 microprocessors in 1985. IA-32 is the first incarnation of x86 that supports 32-bit computing;[4] as a result, the "IA-32" term may be used as a metonym to refer to all x86 versions that support 32-bit computing.[5][6]

The IA-32 instruction set was introduced in the Intel 80386 microprocessor in 1985 and, as of 2017, remains supported by contemporary PC microprocessors. Even though the instruction set has remained intact, the successive generations of microprocessors that run it have become much faster. Within various programming language directives, IA-32 is still sometimes referred to as the "i386" architecture.

Intel is the inventor and the biggest supplier of IA-32 processors, and the second biggest supplier is AMD. For a while, VIATransmeta and others also produced IA-32 processors, but since the 2000s all manufacturers moved to the 64-bit variant of x86, x86-64.

X86并不是指令集!

X86指的是一套向后兼容指令集架构(backward-compatible instruction set architectures)。它包含了16位指令集,32位指令集,

X86名字的由来是从80<||3|4|5>86这一系列处理器得来的。

与X86相对的概念是arm,mips等。

参考资料:

WIki

Intel 手册