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.