5.1 Understanding Memory
This chapter focuses on general-purpose memory, where PCs store programs and data that are currently in use, the pipeline that supplies data to and receives results from the processor. General-purpose memory, called read-write memory or random access memory (RAM), must be readable-from and writable-to. Two types of RAM are used on modern PCs:
- Dynamic RAM (DRAM)
Dynamic RAM stores data for only a tiny fraction of a second before losing it. To maintain stored data, the system must constantly refresh DRAM, which exacts a performance penalty and limits its speed. Typical DRAM provides 60 ns access, but costs only a dollar per megabyte.
- Static RAM (SRAM)
Static RAM automatically maintains its contents as long as power is applied to it, without requiring refresh. SRAM is the fastest memory type available, but is very expensive and power-hungry.
PCs use a tiered memory architecture that takes advantage of these characteristics:
- Main memory
The bulk of a PC's memory uses DRAM and is called main memory. It is large typically 32 MB to 256 MB or more but too slow to keep up with a modern CPU. Main memory is where the CPU stores programs and data that it will soon need. Main memory functions as a buffer between the CPU and disk and stores tens to hundreds of megabytes.
- Cache memory
Cache memory is a small amount of fast SRAM that buffers access between the CPU and main memory.
Modern PCs have at least one, typically two, and sometimes three layers of cache memory:
- Primary cache memory
Primary cache, also called Level 1 cache or L1 cache, is typically 16 to 128 KB of very fast memory on the same chip as the CPU itself. L1 cache size and efficiency are major factors in CPU performance. The amount and type of L1 cache is determined by the CPU you use, and cannot be upgraded.
- Secondary cache memory
L1 cache is not large enough to eliminate the speed disparity between processors and main memory. Secondary cache, also called Level 2 cache, L2 cache, or (on Pentium-class motherboards) external cache, bridges that gap with a reasonable compromise between cost and performance. L2 cache resides on the motherboard of most Socket 7 systems where it can be upgraded but is a non-upgradable part of the CPU package (or of the CPU substrate itself) on Celeron, Pentium II/III/4, and AMD K6-III/Athlon/Duron systems.
Depending on its type, external L2 cache on Pentium-class motherboards may be upgraded as follows:
- Discrete SRAM chips
Older motherboards often use individual socketed or soldered SRAM chips. If free sockets are available, you can expand L2 cache by adding SRAM and TAG chips of the appropriate number, type, and speed. TAG RAM is a dedicated chip or chips in the L2 cache subsystem that caches addresses as opposed to caching user data, which is stored in SRAM chips in the portion of the L2 cache subsystem called the data store. TAG RAM capacity determines the number of addresses that can be cached, and therefore the maximum cacheable memory area. Data store capacity determines how much data the L2 cache can contain at any one time. A larger data store makes it more likely that the data will be found in cache (called a cache hit). In theory, the sizes of TAG RAM and the data store need not be related. In practice, most chipsets that use TAG RAM link TAG RAM size and data store size.
- Cache on a Stick
Later fifth-generation systems use Cache on a Stick (COASt) modules, also called Card-Edge Low Profile (CELP) modules, which install in a socket that looks much like a PCI slot. COASt modules come in various types and speeds, so when upgrading be sure to purchase the correct type.
- High-density surface-mount SRAM packages
Most current Super Socket 7 motherboards use surface-mount SRAM packages, which are not upgradable. Some motherboards have available sockets, and can be upgraded by adding the type of chips specified by the documentation.
Most Pentium motherboards have 256 or 512 KB of L2 cache, but inexpensive systems may have none. You can improve the performance of such systems at relatively small cost by installing 256 KB of L2 cache, although the improvement will be marginal. Upgrading such elderly systems is usually a poor decision, because the money you spend in incremental upgrades would be better spent on replacing the motherboard, processor, and memory with current products.
| || |
Some PCs and motherboards arrive with cache memory installed but disabled. Always check the Chipset Setup section of CMOS Setup to verify that L1 and L2 cache are both enabled.