OS and compiler considerations in the design of the IA-64 architecture

  • Authors:
  • Rumi Zahir;Jonathan Ross;Dale Morris;Drew Hess

  • Affiliations:
  • Intel Corporation;Hewlett-Packard Company;Hewlett-Packard Company;Lucasfilm Ltd.

  • Venue:
  • ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Increasing demands for processor performance have outstripped the pace of process and frequency improvements, pushing designers to find ways of increasing the amount of work that can be processed in parallel. Traditional RISC architectures use hardware approaches to obtain more instruction-level parallelism, with the compiler and the operating system (OS) having only indirect visibility into the mechanisms used.The IA-64 architecture [14] was specifically designed to enable systems which create and exploit high levels of instruction-level parallelism by explicitly encoding a program's parallelism in the instruction set [25]. This paper provides a qualitative summary of the IA-64 architecture features that support control and data speculation, and register stacking. The paper focusses on the functional synergy between these architectural elements (rather than their individual performance merits), and emphasizes how they were designed for cooperation between processor hardware, compilers and the OS.