Itanium architecture

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Itanium architecture

Post by Love4Boobies »

Has anyone ever tried writing for the Itanium architecture? It's quite fascinating, I've started reading on it. Do you know of any good compilers for it (except for Intel who I bet has one).
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
Hangin10
Member
Member
Posts: 162
Joined: Wed Feb 27, 2008 12:40 am

Re: Itanium architecture

Post by Hangin10 »

I don't know much about it, but I read somewhere that GCC supports it as a target (and as host?)
and even that it generates better code than Intel's compiler.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Itanium architecture

Post by Love4Boobies »

Hangin10 wrote:(and as host?)
That would be no surpise -- it's the OS that needs to support the Itanium, not the compiler itself. I was only curious about the generated code.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Itanium architecture

Post by Love4Boobies »

Maybe Brendan will have something to say about this? (heh)
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Re: Itanium architecture

Post by Brendan »

Hi,
Love4Boobies wrote:Maybe Brendan will have something to say about this? (heh)
Sure..

AFAIK Linux fully supports Itanium, and so does GCC and it's related tools (LD, OBJDUMP, etc), including support for EFI.

I looked into Itanium several years ago, and I don't think much has changed since. Unlike 80x86 CPUs, the instructions are meant to be scheduled by the compiler, and the CPU doesn't reschedule them. This means compiler optimization are very important, and CPU manufacturers can't easily change the behavior of the CPU (e.g. a performance improvement may mess up the timing that compilers expect, and give worse performance due to instruction scheduling differences).

IMHO for an OS developer there's 3 main problems:
  • getting enough useful documentation (e.g. it's not like 80x86 where there's tutorials and examples everywhere)
  • getting test machines. I couldn't find any emulator that will emulate an Itanium, except for one expensive/slow proprietory simulator that is mainly intended to simulate the electronics rather than emulate the instructions. Real Itanium machines are expensive, and you won't find old ones on eBay for $100. Also, for all OSs on any architecture you want a variety of test computers because some bugs just don't show up on some computers. I'd expect to pay over $10000 ($au) just for three test machines (but I wouldn't assume that 3 different computers is enough variety).
  • getting people to use/test your OS. Currently, almost everyone who's using Itaniums are using them for high-end servers, and probably don't even want to upgrade the OS they're already using in case it costs them too much downtime. That means people willing to test your OS would be extremely rare, and when the OS is completely finished it'd need to be very reliable (and probably support heaps of fault tolerance and redundancy features) before existing Itanium users consider using your OS on their servers.
I'd also assume that Intel did most of the work getting Linux to support Itanium, because Intel do a lot of work on Linux anyway and it'd help sales.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
LMN
Posts: 16
Joined: Tue Dec 30, 2008 6:11 pm
Location: Germany

Re: Itanium architecture

Post by LMN »

I think the emulator Brendan speeks of is SKI ([url]ski.sourceforge.net[/url]. But its of no real use for OS dev. Maybe you have a look at ARM or MIPS. The have both good emulators and hardware(at least ARM) available. And of course their different flavours are supported by GCC.
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: Itanium architecture

Post by Love4Boobies »

As far as MIPS goes, I am currently also studying the POWER architecture (somewhat).
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: Itanium architecture

Post by jal »

Hangin10 wrote:I don't know much about it, but I read somewhere that GCC (...) generates better code than Intel's compiler.
Then the authors of what you read are also quite unknowledgeable. It's common knowledge the Intel compilers are far superior to GCC.


JAL
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: Itanium architecture

Post by jal »

Love4Boobies wrote:As far as MIPS goes, I am currently also studying the POWER architecture (somewhat).
Eerr... what do you mean to say? In a thread about dogs: "As far as cats go, I am currently also studying horses".


JAL
User avatar
LMN
Posts: 16
Joined: Tue Dec 30, 2008 6:11 pm
Location: Germany

Re: Itanium architecture

Post by LMN »

\begin{offtopic}
jal wrote:Love4Boobies wrote:
As far as MIPS goes, I am currently also studying the POWER architecture (somewhat).


Eerr... what do you mean to say? In a thread about dogs: "As far as cats go, I am currently also studying horses".
It's a great associative chain ;).
\end{offtopic}
Post Reply