1

I was reading a book which describe a historical perspective:

Pentium 4E (2004, 125 M transistors). Added hyperthreading, a method to run two programs simultaneously on a single processor, as well as EM64T, Intel’s implementation of a 64-bit extension to IA32 developed by Advanced Micro Devices (AMD), which we refer to as x86-64

I'm a little bit confused here,here is my two questions:

Q1-does it mean that x86-64 is just an alias name of EM64T?

Q2- And is IA32 developed by AMD? isn't IA32 designed by Intel and first implemented in the 80386 microprocessor in 1985? https://en.wikipedia.org/wiki/IA-32

2 Answers2

1

Q1. x86-64 is a general name for both Intel's and AMD's implementation. AMD's implementation is also called AMD64, Intel's implementation is also called EMT64.

Q2. Yes. But AMD was the first to make 64-bit implementation of it. Intel's IA64 was different, it was not 64-bit implementation of IA32.

Alex Guteniev
  • 12,039
  • 2
  • 34
  • 79
1

AMD first named its (original) 64-bit ISA version x86-64. Intel later named its (mostly compatible) version EMT64. See here at Intel:

x64 is a generic name for the 64-bit extensions to Intel's and AMD's 32-bit x86 instruction set architecture (ISA). AMD introduced the first version of x64, initially called x86-64 and later renamed AMD64. Intel named their implementation IA-32e and then EMT64. There are some slight incompatibilities between the two versions, but most code works fine on both versions; details can be found in the Intel® 64 and IA-32 Architectures Software Developer's Manuals and the AMD64 Architecture Tech Docs. We call this intersection flavor x64. Neither is to be confused with the 64-bit Intel® Itanium® architecture, which is called IA-64.

So x64 can be considered standard nowadays.

Relating to your second question: Your assumptions are correct. Intel developed the IA32 ISA and AMD then licensed it with complicated contracts.

zx485
  • 28,498
  • 28
  • 50
  • 59
  • Thank you for your answer. Still a little bit confused, why AMD would first named its (original) 64-bit ISA version x86-64 since "80x86" processor series are Intel's product? –  Jul 06 '20 at 07:27
  • AMD's 64-bit version was **an extension** to the IA-32 ISA first developed by Intel for the 80386. Intel had the license for the IA-32 achitecture, and AMD extended it for 64-bit while Intel tried its own version with the [IA-64 ISA called Itanium](https://en.wikipedia.org/wiki/IA-64) (which wasn't widely accepted, despite being an interesting concept). So the term IA-64 has previously been occupied by Intel, so AMD chose an alternative term to name it called x86-64. It was popular. Intel named its own version EMT64. Nowadays Intel assigned the (IMHO better) name x64 to it, for AMD and Intel. – zx485 Jul 06 '20 at 12:33
  • Relating to the tag system of StackOverflow: emu8086 or x86-16 relates to 16-bit code, x86 to 32-bit code and x86-64 to 64-bit code - which is not fully in sync with the above terms. – zx485 Jul 06 '20 at 12:39