Memory and Cache
Memory Upgrades: The Relationship Between Cache and Main Memory
The purpose of this document is to explain the relationship
between cache memory and main memory and what this means when considering
an upgrade of your system's main memory. This is not intended to be an
exhaustive explanation of all main memory upgrade considerations.
System Memory: Cache and Main Memory
Your Intel? Pentium? processor-based system has two types of system memory
- cache memory and main memory (main memory is often referred to as DRAM).
Your system memory is a bin for holding instructions and data for the
applications and operating systems you are running on your PC. The Intel
Pentium processor "grabs" the information from this bin, as needed, to
perform the operations according to instructions given by the applications
you are running. Main memory is the primary bin for holding the instructions
and data the processor is using. The cache memory is similar to the main
memory but is a smaller bin that performs faster. The cache memory performs
faster by accessing information in fewer clock cycles. There are two types
of cache memory present in the majority of systems shipped. The Level
1 (L1) cache is in the Intel Pentium processor, the Level 2 (L2) cache
memory is optional and found on the motherboard of most Intel Pentium
processor-based systems.
Consider the following analogy concerning carpenters. The carpenter performs
a number of tasks, using many different tools. Those tools used most frequently
for the job at hand are likely stored on the tool bench within reach for
quick access; tools used less frequently are kept in the tool box, requiring
more time to retrieve. In this analogy, the carpenter is the processor
which is performing operations or tasks; the small group of frequently
used tools on the bench is the cache memory -- within reach for fast access
by the processor. The tools in the tool box are like the data and instructions
stored in main memory, accessible for processing, but requiring more time
to retrieve.
Memory and System "Cacheability"
Operating systems and applications use cache memory to store data or instructions
that the processor is working with at the time, or is predicted to work
with shortly; this allows the processor to get information quickly from
the faster cache memory. The net result is a more efficient and faster
running system. To keep the data and the instructions current, the system
continuously updates the cache memory, moving information from your system's
main memory to the cache memory. The processor works with the operating
system, application and chipset to predict what data and instructions
the processor will want to access in the near future. Going back to our
carpenter analogy, we are switching the tools on the bench with those
in the tool box, to get on the bench in close reach those tools the carpenter
will be using in the near future.
The main memory in your system that can move its information into your
system?s cache memory is called the "cacheable memory." Memory in your
system that is not cacheable performs as if your system is cacheless,
moving information as needed directly to the processor without the ability
to use the cache memory as a fast retrieval storage bin. All systems have
a main memory cacheable limit, typically 64MB or greater; consult your
PC supplier if you have questions on your system's main memory cacheable
limit.
Operating System Use of Main Memory and Cacheability
Your operating system, along with the active applications, determines
the loading of instructions and data into main memory, loading the main
memory from your hard drive, CD ROM drive, disk drive, or whatever input
devices your system has. Most of today's mainstream operating systems
perform this loading of main memory beginning from the top main memory
"location" and working down.
Refer to this example of "loading from the top" for a system with main
memory within cacheable limits: Suppose your system has a cacheable main
memory limit of 64MB and has 16MB of main memory installed and you are
running an application and operating system that needs 6MB of main memory.
If you were to diagnose what main memory was being utilized, you would
most likely find that your system?s 16MB, 15MB,...11MB main memory locations
were filled, with your system's 1MB-10MB main memory remaining empty,
ready for more information that may need to be loaded. In this example,
all the main memory installed is cacheable and thus this process of loading
main memory "from the top" is typically transparent to you, the user.
But, suppose you loaded your system with main memory above the cacheable
limits. The loading process of main memory -- loading "from the top" --
would mean that your non-cacheable main memory would be loaded first.
Once the non-cacheable main memory is filled, the cacheable main memory
would be loaded. Another example illustrates this point: Suppose your
system's main memory cacheable limit is 64MB again, but now your system
has been loaded to 80MB of main memory (16MB above the cacheable limit)
and you were to run that same application and operating system ran in
the previous example (the one requiring 6MB of main memory). The load
"from the top" process, would mean that main memory locations 80MB-75MB
would be filled. Since these main memory "locations" are above the main
memory cacheable limit, the information stored at these main memory locations
are not cacheable, and cannot use the cache memory as a fast retrieval
storage bin. In this example, you will likely see a drop in system performance
by exceeding the cacheable main memory limits of the system.
Considerations When Upgrading Main Memory
As noted in the preceding paragraphs, your system's processor, main memory,
and cache memory interaction are heavily dependent on each other to achieve
optimal system functionality. The original manufacturer of your PC takes
this into consideration when designing and choosing the parts for the
system. If you plan to upgrade your system's main memory above 64MB, we
recommend that you consult your PC supplier to understand your system's
main memory cacheability limits and the implication of exceeding those
limits.
For Intel? Chipsets, we offer a portfolio of solutions supporting different
cacheability limits:
Chipsets for the Intel Pentium Processor Family
430VX = 64MB
430HX = 512MB
430TX = 64MB
Chipsets for the Intel? Pentium? Pro Processor Family
440FX = 4096MB
This limit is included in the product specifications and technical documentation
provided to our OEM customers. For typical systems and applications, we do not
recommend upgrading main memory above these limits as a path to increase performance.
If you have questions on which chipset is in your system, consult your PC supplier
or system documentation. If you want to learn more on the features of Intel's
chipsets visit URL http://developer.intel.com/design/chipsets/.
If you wish to read Intel chipset specification sheets, go to http://developer.intel.com/design/chipsets/specupdt/.
|