Questions tagged [itanium]

IA-64 Itanium (not to be confused with x86-64 / AMD64) is a family of 64-bit Intel microprocessors based on VLIW with explicit instruction-level parallelism, in which the compiler decides which instructions to execute in parallel. This contrasts with traditional superscalar architectures, which depend on the processor to manage all instruction dependencies at runtime. It is unrelated to x86-64.

Itanium (/aɪˈteɪniəm/) is a family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Intel markets the processors for enterprise servers and high-performance computing systems. The architecture originated at Hewlett-Packard (HP), and was later jointly developed by HP and Intel.

The Itanium architecture is based on explicit instruction-level parallelism, in which the compiler decides which instructions to execute in parallel. This contrasts with traditional superscalar architectures like x86 or ARM, which depend on the processor to manage instruction dependencies at runtime (to give the illusion of each instruction running in program order).

Itanium cores up to and including Tukwila execute up to six instructions per clock cycle.

http://en.wikipedia.org/wiki/Itanium

Itanium's EPIC (Explicitly Parallel Instruction Computing) is based on VLIW. The instruction format is a 128-bit VLIW bundle of 3x 41-bit instructions, and a 5-bit template which encodes instruction types, and "stops" which mark data dependencies between groups of VLIW bundles.


IA-64 is completely unrelated to x86-64 / AMD64, x86, or IA-32 (32-bit x86). The same company (Intel) was behind both IA-64 and IA-32, but the ISAs are completely different, IA-64 being a VLIW and x86-64 being a CISC with variable-length instructions and a small number of architectural registers.

Early Itanium hardware had hardware support for executing IA-32 instructions to ease adoption by the target market (people already using x86), and the manuals define which IA-64 registers are used for IA-32 state. It was later dropped in favour of software emulation.


49 questions
65
votes
6 answers

What is the difference between x64 and IA-64?

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…
James Oravec
  • 19,579
  • 27
  • 94
  • 160
28
votes
6 answers

What are the technical reasons behind the "Itanium fiasco", if any?

In this article Jonh Dvorak calls Itanium "one of the great fiascos of the last 50 years". While he describes the over-optimistic market expectations and the dramatic financial outcome of the idea, he doesn't go into the technical details of this…
Massimiliano
  • 16,770
  • 10
  • 69
  • 112
25
votes
3 answers

What do x86_64, i386, ia64 and other such jargons stand for?

I frequently encounter these terms and am confused about them. Are they specific to the Processor, or the Operating System, or both? I have Ubuntu 12.04 running on Intel i7 machine. So which one of them would apply for my case?
hardcoder
  • 415
  • 1
  • 5
  • 13
17
votes
1 answer

Assembly registers in 64-bit architecture

Following the answer about assembly registers' sizes: First, what sizes are eax, ax, ah and their counterparts, in the 64-bit architecture? How to access a single register's byte and how to access all the 64-bit register's eight bytes? I'd love…
Reflection
  • 1,936
  • 3
  • 21
  • 39
16
votes
5 answers

How to test if your Linux Support SSE2

Actually I have 2 questions: Is SSE2 Compatibility a CPU issue or Compiler issue? How to check if your CPU or Compiler support SSE2? I am using GCC Version: gcc (GCC) 4.5.1 When I tried to compile a code it give me this error: $ gcc -O3 -msse2…
neversaint
  • 60,904
  • 137
  • 310
  • 477
14
votes
2 answers

Why does MSVC not support inline assembly for AMD64 and Itanium targets?

Yesterday I learned that inline assembly (with the __asm keyword) is not supported under Microsoft Visual C++ when compiling for AMD64 and Itanium targets. Is that correct? And if so, does anyone know why they would not support inline assembly for…
Jeremy Friesner
  • 70,199
  • 15
  • 131
  • 234
10
votes
2 answers

What 64bit target to choose when compiling with Visual Studio (vcvarsall.bat)?

The vcvarsall.bat that does setup de build environment let you choose between x86 | ia64 | amd64 | x86_amd64 | x86_ia64. First option is obvious for 32bit, but the question is: what would be the optimal option between the other 4 if you want to…
sorin
  • 161,544
  • 178
  • 535
  • 806
7
votes
6 answers

Should my C++ program support IA64 or only x64?

Should my program support IA64, or should it only support x64? I haven't been able to easily find IA64 computers myself. Is IA64 dead? MS seems to have a wide support for IA64, but it took me a long time to be able to find an IA64, and I had to end…
Brian R. Bondy
  • 339,232
  • 124
  • 596
  • 636
6
votes
2 answers

What does "a GP/function address pair" mean in IA-64?

What does "a GP/function address pair" mean in Itanium C++ ABI? What does GP stand for?
ZhangXiongpang
  • 280
  • 2
  • 7
6
votes
2 answers

Itanium assembly programming resources?

Are there any good Itanium assembly language tutorials?
pt
6
votes
3 answers

Moving away from Itanium

We currently have a large business-critical application written in COBOL, running on OpenVMS (Integrity/Itanium). As the months pass, there is more and more speculation about the lifetime of the Itanium architecture. Nothing is said out in the…
Eric Smith
  • 5,262
  • 2
  • 33
  • 49
5
votes
3 answers

Differences between x86/x64/ia64 memory models on .NET

I'm looking for a reference on the differences between the memory models used by the .NET CLR/JIT on x86/x64/ia64. I know there's some differences between x86 and ia64 (instruction reordering, instruction removal, etc.), but I haven't found a…
Jonathan Rupp
  • 15,522
  • 5
  • 45
  • 61
5
votes
2 answers

How is the arm memory model different from ia64?

I have to deal with a lot of multithreaded programming at work. Specifically, I want to know how the ARM memory model differs from IA64. Both are very weak models, but are there any specific differences that I should know about? I'm familiar with…
LCC
  • 1,170
  • 1
  • 17
  • 28
4
votes
3 answers

DDK/WDM developing problem ... driver won't load on x64 windows platform

I am a beginner at DDK/WDM driver developing field. I have a task which involves porting a virtual device driver from x86 to x64 (intel). I got the source code, I modified it a bit and compiled it succesfuly with DDK (build environments). But when I…
user295975
  • 41
  • 1
  • 2
4
votes
3 answers

Itanium cross-compiler for x86/64

I need to compile my code for Itanium, but it seems that all of the compilers (ecc, gcc, orc) require an Itanium machine to do so. Any suggestions?
Parsa
  • 997
  • 1
  • 15
  • 38
1
2 3 4