Thursday, November 11, 2010

How Computer Ram Memory Works

computer ram


RAM is also used to store instructions about currently running applications.
For example, when you start a computer game, a large set of the game’s instructions
(for example, how it works, how the screen should look, which sounds must be
generated) is loaded into memory. The processor can retrieve these instructions
much faster from RAM than it can from the hard drive, where the game normally
resides until you start it. Within certain limits, the more information that’s stored
in memory, the faster the computer will run. In fact, one of the most common
computer upgrades is to increase the amount of RAM.
The information in RAM is continually being read, changed, and removed. It is
also volatile, meaning that it cannot work without a steady power supply. When a
computer is turned off, the information in RAM is lost.
Recall that when a user makes a request, it is intercepted by the processor, which then
organizes the request into component-specific tasks. Many of these tasks must occur in
a specific order, with each component reporting its results back to the processor before
the next task can be completed. The processor uses RAM to store these results until
they can be compiled into the final result(s).
Many desktop components, such as the processor, power supply, and RAM, are installed
through simple physical attachment to the computer. That is, physical installation is
all that is required to make the component functional. Other devices, such as hard
drives and keyboards, require the additional assignment of system resources. This section
focuses on the physical installation of common components; resource assignment is
discussed in the next section, “IRQs, DMAs, and I/O Addresses.” Special hardware
configurations are discussed in Chapter 2.

Memory
The first RAM chips were dual inline packages (DIP) that attached directly into sockets
on the system board. However, their design made them prone to loosening due to the
alternating heating and cooling of the system board. Newer memory modules are actually
small cards with DIP chips on one or both sides. These cards fit upright into slots on the
system board and are held in place by clips that prevent “chip creep” (loosening).
RAM is automatically detected and counted on startup, so its installation is limited
to physical placement in the computer. That is, once RAM is physically installed,
no additional configuration is required. When installing memory in a motherboard,
verify the types and amounts of memory that the motherboard can accept.
SIMM Memory Single inline memory module (SIMM) memory is available
in 30- and 72-connector configurations. Most 80386, 80486, and Pentium
computers include slots for both SIMM types. Follow the steps in Exercise 1-5
to install SIMM.
However, newer drives are able to access RAM
directly using a protocol called Ultra DMA (UDMA). UDMA is a protocol used only
by hard drives and is not functionally associated with a computer’s standard DMA
channels.

As you know Memory, one function of RAM is to provide the processor with faster access to the
information it needs. Within limits, the more memory a computer has, the faster it will
run. One of the most common computer upgrades is the installation of more RAM.
Recall that most computers can use another type of RAM, called cache memory.
Cache memory chips can be accessed even faster than regular RAM, so their presence
can help speed up the computer. Generally, the more cache a computer has, the faster
it will run. The type of cache that can be added to the computer is called Level 2 (L2)
cache, and it can be installed in available slots on the motherboard.

Additional RAM Memory can be added to a portable system in a number of ways. Some systems
include extra RAM slots within the chassis. This type requires you to open the
computer’s case and place the RAM module in an available slot (see Figure 2-14).
Because RAM modules for portables are proprietary, you cannot use them in desktop
computers or in other portables.
An easier way to add more RAM to your portable is to use a memory PC Card.
PC Cards were described earlier as being small cards that can be easily inserted in a
portable to enhance or expand its abilities. In fact, PC Cards originated as PCMCIA
cards specifically for the purpose of adding more memory. PCMCIA stands for Personal
Computer Memory Card International Association, a bit of a misnomer because these
cards are usually used in laptops, not in PCs (desktops).
Processor and Memory Symptoms
In most cases, processor and memory problems are fatal, meaning that when there is
such a problem, the computer will not boot at all. However, you should be aware of
some nonfatal error indicators. As described, 1** error codes are typical of processor
problems, and 2** error codes are typical of memory problems.
If you turn on the computer and it does not even complete the POST or it does
nothing at all, and you have eliminated power problems, there might be a problem
with the processor or memory. The solution to a processor or memory problem is to
remove the offending component and replace it with a new one. If the error persists,
there might be a problem with the slot or socket that the memory or processor uses
to connect to the motherboard. In this case, the motherboard needs to be replaced.
On a final note: Some RAM errors are not reported by the computer at all. That
is, if an entire memory module does not work, the computer might just ignore it and
continue to function normally without it.Watch as the RAM is counted on the screen
at startup to ensure that the total amount matches the capacity installed in the
machine. If this amount comes up significantly short, you probably have to replace
the memory module.
Memory failures may not cause a system to appear to malfunction at all.
Most modern systems will simply ignore a memory card that has malfunctioned
and normal operations will continue. The user may note performance loss,
which is a key symptom of a memory card failure.
Random Access Memory
The primary function of RAM is to provide a temporary storage place for information
about devices and applications. However, there are many types of RAM with which
you should be familiar. This section discusses the many incarnations of RAM as it has
been developed and refined over time. This section also discusses important factors
to consider when installing or upgrading the RAM in a computer system: there are
guidelines you must follow about the type of RAM, the type of package, and the amounts
of RAM that you install in a particular system.

Types of RAM
RAM is not all the same. Over time, RAM technology has improved, changed form, and
been used for specialized components. The most common types of RAM are discussed here.
SRAM
Static RAM (SRAM) was the first type of RAM available. SRAM can be accessed at
approximately 10 nanoseconds (ns), meaning that it takes about 10ns for the processor
to receive requested information from SRAM. The structure of SRAM chips limits
them to a maximum data capacity of 256KB. Although SRAM is very fast compared
with DRAM, it is also very expensive. For this reason, SRAM is typically used only for
system cache.

DRAM
Dynamic RAM (DRAM) was developed to combat the restrictive expense of using
SRAM. DRAM chips provide much slower access than SRAM chips but can store
several megabytes of data on a single chip (or hundreds of megabytes if they are packaged
together on a module). Every “cell” in a DRAM chip contains one transistor and one
capacitor to store a single bit of information. This design makes it necessary for the
DRAM chip to receive a constant power refresh from the computer to prevent the
capacitors from losing their charge. This constant refresh can make access even slower
and causes the DRAM chip to draw more power from the computer than an SRAM
chip. Because of its low cost and high capacity, DRAM is used as “main” memory in
the computer.
The term DRAM is typically used to describe any type of memory that uses the
technology just described. However, the first DRAM chips were very slow (~80–90ns),
so faster variants have been developed. The list is quite large and includes fast-paged
RAM, EDO RAM, SDRAM, RDRAM, SDLRAM, and BEDO RAM. As computer
systems improve, the list of DRAM technologies continues to grow. However, EDO,
SDRAM, RDRAM, and DDR RAM are currently the most common, so they are
described here.

EDO RAM
Extended data out (EDO) RAM improves on traditional DRAM by performing more
than one task at a time. When one piece of data is being sent to the processor, another
is being retrieved from the RAM module. While that piece of data is being transferred,
the EDO RAM is looking for the next piece to retrieve for the processor. This process
enables the chip’s data to be accessed at about 60ns. EDO RAM chips can be used
only in a computer system whose processor and motherboard support its use.

SDRAM
Synchronous dynamic RAM, or SDRAM, is about twice as fast as EDO RAM because it
is able to run at the speed of the system bus (up to 100–133MHz). However, as faster
system bus speeds are developed, EDO and SDRAM are being replaced with other,
faster types of DRAM, such as RDRAM and DDR RAM. Like EDO RAM, SDRAM
can be used only in systems that support it.

RDRAM
RDRAM (Rambus Dynamic RAM) gets its name from the company that developed
it, Rambus, Inc. RDRAM uses a special Rambus channel that has a data transfer
rate of 800MHz. The channel width can be doubled, resulting in a 1.6GHz data
transfer! RDRAM can be used only in computers with special RDRAM channels
and slots. RDRAM is fairly new, so don’t expect to see it in computers that were
manufactured before 1999.
DDR RAM
Double-data rate (DDR) RAM doubles the rate of speed at which standard SDRAM
can process data. That means DDR is roughly twice as fast as standard RAM.
The standards available for DDR RAM are PC 1600, PC 2100, and PC2700. This
new labeling refers to the total bandwidth of the memory, as opposed to the old
standard, which listed the speed rating (in MHz) of the SDRAM memory—in this
case, the PC66, PC100, and the PC133. The numeric value in the PC66, PC100,
and PC133 refers to the MHz speed that the memory operates at.
VRAM
Video RAM (VRAM) is a specialized type of memory that is used only with video
adapters. The video adapter is one of the computer’s busiest components, so to keep up
with video requirements, many adapters have an on-board micro-microprocessor and
special video RAM. The adapter can process requests independently of the CPU, then
store its results in the VRAM until the CPU retrieves it. VRAM is much faster than
EDO RAM and is capable of being read from and written to at the same time. The
result is better and faster video performance. Because VRAM includes more circuitry
than regular DRAM, VRAM modules are slightly larger.
The term Video RAM refers to both a specific type of memory and a generic term
for all RAM used by the video adapter (much like the term DRAM, which is often
used to denote all types of memory that are dynamic). Faster versions of video memory
have been introduced, including WRAM.
WRAM
Window RAM (WRAM) is another type of video RAM but it provides faster access
than VRAM. It uses the same dual-ported technology that allows devices to read and
write data to the video memory at the same time. The term “window” refers to its

Physical Characteristics
The RAM types discussed so far can have many different physical forms. Your system
must support both the technology and form of a memory module. The system must
also support the data width of the memory as well as its method of error correction.
The following subsections describe some common physical forms of memory modules
and other characteristics that distinguish one module from another.
Single Inline Memory Modules
The first memory chips were dual inline package (DIP) chips, which were inserted
directly onto the motherboard. However, as discussed in Chapter 1, their structure
made them prone to chip creep. Single inline memory modules (SIMMs) were
developed to combat this loosening of memory chips and to recover space on the
motherboard.
SIMMs are available in 30-pin and 72-pin forms. Thirty-pin SIMMs are 8-bit,
meaning that data can be transferred into or out of the module 8 bits at a time.
Seventy-two-pin SIMMs are 32-bit. Because SIMMs are older technology, they are
typically used for fast-paged and EDO RAM. You are not as likely to find a SIMM
with SDRAM, since dual inline memory modules (DIMMs) were the prevalent form
when SDRAM was introduced.
Dual Inline Memory Modules
Dual Inline Memory Modules (DIMM) modules look similar to SIMMs but are slightly
longer and are installed into a different type of slot. DIMMs have two rows of connectors,
168 connectors in all, and are 64 bits. DIMMs are likely to contain either EDO RAM
or SDRAM because those Technologies were common when DIMMs were introduced.
Rambus Inline Memory Module
The Rambus Inline Memory Module (RIMM) is designed specifically for use with
Rambus memory. RIMMs look just like DIMMs but have 184 connectors. They are
also more proprietary and less common than SIMMs and DIMMs. RIMMs are 16-bit.
Small Outline DIMM
Small Outline DIMM (SoDIMM) is a memory module frequently used in laptop computers.
The physical size is much smaller than DIMM memory. The most common pin
configurations are 72- and 144-pin modules.

Parity and Nonparity Chips
One type of memory error checking is called parity. In parity, every byte of data is
accompanied by a ninth bit (the parity bit), which is used by the receiving device to
determine the presence of errors in the data. There are two types of parity: odd and
even. In odd parity, the parity bit is used to ensure the total number of 1s in the data
stream is odd. For example, suppose a byte consists of the following data: 11010010.
The number of 1s in this data is 4, an even number. The ninth bit will be a 1, to
ensure that the total number of 1s is odd: 110100101.
Even parity is the opposite of odd parity; it ensures that the total number of 1s is
even. For example, suppose a byte consists of the following data: 11001011 the ninth
bit would be a 1 to ensure that the total number of 1s is 6, an even number.
Parity is not failure-proof. Suppose the preceding data stream contained two
errors: 101100101. If the computer was using odd parity, the error would slip through
(try it; count the 1s). However, parity is a quick routine and does not inhibit the
access time of memory the way a more sophisticated error-checking routine would.
Some memory modules also use parity. These modules include an extra bit for
parity for every 8 bits of data. Therefore, a 30-pin SIMM without parity is 8 bits;
with parity it’s 9 bits. A DIMM without parity is 64 bits; with parity, the DIMM has
8 extra bits (1 parity bit for every 8 data bits). Therefore, a DIMM with parity has
64 + 8 = 72 bits. If your system supports parity, you must use parity memory modules.
You cannot use memory with parity if your system does not support it.

If there is more than one printer port on the computer (LPT1 & 2 or multiple
USB ports), try the printer in another port or with another computer. Look at the
printer settings in the OS to ensure that the attached printer matches the type
selected in the printer settings area. Finally, this problem could be the result of
insufficient printer memory. You can test this hypothesis by trying to print a very
small document. If it works, there is a good chance that the original document was
too large for the printer’s memory. You can add more RAM to the printer using the
same modules that the computer uses (SIMMs or DIMMs).

Conventional Memory The first 640KB of RAM have traditionally been used
for running applications and the OS itself (DOS). This memory area was originally
called system memory. The term system memory now refers to all the memory
available in the system.
Upper Memory The remaining 384KB of memory were set aside (reserved) for
ROM BIOS, and the RAM and ROM that was installed on devices. Applications
could not access this memory space even if it wasn’t being entirely used by the system.
This memory space was initially termed reserved memory. It was very common for
devices such as video adapters to use a portion of this memory for its purposes.
Extended and High Memory When the Lotus 1-2-3 spreadsheet application
was released, users often found that it required more than 640KB of memory. To
resolve the 1MB memory barrier problem, Lotus, Intel, and Microsoft joined forces
and developed the LIM memory specification. In this specification, system memory
was renamed conventional memory and reserved memory was renamed upper memory.
More important, however, was the development of a memory manager that allowed
applications to use memory over 1MB (called extended memory). This manager, a file
called HIMEM.SYS, could also load the OS into the first 64KB of extended memory,
an area called the high memory area (HMA).
To use the extended memory specification (XMS), HIMEM.SYS must be referenced
in the CONFIG.SYS file, as shown here:
DEVICE=C:DOSHIMEM.SYS
DOS=HIGH
The first line instructs the computer to locate and initialize the HIMEM.SYS file,
thus enabling the extended memory area. The second line loads DOS into the high
memory area (HMA).
Expanded Memory At the time of the LIM specification release, many users
still had older Intel 8088 and 80286 computers, which, because of the small memory
address bus, could not be made to access memory over 1MB. For these individuals,
the LIM specification included an expanded memory manager that could “trick” the
processor into using extended memory. In the 80386 processor, a file called EMM386
.EXE is able to swap pages of memory between extended memory and upper memory.

Jose Roberto Simoes

No comments:

Post a Comment