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.
|
|
- DDR-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.
|