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

Chapter 7: Handling Large Memory

Quantity has a quality all its own.
Josef Stalin

Overview

The principal reason for migrating to Intel EM64T is the enormous amount of memory the architecture supports. Smaller advantages include native 64-bit data types, added XMM registers, and more general-purpose registers; but the big story is the amount of RAM that can be supported. As explained in previous chapters, the actual amount of RAM supported by Intel EM64T should expand as new generations of the architecture see the light of day. At present, 16GB is the default size for most systems with a cap of 64GB. Both numbers are likely to climb quickly.

Developers accustomed to working within the confines of a 4-GB system are likely to view dozens of gigabytes as an almost endless embarrassment of riches. And like a small child who has just been given the keys to the local candy store, you have good reason to resist the temptation to rush in and grab all you can. Use of large memory spaces, and of a new processor technology in general, suggests caution and circumspection.

Without doubt, lots more memory tends to improve performance. However, if used poorly or inefficiently, large amounts of RAM can present a hindrance to good performance. The problem is that if you're not accustomed to thinking in terms of the effects of using a larger memory space, you can inadvertently write poorly performing code.

This chapter explores the pitfalls of working with large memory, starting with a generic treatment of the topic...

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: Memory Modules
Finish!
Privacy Policy

This is embarrasing...

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