Because of its unique parallel design, Intel Itanium architecture is especially sensitive to the quality of the code it executes. When it runs optimized, well-formed code, it consistently sets performance records, as reported in numerous publications. But give it inefficiently sequenced code, and it will exhibit substantial performance degradation. When poorly designed code traverses the chip's execution pipeline, it can causes bubbles—a term that describes stalls and other undesirable situations in which the processor is not performing useful work. This article discusses common kinds of bubbles and what developers can do to avoid them. To understand this discussion, it's important to quickly review the salient points of Itanium instruction execution.
Itanium 2 microarchitecture highlights
The Itanium 2 processor is a 64-bit processor designed for parallel instruction execution. Under optimal circumstances, it can retire six instructions per clock cycle. Instructions are fed into the pipeline in bundles consisting of up to three instructions each. Instruction scheduling is more important on the Itanium architecture than in RISC and CISC processors, because parallel execution requires careful scheduling of instructions that depend on each other. The complexity of this scheduling places considerable pressure on the compiler to generate an ideal instruction sequence, and constant work is being done to improve the instruction flows both by expanding the capabilities at the silicon level and by refining compiler code generation.
The Itanium 2 processor uses three levels of cache: the innermost (known as level 1 or, simply, L1 ) contains separate 16-KB areas for data and instructions. L2 caches is added, which is fed by a capacious L3 cache. Recent models of the Madison generation of the Itanium processor family sport L3 caches of 6 MB. On CISC processors, such as the Pentium 4 Processor and Intel Xeon Processor families, each level of cache feeds the smaller level below it.
![]()
![]() | Detecting Hyper-Threading Technology and Counting Processors in Multi-Core Systems Learn how to detect HT Technology in a multi-core processor environmen... |
![]() | Preparing for Hyper-Threading and Dual Core Technologies Subscribe to Intel Software Dispatch and see the complete article I... |
![]() | Improve .NET Performance: Detecting and Reducing Thread Imbalance Potential performance imbalance can occur between processors when thre... |
If you're interested in this topic, these articles may be helpful:
![]() | Download Software Developers Manual for Intel® Itanium® Architecture This three-volume downloadable set provides a comprehensive guide to I... |
![]() | Intel Itanium Processor Family reference guide: IA-32 Execution Layer The Intel Itanium processor family has been architected to provide ind... |
![]() | Cache Coherency in Itanium® Processor Software The Itanium® architecture requires that software maintain coherenc... |
![]() | Maximum FPS: three tips for faster code by Dean Macri, Solutions Enabling Group, Intel Corp. Welcome back t... |
![]()
Recent Jobs:
![]() | Research Staff Member - Storage Systems #Res-0135120 - CA - San Jose - IBM The Storage Systems department at Almaden is looking for a Research St... |
![]() | Senior Security Consultant #GBS-0164887 - DC - Washington - IBM Responsible for various security components on multiple contracts. Fac... |
![]() | SAP BW Senior Consultant #GBS-0163816 - DC - Washington - IBM IBM Business Consulting Services is currently looking for an SAP BW Pa... |
![]() | SAP Project Manager #GBS-0163005 - DC - Washington - IBM Job responsibilities include coordination and management of the delive... |
![]() | WebSphere MQ Series Software Support #SWG-0152348 - NC - Research Triangle Park - IBM Seeking candidate to provide level 2 software support for WebSphere MQ... |
![]() | SAP Workflow Senior Consultant #GBS-0163018 - DC - Washington - IBM Successful candidates will be responsible for SAP workflow configurati... |
![]() | Application Architect #ITD-0162484 - TX - Austin - IBM This role designs applications required to automate business processes... |
![]() | SAP Accounts Payable (FI) #GBS-0163035 - AL - Huntsville - IBM This individual will serve as a SAP Application Functional Specialist,... |
![]() | SAP FM Distribution Sr.Consultant (FI/CO) #GBS-0162794 - USA - IBM The SAP Financials Consultant will serve as an SAP Application Functio... |
![]() | Software Engineer - Services Research #RES-0163843 - CA - San Jose - IBM The IBM Almaden Research Center is currently developing a Rapid Cost E... |

