5.2 Memory Access Methods
PC memory may use the following access methods:
- Asynchronous DRAM
Asynchronous DRAM, which was used in all PCs until the late 1990s, uses a window of fixed minimum duration to determine when operations may occur. If the CPU has transferred data while a window is open, and if a subsequent clock cycle occurs while that window remains open, the CPU cannot transfer additional data until the next window opens, thereby wasting that clock cycle. Asynchronous operation forces the CPU to conform to a fixed schedule for transferring data, rather than doing so whenever it wishes.
All forms of asynchronous DRAM are now obsolete. Although asynchronous DRAM is still available, it costs so much per megabyte that it seldom makes sense to buy it. For example, in late 2001, SDRAM DIMMs sold for about $0.15 per megabyte while asynchronous DRAM SIMMs sold for between $1.50 and $12.00 per megabyte, depending on capacity and type. Asynchronous DRAM is available in the following types:
- Fast Page Mode (FPM) DRAM
FPM was commonly used on 486 and earlier systems, and may be installed in early Pentium systems. FPM is not supported by recent chipsets. Although you can migrate FPM DRAM from an old Socket 5 or Socket 7 system to a newer Socket 7 system, it is good for little else. You may be able to install surplus FPM DRAM in your laser printer.
- Extended Data Out (EDO) DRAM
EDO, also sometimes called Hyper Page Mode DRAM, is marginally faster than FPM, is still available in all common package types, and was commonly installed on new systems until late 1998. EDO DRAM now costs so much that it often makes more sense to replace the existing motherboard, processor, and memory with current products than to buy EDO memory. That said, you may be able to upgrade the memory in an EDO-based system economically. Many EDO-based systems can also use SDRAM DIMMs, which are faster, much less expensive, and much more readily available. To upgrade the memory in such systems, replace the existing EDO memory with PC133 SDRAM DIMMs.
- Burst Extended Data Out (BEDO) DRAM
BEDO slightly improved upon EDO, but was inferior to SDRAM, which was introduced at about the same time, and so never became popular. If you have a BEDO-based system, follow the upgrade advice given for an EDO-based system.
- Synchronous DRAM
Synchronous DRAM (SDRAM) shares a common clock reference with the CPU. No window is needed because the CPU and memory are slaved together, allowing the CPU to transfer data to and from memory whenever it wishes to do so, rather than requiring the CPU to await an arbitrary time window. Synchronous DRAM takes one of the following forms:
- JEDEC SDRAM
Ordinary SDRAM, sometimes called PC66 SDRAM to differentiate it from PC100 SDRAM and PC133 SDRAM. PC66 SDRAM was formerly much less expensive than PC100 or PC133 SDRAM, but those faster variants are now so dominant that PC66 SDRAM is difficult to find and may cost more than PC100 or PC133 SDRAM. Because PC133 SDRAM can be used on nearly any system running a 133 MHz or slower FSB, buying JEDEC SDRAM never makes sense, even for systems that run memory at 66 MHz. PC66 SDRAM salvaged from an older system can be used in any system that runs a 66 MHz FSB, including those running older model Celeron or Pentium II processors.
- PC100 SDRAM
SDRAM that complies with the Intel PC100 specification, and is rated for use on a 100 MHz FSB. Like PC66 SDRAM, PC100 SDRAM is now obsolescent, and may actually cost more than faster PC133 SDRAM.
- PC133 SDRAM
SDRAM that complies with the Intel PC133 specification, and is rated for use on a 133 MHz FSB. PC133 SDRAM now costs little or no more than PC100 SDRAM, operates properly although only at the lower speed in nearly all systems that use PC66 or PC100 SDRAM, and is usually the best choice when you're buying SDRAM memory, even for a 66 MHz or 100 MHz FSB system. PC133 SDRAM is commonly available in two variants, which vary only in CAS latency. CAS-3 PC133 SDRAM is the more common form, and is what you will receive if you do not specify otherwise. CAS-2 PC133 SDRAM has lower latency, is therefore slightly faster in a motherboard that can take advantage of it, and costs only a few cents more per megabyte.
As of June 2002, PC133 SDRAM is still a mainstream memory technology for entry-level systems. PC133 SDRAM has, however, already been replaced by DDR-SDRAM, described in the next section, for mainstream and high-end systems, and even entry-level systems will likely transition entirely to DDR-SDRAM before 2003.
| || |
Some memory packagers sell so-called PC166 SDRAM. In fact, there is no such standard, and these modules are used primarily by overclockers who run the FSB at 166 MHz rather than 133 MHz. We suggest that you avoid both running your FSB at a higher than intended speed and using PC166 SDRAM.
Double Data Rate SDRAM (DDR-SDRAM) doubles the amount of data transferred per clock cycle, and thereby effectively doubles PC100/133 memory bandwidth to 200/266 MHz. DDR-SDRAM is an evolutionary improvement of standard SDRAM, which is now sometimes called Single Data Rate SDRAM or SDR-SDRAM to differentiate it. Because DDR-SDRAM costs essentially the same to produce as SDR-SDRAM, it sells for about the same price.
The chips used to produce DDR-SDRAM DIMMs are named for their operating speed. For example, 100 MHz chips are double-pumped to 200 MHz, and so are called PC200 chips. Similarly, chips that operate at 133 MHz are called PC266 chips, and those that operate at 166 MHz are called PC333 chips.
Unlike SDR-SDRAM DIMMs, which are designated by their chip speeds, DDR-SDRAM DIMMs are designated by their throughput. Their data path is 64 bits (8 bytes) wide. So, for example, a DDR-SDRAM DIMM that uses PC200 chips transfers 8 bytes 200 million times per second for a total throughput of 1,600 million bytes/second, and is called a PC1600 DIMM. Similarly, DDR-SDRAM modules that use PC266 chips are called PC2100 DIMMs, and those that use PC333 chips are called PC2700 DIMMs. Based on chip speed, these modules are actually PC2667, but no one uses that name. Some sources call them PC2600 modules, but manufacturers have adopted the PC2700 designation for obvious reasons.
DDR-SDRAM is now the dominant mainstream memory technology. All mainstream AMD and Intel processors and chipsets now support DDR-SDRAM, and there is little reason to choose any other type of memory.
| || |
On the theory that if twice as fast is good, four times as fast must be better, Kentron and VIA Technologies are developing Quad Band Memory (QBM), sometimes called Quad Data Rate SDRAM (QDR-SDRAM). We expect that attempt to fail. Even DDR introduces electrical issues that are difficult to solve, and we never expect to see QBM as a shipping product. On the other hand, we do expect to see VIA trumpeting chipsets that support this non-technology. We suggest you consider such claims to be marketing hype.
For details about all variants of SDRAM, see the Intel PC SDRAM Specifications page at http://developer.intel.com/technology/memory/pcsdram/spec/index.htm.
- Protocol-based DRAM
The preceding DRAM types use separate address, control, and data buses, each with many lines. Managing these wide parallel buses limits performance. Protocol-based DRAM instead uses a narrow, very fast channel with protocols that manage address, control, and data information. The following two standards for protocol-based DRAM exist:
- Rambus RDRAM
There are actually three major variants of Rambus memory, called Base Rambus, Concurrent Rambus, and Direct Rambus. The first two are obsolescent, and are used only in devices like game consoles. All Rambus memory used in PCs is Direct Rambus memory. Rambus RDRAM is a proprietary RAM standard developed jointly by Intel and Rambus. RDRAM supports 100 and 133 MHz FSB, and is currently available in three versions called PC600, PC700, and PC800. As with DDR-SDRAM, RDRAM modules are named according to their throughput, but with a difference. RDRAM uses a 16-bit or 18-bit data path (versus 64-bit for SDRAM) to transfer two bytes at a time. Accordingly, PC600 RDRAM provides peak throughput of 1,200 million bytes/second, PC700 1,400 million bytes/second, and PC800 1,600 million bytes/second.
In theory, then, it appears that PC800 RDRAM matches the throughput of PC1600 DDR-SDRAM. In fact, that is true only if you are considering peak throughput. In the real world, RDRAM provides higher sustained throughput because it is more efficient than SDRAM in typical applications. Whereas SDRAM efficiencies are in the 40% to 70% range, RDRAM efficiency is about 80%. Accordingly, PC800 RDRAM might deliver sustained throughput of 1,280 million bytes/second, whereas PC1600 DDR-SDRAM delivers much less, and even PC2100 DDR-SDRAM may not be able to match the actual sustained throughput of PC800 RDRAM.
On that basis, RDRAM might seem the better choice, but that is seldom true for several reasons. First, the throughput advantage of RDRAM is unrealized in most applications. Although modern processors like the Pentium 4 can in theory use very wide memory bandwidths, in practice few applications require more memory bandwidth than PC1600 DDR-SDRAM provides, let alone PC2100 DDR-SDRAM. Second, RDRAM typically costs significantly more than DDR-SDRAM (although as of June 2002 RDRAM and DDR-SDRAM are priced similarly). Third, throughput is only one aspect of memory performance. At least as important as throughput is latency the time that elapses from requesting data from memory until the memory begins delivering that data. Despite the arguments of Rambus to the contrary, real-world RDRAM implementations exhibit high latency. What's worse is that RDRAM latency is cumulative. That is, with SDRAM, latency is a property of the memory chips themselves and remains the same regardless of the number of DIMMs installed in the system. With RDRAM, installing additional memory modules increases latency linearly. Not surprisingly, all the memory performance comparisons that we have seen from Rambus are based on using one RDRAM module.
One can argue theory all day, of course, but the simple fact is that in our experience Rambus RDRAM memory seldom provides a significant performance advantage over SDRAM and may in fact be slower in some applications even than PC133 SDR-SDRAM. We suggest avoiding RDRAM memory entirely, except on Pentium 4 systems for which memory performance is a very high priority and the additional cost of RDRAM is not a deciding factor. In that case, use a dual-channel RDRAM motherboard with one RDRAM RIMM per channel.
- Synchronous Link DRAM (SLDRAM)
In the first edition of this book, we presented SLDRAM as an open, royalty-free, protocol-based SDRAM standard that had the potential to challenge the proprietary Rambus RDRAM standard. We also predicted that SLDRAM might wither on the vine, and that in fact is what came to pass. SLDRAM is now moribund, having failed to gather support from chipset and memory manufacturers. The SLDRAM web site (http://www.sldram.com) remains up, but SLDRAM appears to be a dead technology.
As of June 2002, the memory landscape for PCs appears to be predictable for the next couple of years. PC133 SDR-SDRAM is on the wane. Throughout 2002, PC133 SDR-SDRAM will be overtaken by PC2100 DDR-SDRAM as the mainstream memory technology, with PC2700 DDR-SDRAM gaining ground as production ramps up, and PC1600 DDR-SDRAM losing ground as faster DDR memory becomes commonplace. By mid-2002, only entry-level PCs will use PC133 SDRAM. By late 2002, even the least expensive systems will use PC2100 DDR-SDRAM. DDR-SDRAM costs essentially the same to make as PC133 SDRAM and provides somewhat better performance, so market forces should eliminate SDR-SDRAM as a factor by year-end 2002.
Rambus RDRAM never became mainstream despite Intel's efforts to push it. Those efforts were particularly futile with Pentium III class processors, which do not require the additional bandwidth available with RDRAM. Those early efforts to promote RDRAM failed miserably because people noticed that despite the hype RDRAM provided little or no performance benefit relative to PC133 SDRAM with sixth-generation processors.
Now that the bandwidth-hungry Pentium 4 processor has become mainstream, there is finally a place for RDRAM. In our testing, RDRAM-based Pentium 4 systems provide noticeably better memory performance than those that use DDR-SDRAM. However, memory performance is only one aspect of overall system performance, and most users will notice little real-world difference between Pentium 4 systems running RDRAM versus DDR-SDRAM (or even SDR-SDRAM). We use RDRAM only in Pentium 4 systems that will be used heavily for applications that are memory-bound. Otherwise, SDRAM is more than good enough.