Computer Hardware Image Gallery
Computer Hardware Image Gallery
RAM is the best known form of computer memory and easy to upgrade. See more computer
hardware pictures.
Random access memory (RAM) is the best known form of computer memory. RAM is
considered "random access" because you can access any memory cell directly if you know the
row and column that intersect at that cell.
The opposite of RAM is serial access memory (SAM). SAM stores data as a series of memory
cells that can only be accessed sequentially (like a cassette tape). If the data is not in the current
location, each memory cell is checked until the needed data is found. SAM works very well for
memory buffers, where the data is normally stored in the order in which it will be used (a good
example is the texture buffer memory on a video card). RAM data, on the other hand, can be
accessed in any order.
• Curiosity Project:
What is the Blue
Brain project?
A capacitor is like a small bucket that is able to store electrons. To store a 1 in the memory cell,
the bucket is filled with electrons. To store a 0, it is emptied. The problem with the capacitor's
bucket is that it has a leak. In a matter of a few milliseconds a full bucket becomes empty.
Therefore, for dynamic memory to work, either the CPU or the memory controller has to come
along and recharge all of the capacitors holding a 1 before they discharge. To do this, the
memory controller reads the memory and then writes it right back. This refresh operation
happens automatically thousands of times per second.
This refresh operation is where dynamic RAM gets its name. Dynamic RAM has to be
dynamically refreshed all of the time or it forgets what it is holding. The downside of all of this
refreshing is that it takes time and slows down the memory.
In this article, you'll learn all about what RAM is, what kind you should buy and how to install it.
See the next page to learn more about dynamic RAM and memory cells.
Static RAM
Static RAM uses a completely different technology. In static RAM, a form of flip-flop holds
each bit of memory (see How Boolean Logic Works for details on flip-flops). A flip-flop for a
memory cell takes four or six transistors along with some wiring, but never has to be refreshed.
This makes static RAM significantly faster than dynamic RAM. However, because it has more
parts, a static memory cell takes up a lot more space on a chip than a dynamic memory cell.
Therefore, you get less memory per chip, and that makes static RAM a lot more expensive.
Static RAM is fast and expensive, and dynamic RAM is less expensive and slower. So static
RAM is used to create the CPU's speed-sensitive cache, while dynamic RAM forms the larger
system RAM space.
Memory chips in desktop computers originally used a pin configuration called dual inline
package (DIP). This pin configuration could be soldered into holes on the computer's
motherboard or plugged into a socket that was soldered on the motherboard. This method
worked fine when computers typically operated on a couple of megabytes or less of RAM, but as
the need for memory grew, the number of chips needing space on the motherboard increased.
The solution was to place the memory chips, along with all of the support components, on a
separate printed circuit board (PCB) that could then be plugged into a special connector
(memory bank) on the motherboard. Most of these chips use a small outline J-lead (SOJ) pin
configuration, but quite a few manufacturers use the thin small outline package (TSOP)
configuration as well. The key difference between these newer pin types and the original DIP
configuration is that SOJ and TSOP chips are surface-mounted to the PCB. In other words, the
pins are soldered directly to the surface of the board, not inserted in holes or sockets.
Memory chips are normally only available as part of a card called a module. You've probably
seen memory listed as 8x32 or 4x16. These numbers represent the number of the chips multiplied
by the capacity of each individual chip, which is measured in megabits (Mb), or one million bits.
Take the result and divide it by eight to get the number of megabytes on that module. For
example, 4x32 means that the module has four 32-megabit chips. Multiply 4 by 32 and you get
128 megabits. Since we know that a byte has 8 bits, we need to divide our result of 128 by 8. Our
result is 16 megabytes!
In the next section we'll look at some other common types of RAM.
Types of RAM
The following are some common types of RAM:
• SRAM: Static random access memory uses multiple transistors, typically four to six, for
each memory cell but doesn't have a capacitor in each cell. It is used primarily for cache.
• DRAM: Dynamic random access memory has memory cells with a paired transistor
and capacitor requiring constant refreshing.
• FPM DRAM: Fast page mode dynamic random access memory was the original form
of DRAM. It waits through the entire process of locating a bit of data by column and row
and then reading the bit before it starts on the next bit. Maximum transfer rate to L2
cache is approximately 176 MBps.
• EDO DRAM: Extended data-out dynamic random access memory does not wait for
all of the processing of the first bit before continuing to the next one. As soon as the
address of the first bit is located, EDO DRAM begins looking for the next bit. It is about
five percent faster than FPM. Maximum transfer rate to L2 cache is approximately 264
MBps.
• SDRAM: Synchronous dynamic random access memory takes advantage of the burst
mode concept to greatly improve performance. It does this by staying on the row
containing the requested bit and moving rapidly through the columns, reading each bit as
it goes. The idea is that most of the time the data needed by the CPU will be in sequence.
SDRAM is about five percent faster than EDO RAM and is the most common form in
desktops today. Maximum transfer rate to L2 cache is approximately 528 MBps.
• DDR SDRAM: Double data rate synchronous dynamic RAM is just like SDRAM
except that is has higher bandwidth, meaning greater speed. Maximum transfer rate to L2
cache is approximately 1,064 MBps (for DDR SDRAM 133 MHZ).
• RDRAM: Rambus dynamic random access memory is a radical departure from the
previous DRAM architecture. Designed by Rambus, RDRAM uses a Rambus in-line
memory module (RIMM), which is similar in size and pin configuration to a standard
DIMM. What makes RDRAM so different is its use of a special high-speed data bus
called the Rambus channel. RDRAM memory chips work in parallel to achieve a data
rate of 800 MHz, or 1,600 MBps. Since they operate at such high speeds, they generate
much more heat than other types of chips. To help dissipate the excess heat Rambus chips
are fitted with a heat spreader, which looks like a long thin wafer. Just like there are
smaller versions of DIMMs, there are also SO-RIMMs, designed for notebook
computers.
• Credit Card Memory: Credit card memory is a proprietary self-contained DRAM
memory module that plugs into a special slot for use in notebook computers.
• PCMCIA Memory Card: Another self-contained DRAM module for notebooks, cards
of this type are not proprietary and should work with any notebook computer whose
system bus matches the memory card's configuration.
• CMOS RAM: CMOS RAM is a term for the small amount of memory used by your
computer and some other devices to remember things like hard disk settings -- see Why
does my computer need a battery? for details. This memory uses a small battery to
provide it with the power it needs to maintain the memory contents.
• VRAM: VideoRAM, also known as multiport dynamic random access memory
(MPDRAM), is a type of RAM used specifically for video adapters or 3-D accelerators.
The "multiport" part comes from the fact that VRAM normally has two independent
access ports instead of one, allowing the CPU and graphics processor to access the RAM
simultaneously. VRAM is located on the graphics card and comes in a variety of formats,
many of which are proprietary. The amount of VRAM is a determining factor in the
resolution and color depth of the display. VRAM is also used to hold graphics-specific
information such as 3-D geometry data and texture maps. True multiport VRAM tends to
be expensive, so today, many graphics cards use SGRAM (synchronous graphics RAM)
instead. Performance is nearly the same, but SGRAM is cheaper.
• Memory Modules
•
•
From the top: SIMM, DIMM and SODIMM memory modules
• The type of board and connector used for RAM in desktop computers has evolved over
the past few years. The first types were proprietary, meaning that different computer
manufacturers developed memory boards that would only work with their specific
systems. Then came SIMM, which stands for single in-line memory module. This
memory board used a 30-pin connector and was about 3.5 x .75 inches in size (about 9 x
2 cm). In most computers, you had to install SIMMs in pairs of equal capacity and speed.
This is because the width of the bus is more than a single SIMM. For example, you
would install two 8-megabyte (MB) SIMMs to get 16 megabytes total RAM. Each SIMM
could send 8 bits of data at one time, while the system bus could handle 16 bits at a time.
Later SIMM boards, slightly larger at 4.25 x 1 inch (about 11 x 2.5 cm), used a 72-pin
connector for increased bandwidth and allowed for up to 256 MB of RAM.
• As processors grew in speed and bandwidth capability, the industry adopted a new
standard in dual in-line memory module (DIMM). With a whopping 168-pin or 184-pin
connector and a size of 5.4 x 1 inch (about 14 x 2.5 cm), DIMMs range in capacity from
8 MB to 1 GB per module and can be installed singly instead of in pairs. Most PC
memory modules and the modules for the Mac G5 systems operate at 2.5 volts, while
older Mac G4 systems typically use 3.3 volts. Another standard, Rambus in-line
memory module (RIMM), is comparable in size and pin configuration to DIMM but
uses a special memory bus to greatly increase speed.
• Many brands of notebook computers use proprietary memory modules, but several
manufacturers use RAM based on the small outline dual in-line memory module
(SODIMM) configuration. SODIMM cards are small, about 2 x 1 inch (5 x 2.5 cm), and
have 144 or 200 pins. Capacity ranges from 16 MB to 1 GB per module. To conserve
space, the Apple iMac desktop computer uses SODIMMs instead of the traditional
DIMMs. Sub-notebook computers use even smaller DIMMs, known as MicroDIMMs,
which have either 144 pins or 172 pins.
• Most memory available today is highly reliable. Most systems simply have the memory
controller check for errors at start-up and rely on that. Memory chips with built-in error-
checking typically use a method known as parity to check for errors. Parity chips have an
extra bit for every 8 bits of data. The way parity works is simple. Let's look at even
parity first.
• When the 8 bits in a byte receive data, the chip adds up the total number of 1s. If the total
number of 1s is odd, the parity bit is set to 1. If the total is even, the parity bit is set to 0.
When the data is read back out of the bits, the total is added up again and compared to the
parity bit. If the total is odd and the parity bit is 1, then the data is assumed to be valid
and is sent to the CPU. But if the total is odd and the parity bit is 0, the chip knows that
there is an error somewhere in the 8 bits and dumps the data. Odd parity works the same
way, but the parity bit is set to 1 when the total number of 1s in the byte are even.
• The problem with parity is that it discovers errors but does nothing to correct them. If a
byte of data does not match its parity bit, then the data are discarded and the system tries
again. Computers in critical positions need a higher level of fault tolerance. High-end
servers often have a form of error-checking known as error-correction code (ECC).
Like parity, ECC uses additional bits to monitor the data in each byte. The difference is
that ECC uses several bits for error checking -- how many depends on the width of the
bus -- instead of one. ECC memory uses a special algorithm not only to detect single bit
errors, but actually correct them as well. ECC memory will also detect instances when
more than one bit of data in a byte fails. Such failures are very rare, and they are not
correctable, even with ECC.
• The majority of computers sold today use nonparity memory chips. These chips do not
provide any type of built-in error checking, but instead rely on the memory controller for
error detection.