The Intel® Itanium® Processor Developer Resource Guide

Submit New Article

Last Modified On :   October 7, 2008 5:32 PM PDT
Rate
 


by Andrew Binstock

There's lots out there for everyone interested in the Intel® Itanium® architecture - so we've spent days digging through tons of links to find the most valuable and to-the-point links developers need!

The Intel® Itanium is the inaugural microprocessor in Intel's 64-bit Explicit Parallel Instruction Computing (EPIC) architecture. It is the first major architecture redesign of the x86 line of processors, because it frees programs from the constraints of a 32-bit address space. It also supports native parallel instruction execution meaning that code compiled specifically for EPIC will benefit from numerous execution optimizations. Meanwhile, Intel has been assiduous in providing backward compatibility with 32-bit binaries (IA-32), both from the x86 family and from the Hewlett-Packard's PA-RISC architecture.


Architecture Overview

Good programmers who used compiled languages (rather than Java* or Perl, among others) benefit from knowing how the hardware architecture executes the code they write. For assembly-language programmers this knowledge is mandatory, for C/C++ programmers, it is desirable., Intel strongly recommends the use of higher-level languages, on the grounds that the Itanium processor is developed specifically to play into the strengths of a new generation of compilers, which it is believed will generally produce more efficient code than hand-tuned optimizations are capable of doing.

Programmers who have used Intel manuals before will recognize the following titles. The Intel® Itanium Architecture Software Manual is a set of four volumes in PDF format (available in hard copy from Intel's sales department at +1 (800) 548-4725) that contains: 1) Application Architecture, 2) System Architecture, 3) Instruction Set Reference and 4) Itanium Processor Programmer's Guide. A recent update to these manuals can also be downloaded from this Website. The Intel® Itanium Processor Hardware Developer's Manual provides an overview of the microarchitecture, system bus, data integrity, configuration and initialization, test access port, and integration tools for use while designing systems with the Itanium processor.


Operating Systems

Most providers of Intel-based operating systems have announced or are shipping Itanium versions of their operating systems.

Microsoft* Windows*: The home page for this family of products can be found at http://www.microsoft.com/servers/home.mspx*. Access to the latest 64-bit versions of Windows* can be obtained through Intel's Remote Access service. This service has significant benefits mentioned elsewhere in this article and is a highly recommended resource for developers. You will also find technical features and practical advice on Windows XP features (both 32- and 64-bit) on the Microsoft* Windows* XP Developer Center*.

Linux*: A 64-bit Linux kernel can be downloaded from www.kernel.org/pub/linux/kernel/ports/ia64/*. The home page for all things related to 64-bit Linux can be found at www.ia64-linux.org*. Although many of the links at the site are out-of-date, most anything of importance can be tracked down from paths starting at this site.

HP-UX*: Hewlett-Packard has announced that HP-UX* 11.x will run on PA-RISC and Itanium and the operating system will use the same code base for both versions. Currently, binaries from the PA-RISC family of chips can run without modification on the Itanium. Small changes to existing HP-UX programs may be required; they are discussed in the companion article on porting.


Programming for the Itanium

A well-written set of slides introducing the considerations to bear in mind when doing assembly-language programming for the Itanium processor can be found here.

A series of tutorials on various aspects of programming for the Itanium can be found in the Intel® Software College course catalog. These tutorials function as a series of slides in which are embedded a set of hyperlinks from which developers can drill down to topics of particular importance. These tutorials are particularly approachable, as even the most complex, topics are presented with adequate preliminary information. For cognoscenti of the architecture, the introductory details can be skipped by selecting links to the right slides appropriately. Tutorials include presentations of the architecture, programming for the architecture, migration of code, and optimization of code.

To execute code on an Itanium in a protected environment where you can upload and edit or run code over the Web, sign up for the Intel® Software Partner Program.


Development Tools

The source code, written in C++, for an Itanium assembler, disassembler, and their needed libraries can be downloaded freely from Intel at: Software enabling components. This page also has a link to the UNIX System V ABI specification for the Itanium (defining the new ELF and COFF file formats), which appears to be available only in electronic form.

Intel markets 64-bit C++ compilers and 64-bit Fortran compilers for both Windows and Linux. For more information visit http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm. A port of the GNU project's C/C++ compiler and libraries was first announced in March 2000 for the Linux platform. That product is available from Red Hat and other standard distributions of these tools. Due to limited runtime environments, however, these tools are in rapid evolu tion, so make sure to obtain the freshest possible copies. Very scant information is available at www.fsf.org*.

Early versions and demo editions of Intel developer tools for 64-bit Windows and Linux can be found at the Intel® Software Partner Program Technical Resources web page. These are about the most mature compilers commercially available at the moment.

The tools listed here should allow most programmers to begin working on pilot projects at their sites. As the Itanium gains momentum, developers should expect tools vendors to begin shipping their Itanium processor specific products as well. These include companies such as Borland, whose JBuilder*, C++ Builder*, Delphi*, VisiBroker* and Interbase* tools are all slated for deployment on Itanium. Likewise, expect to see similar announcements from other key vendors, such as Merant and Computer Associates. Most library vendors such as Rogue Wave and other specialty vendors are expected to ship their products for the Itanium processor as well. Releases of less front-line tools, such as those from Rational and CompuWare, will undoubtedly follow shortly thereafter.


Future Directions

Intel traditionally has been active in getting its major partners together to define specifications for upcoming systems. The PC-98 spec and its subsequent revisions detailed the technologies that would be required and supported in a variety of PCs. These documents, for example, were the first to enunciate the use of USB, AGP, and other technologies. A similar initiative for Itanium servers is being undertaken by Intel, HP, IBM and other vendors under the banner of DIG64 (Developers Interface Guide). It can be reached at http://www.dig64.org/home/*.


About the Author

Andrew Binstock is the principal analyst at Pacific Data Works LLC, a firm specializing in market analysis and the composition of white papers. He can be reached at abinstock@pacificdataworks.com.