HP-UX Customer Investment Protection

A key component of HP-UX 11i's successful introduction was that Hewlett-Packard offered binary compatibility for all native application software. Cost analysis over the 1990's showed unequivocally that investment in software now far outstrips that of hardware. Therefore, it is more important to provide legacy protection for software than for hardware.

In its design of the Itanium architecture, HP was able to provide a great deal of compatibility with PA-RISC without compromising the performance potential of Itanium. A great deal of compatibility between the PA-RISC and the Itanium architecture was retained. Key aspects of the compatibility between PA-RISC and the Itanium architectures include the following:

  • One-to-one mapping of performance-sensitive machine-level instructions between PA-RISC and Itanium architectures.

  • Use of the PA-RISC virtual memory architecture for Itanium-based systems.

  • Identical data formats between PA-RISC and Itanium architecture.

  • Itanium floating-point instructions are a superset of PA-RISC floating-point instructions.

  • Itanium multimedia instructions are a superset of the PA-RISC multimedia instructions.

  • Itanium graphics acceleration is the same as PA-RISC graphics acceleration.

In addition, HP provides two major types of compatibility between the PA-RISC and Itanium architectures:

  1. Binary compatibility (PA-RISC binaries execute transparently on Itanium).

  2. Source code compatibility (PA-RISC applications can be converted to native Itanium operation with a recompile; no source code changes are required).

Binary Compatibility

The similarities between the PA-RISC and Itanium architectures allowed HP to develop technology that permits PA-RISC binary executables to execute on the Itanium architecture without modification, recompilation, or relinking. In 1997, HP started work on new dynamic code translation technology. This technology's basis is demonstrated in Figure 11-2.

Figure 11-2. The Binary Dynamic Translator


This technology became known as the Aries project, which we explore further in Chapter 12. The goal of the Aries project was to allow the execution of PA-RISC binaries automatically and transparently on Itanium systems. It is now built into and an integrated component of every version of HP-UX on Itanium, providing the best all-around protection for an organization's legacy software.

In addition, this is a boon to clients who are unable to recompile their applications to execute natively on the new architecture. Normally, where binary compatibility is not available, additional methods of transition are available where the source code can be recompiled, as shown in Figure 11-3.

Figure 11-3. Transition Methods


This could be because the application was purchased from a software vendor that has gone out of business and the source code has been lost. Alternatively, the application could be homegrown but the source code has been lost, no longer matches the executable version, or the expertise to maintain the application has been lost. In that case, having built-in binary compatibility is the only available solution to keep a system up and running when moving to a new microprocessor's architecture.

Source Code Compatibility

Source code compatibility between the PA-RISC and Itanium architectures is obtained with HP's compiler technology that divides each compiler into two components:

  1. A front-end component that reads the source code and emits metacode.

  2. A back-end component that reads the metacode emitted by the front-end component and generates performance-optimized binary code for the specific architecture.

The HP compiler structure begins with a language-dependent front end that includes components for lexical analysis, plus syntax and semantic analysis of the incoming source code. Each front end produces an intermediate, stack-based representation of the program for further use by the compiler code generator and optimizers.

Using the strategy of front-end and back-end compiler components, HP is able to use a common front end that provides source code compatibility and different back-end components that generate binary code optimized for either the PA-RISC or Itanium architectures.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.21.86