Programming with Intel Extended Memory 64 Technology: Migrating Software for Optimal 64-bit Performance

Key Points

The primary benefit of moving to an architecture with Intel EM64T is to provide greater execution resources to software. The most important benefit of these resources is performance scalability. Consequently, making code run fast should be part of any porting plan and the goal of any new project. This chapter has examined key aspects of good performance both on systems with Intel EM64T and on the IA-32 architecture in general.

  • Where possible make use of the new 64-bit registers and instructions, unless you have specific reasons for not doing so.

  • Arithmetic, in particular, benefits from use of 64-bit registers.

  • For frequent arithmetic, consider using SIMD and the XMM registers.

  • Stalls in the processor pipeline have a devastating effect on performance if they occur frequently. Avoiding these stalls is critical to good performance.

  • Intel processors have a hardware prefetch mechanism that loads data into caches once it recognizes a pattern of cache misses.

  • Developers can avoid stalls by depending on the hardware prefetch and supplementing it with software prefetch anytime the fetching pattern is difficult to predict.

  • One of the most common and expensive stalls is a branch to an unexpected routine.

  • By coding programs to avoid the unexpected jumps, developers can greatly improve performance. Therefore, code your jumps and decision trees so that they coincide with the processor's expectations.

  • Serializing events are similar to stalls but less expensive due to an easier recovery process. Two primary causes of serializing events are modifying the default precision of floating-point arithmetic...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Computers
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.