What is the difference between x64 and IA-64?

58,836

Solution 1

x64 is used as a short term for the 64 bit extensions of the "classical" x86 architecture; almost any "normal" PC produced in the last years have a processor based on such architecture.

AMD invented the AMD64 extensions; Intel was more or less forced to implement them, and called them first IA-32e, then EM64T and finally Intel 64 (actually, the AMD and Intel extensions aren't exactly the same, but they are almost identical).

Many people also call this stuff x86-64, to have a vendor-independent name and to stress the fact that it's the 64 bit evolution of the x86 architecture. All the "regular" PCs that are sold with "64 bit processors" run on x86-64 architecture.

IA-64 (Intel Architecture 64) is an almost completely unrelated 64 bit architecture (also known as Itanium), developed by Intel initially for high-end servers. It was said that Itanium could have been a replacement for the x86 architecture, but this architecture didn't have much success (for various reasons), so it's unlikely that you'll ever need the IA-64 installers.

For more information, you may have a look at the wikipedia articles on x86-64 and Itanium.

Solution 2

IA-64 is the Intel Itanium Architecture. This is a Very Long Instruction Word (VLIW) processor instruction set.

x86_64 is the normal 64-bit architecture that is used by processors inside every laptop / desktop in today's computers. This processor is a dynamic processor.

The main difference between these two is that

In VLIW, the compiler resolves the dependencies between instructions and schedules them appropriately. The processor merely executes them.

With a dynamic processor, the compiler just schedules the instructions without worrying about dependencies. The processor takes care of dependencies, reorders them and executes them appropriately.

VLIW code is dependent on each chip's internal architecture. The compiler needs to know that information. The advantage of them is that it can extract much more parallelism than dynamic processors can give.

The code is independent on each chip's internal architecture for dynamic processors. It just needs to follow the instruction set. So code compiled on one machine can run on other machines very easily. The disadvantage though is that limited parallelism can be exploited from dynamic processors. And the internal logic and design is very complex and intricate than VLIW.

Nevertheless, dynamic processors are used today mostly by consumers (individuals), so they can run code compiled / generated on any machine. VLIW processors are used by servers and enterprises because of the parallelism they can produce.

Solution 3

they are different

IA-64 is itanium - an architecture for servers

x64 is what 64bit intel core and amd cpus implement

Solution 4

x64 is short for x86-64 which is an extension of the x86 instruction set.

IA-64 is for the Itanium 64 bit Architecture (by Intel)

Solution 5

IA-64 is for computers running Intel Itanium 64 bit processors. They do not support running 32 bit applications like x64 processors do. A special version of Windows is needed to run on these processors, thus the two different installers.

Share:
58,836
James Oravec
Author by

James Oravec

I like egg rolls.

Updated on July 08, 2022

Comments

  • James Oravec
    James Oravec almost 2 years

    I was on Microsoft's website and noticed two different installers, one for x64 and one for IA-64. Reference:Installing the .NET Framework 4.5, 4.5.1

    My understanding is that IA-64 is a subclass of x64, so I'm curious why it would have a separate installer.

  • Pacerier
    Pacerier over 7 years
    "64 bit evolution of the x86 architecture" meaning? And how does it differ from simply "64 bit architecture"?
  • Matteo Italia
    Matteo Italia over 7 years
    @Pacerier: it means that the basic structure of everything you use (available instructions, most addressing modes, down even to most of the instructions encoding) stays the same, but you have wider registers (rax/rbx/rcx/... are the 64-bit extensions of the 32 bit eax/ebx/ecx/..., which you can still use as "the lower half of the 64 bit registers"). Plus, you get some extra registers (r8 to r16), some new instructions, guaranteed presence of some instruction sets, new addressing modes (RIP-addressing) plus a bunch of other stuff.
  • Matteo Italia
    Matteo Italia over 7 years
    @Pacerier: simply "64-bit architecture" means nothing besides "there's some architecture where most registers are 64 bit (maybe)". x64 is a 64 bit architecture, AArch64 is a 64 bit architecture; IA64 is a 64 bit architecture; ppc64 is a 64 bit architecture; all of these have very little in common one with each other.
  • CristiFati
    CristiFati over 7 years
    Actually they do support running 32bit applications (at least those running Win).
  • Pacerier
    Pacerier over 7 years
    Then isn't it true that pure 64 bit is going to provide more performance since it doesn't have the baggage of backwards-compat requirements?
  • Nearoo
    Nearoo about 6 years
    "64 bit" means that addresses, memory, busses... everything is organized with 64 bits. x86 is an instruction set architecture, which defines the sets of commands available to the programmer. It defines the assembly language in which all software, from BIOS to OS to C/C++, Python, Java... is written in. You literally can't go below the ISA as a programmer; for that, you have to change the physical structure of the processor itself. "Pure 64 bit" as opposed to an ISA like x86 is not really a meaningful comparison. 64 bit is simply a property of an ISA.
  • Nearoo
    Nearoo about 6 years
    You could say though that IA-64 is the more "pure" 64 bit ISA because it was designed from scratch, in contrary to x86-64 which still contains archaic design choices. But unless you own a IA-64 processor, you won't be able to execute anything written in it. From the fact that you're asking this question alone I reason that you do not own one.
  • Reversed Engineer
    Reversed Engineer almost 6 years
    Yes - 64-bit processors are actually x86 !!
  • Peter Cordes
    Peter Cordes almost 5 years
    Yes they're different, but IA-64 Itanium CPUs are made by Intel and are 64-bit. They can't run x86-64 machine code, though.