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... |
![]() | Improve .NET Performance: Detecting and Reducing Thread Imbalance Potential performance imbalance can occur between processors when thre... |
![]() | Preparing for Hyper-Threading and Dual Core Technologies Subscribe to Intel Software Dispatch and see the complete article I... |
If you're interested in this topic, these articles may be helpful:
![]() | Maximum FPS: three tips for faster code by Dean Macri, Solutions Enabling Group, Intel Corp. Welcome back t... |
![]() | Download Software Developers Manual for Intel® Itanium® Architecture This three-volume downloadable set provides a comprehensive guide to I... |
![]() | Cache Coherency in Itanium® Processor Software The Itanium® architecture requires that software maintain coherenc... |
![]() | Intel Itanium Processor Family reference guide: IA-32 Execution Layer The Intel Itanium processor family has been architected to provide ind... |
![]()
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... |
![]() | Service Delivery Manager #GTS-0164087 - TX - San Antonio - IBM The Service Delivery Manager will reside in San Antonio, Texas. The se... |
![]() | Remote Support Specialist #GTS_ITS-0160480 - CO - Boulder - IBM The Remote Support Representative will provide remote technical assist... |
![]() | SAP MM Senior Consultant #GBS-0162893 - DC - Washington - IBM The SAP Materials Management (MM) Senior Consultant should possess exp... |
![]() | Business Transformation Consultant #GTS-0164429 - FL - Tampa - IBM The responsibilities for this M & A position include: 1. Lead optimi... |
![]() | SAP Accounts Payable (FI) #GBS-0163035 - AL - Huntsville - IBM This individual will serve as a SAP Application Functional Specialist,... |
![]() | Senior Security Consultant #GBS-0164887 - DC - Washington - IBM Responsible for various security components on multiple contracts. Fac... |
![]() | SAP Accounts Payable (FI) #GBS-0163035 - FL - Miami - IBM This individual will serve as a SAP Application Functional Specialist,... |
![]() | Application Architect #ITD-0162484 - TX - Austin - IBM This role designs applications required to automate business processes... |
![]() | Premium Support Manager #SWG-0164012 - MI - Detroit - IBM The Premium Support Manager (PSM) is responsible for being a customer ... |

