|
Technical
The Internal Components
The Memory
System Memory
The memory is one of the key parts to a computer. There are several types
of memory commonly found on modern personal computers. Memory is where
the computers processor and recently certain devices find programs and
data when doing assigned tasks. While the processor makes a distinction
between instructions and data, the main memory doesn't. Cache memory does
make the distinction between data that is program code and that which
is content. In general I refer to the computers memory as the computers
main RAM, in which nothing is permanently recorded.
The actual writing of information to the computers memory automatically
erases what was there before. Reading from the computers memory is straightforward.
Both the processor and input / output devices have the ability to write
and read data to and from memory. Apart from static memory, dedicated
circuitry must constantly rewrite or refresh every bit of data that is
stored in memory. Without refreshing many times a second the data would
fade away. When the computers power is turned off the data in memory,
including static memory is lost. The term for lose of data due to power
is called volatility and the computers main memory is volatile RAM. Non-volatile
memory, which is permanent and isn't lost for several months when power
is removed and which the processor can still read and write to is commonly
found in portable computers.
Data
The computers memory is logically organised into units of bytes which
is eight bits. The units can be seen as a number, a letter or an instruction,
depending on how it is interpreted. Bytes can be created into larger bits
of information by adding them together into a word which is a single 16
bit value. Four bytes, a 32 bit value is called a double word and a series
of bytes interpreted as alphanumeric characters gets called a string.
Each byte of data in the computers memory has a numeric address, starting
from zero that uniquely identifies the byte. Data that the processor or
input / output devices read and write can specify memory addresses which
is how programs can branch during a series of commands.
Design
The Integrated Circuits, or ICs, that make up your computer's memory
configuration are referred to as Dynamic Random Access Memory, or DRAM.
DRAM is by far the most common type of memory chip. The quality of DRAM
chips used in a memory module is the most important component in determining
the overall quality and reliability of the module.
SIMMS
SIMM stands for Single In-Line Memory Module. With SIMMs, memory chips
are soldered onto a modular printed circuit board (PCB), which inserts
into a socket on the system board. The first SIMMs transferred 8 bits
of data at a time. Later, as CPUs began to read data in 32-bit chunks,
a wider SIMM was developed, which could supply 32 bits of data at a time.
The easiest way to differentiate between these two different kinds of
SIMMs was by the number of pins, or connectors. The earlier modules had
30 pins and the later modules had 72 pins. Thus, they became commonly
referred to as 30-pin SIMMs and 72-pin SIMMs. Another important difference
between 30-pin and 72-pin SIMMs is that 72-pin SIMMs are 3/4 of an inch
(about 1.9 centimetres) longer than the 30-pin SIMMs and have a notch
in the lower middle of the PCB. The graphic below compares the two types
of SIMMs and indicates their data widths.
DIMMS
Dual In-line Memory Modules, or DIMMs, closely resemble SIMMs. Like SIMMs,
most DIMMs install vertically into expansion sockets. The principal difference
between the two is that on a SIMM, pins on opposite sides of the board
are "tied together" to form one electrical contact; on a DIMM,
opposing pins remain electrically isolated to form two separate contacts.
168-pin DIMMs transfer 64 bits of data at a time and are typically used
in computer configurations that support a 64-bit or wider memory bus.
Some of the physical differences between 168-pin DIMMs and 72-pin SIMMs
include: the length of module, the number of notches on the module, and
the way the module installs in the socket. Another difference is that
many 72-pin SIMMs install at a slight angle, whereas 168-pin DIMMs install
straight into the memory socket and remain completely vertical in relation
to the system motherboard. The illustration below compares a 168-pin DIMM
to a 72-pin SIMM.
It's usually pretty easy to tell memory module
form factors apart because of physical differences. Most module form
factors can support various memory technologies so, it's possible
for two modules to appear to be the same when, in fact, they're
not. For example, a 168-pin DIMM can be used for EDO, Synchronous DRAM,
or some other type of memory. The only way to tell precisely what kind
of memory a module contains is to interpret the marking on the chips.
Each DRAM chip manufacturer has different markings and part numbers
to identify the chip technology.
FAST PAGE MODE (FPM). At one time, FPM was the most common form
of DRAM found in computers. In fact, it was so common that people simply
called it "DRAM," leaving off the "FPM". FPM offered
an advantage over earlier memory technologies because it enabled faster
access to data located within the same row.
EXTENDED DATA OUT (EDO) In 1995, EDO became the next memory innovation.
It was similar to FPM, but with
a slight modification that allowed consecutive memory accesses to occur
much faster. This meant the memory controller could save time by cutting
out a few steps in the addressing process. EDO enabled the CPU to access
memory 10 to 15%
faster than with FPM.
SYNCHRONOUS DRAM (SDRAM) In late 1996, SDRAM began to appear in
systems. Unlike previous technologies,
SDRAM is designed to synchronise itself with the timing of the CPU. This
enables the memory controller to know the exact clock cycle when the requested
data will be ready, so the CPU no longer has to wait between memory accesses.
SDRAM
chips also take advantage of interleaving and burst mode functions, which
make memory retrieval even faster. SDRAM modules come in several different
speeds so as to synchronise to the clock speeds of the systems they'l
be used in. For example, PC66 SDRAM runs at 66MHz, PC100 SDRAM runs at
100MHz, PC133 SDRAM runs at 133MHz, and so on. Faster SDRAM speeds such
as 200MHz and 266MHz are currently in development.
DOUBLE DATA RATE SYNCHRONOUS DRAM (DDR SDRAM) DDR SDRAM, is a next-generation
SDRAM technology. It allows the memory chip to perform transactions on
both the rising and falling edges of the clock cycle. For example, with
DDR SDRAM, a 100 or 133MHz memory bus clock rate yields an effective data
rate of 200MHz or 266MHz. Systems using DDR SDRAM are expected to ship
at the end of the year 2000.
DIRECT RAMBUS Direct Rambus® is a new DRAM architecture and interface
standard that challenges traditional main memory designs. Direct Rambus
technology is extraordinarily fast compared to older memory technologies.
It transfers data at speeds up to 800MHz over a narrow 16-bit bus called
a Direct Rambus Channel. This high-speed clock rate is possible due to
a feature called "double clocked," which allows operations to
occur on both the rising and falling edges of the clock cycle. Also, each
memory device on an RDRAM module provides up to 1.6 gigabytes per second
of bandwidth twice the bandwidth available with current 100MHz
SDRAM.
ERROR CHECKING
Ensuring the integrity of data stored in memory is an important aspect
of memory design. Two primary means of accomplishing this are parity and
error correction code (ECC).
Historically, parity has been the most commonly used data integrity method.
Parity can detect but not correct single-bit errors. Error
Correction Code (ECC) is a more comprehensive method of data integrity
checking that can detect and correct single-bit errors.
Fewer and fewer PC manufacturers are supporting data integrity checking
in their designs. This is due to a couple of factors. First, by eliminating
support for parity memory, which is more expensive than standard memory,
manufacturers can lower the price of their computers. Fortunately, this
trend is complemented by the second factor: that is, the increased quality
of memory components available from certain manufacturers and, as a result,
the relative infrequency of memory errors.
The type of data integrity checking depends on how a given computer system
will be used. If the computer is to play a critical role as a server,
for example then a computer that supports data integrity checking
is an ideal choice. In general:
Most computers designed for use as high-end servers support ECC memory.
Most low-cost computers designed for use at home or for small businesses
support non-parity memory.
ECC
Error Correction Code is the data integrity checking method used primarily
in high-end PCs and file servers. The important difference between ECC
and parity is that ECC is capable of detecting and correcting 1-bit errors.
With ECC, 1-bit error correction usually takes place without the user
even knowing an error has occurred. Depending on the type of memory controller
the computer uses, ECC can also detect rare 2-, 3-, or 4-bit memory errors.
While ECC can detect these multiple-bit errors, it cannot correct them.
However, there are some more complex forms of ECC that can correct multiple
bit errors. Using a special mathematical sequence, algorithm, and working
in conjunction with the memory controller, the ECC circuit appends ECC
bits to the data bits, which are stored together in memory. When the CPU
requests data from memory, the memory controller decodes the ECC bits
and determines if one or more of the data bits are corrupted. If there's
a single-bit error, the ECC circuit corrects the bit. In the rare case
of a multiple-bit error, the ECC circuit reports a parity error.
Refresh
Refresh is the process of recharging, or re-energizing, the "memory
cells" in a memory chip. Internally, computer memory is arranged
as a matrix of memory cells in rows and columns like the squares
on a checkerboard with each column being further divided by the
I/O width of the memory chip. The entire organisation of rows and columns
is called a DRAM array. DRAM is called "dynamic" RAM because
it must be refreshed, or re-energised, thousands of times each second
in order to retain data. It has to be refreshed because its memory cells
are designed around tiny capacitors that store electrical charges. These
capacitors work like very tiny batteries that lose their stored charges
if they are not re-energised. Also, the process of reading data from the
memory array drains these charges, so the memory cells must also be pre-charged
before reading the data.
Cells are refreshed one row at a time (usually one row per refresh cycle).The
term refresh rate refers not to the time it takes to refresh the memory
but to the total number of rows that it takes to refresh the entire DRAM
array. For example, a refresh rate of 2K indicates that it takes 2,048
rows to refresh the array; likewise, a 4K rate indicates 4,096 rows.
Normally, the system's memory controller initiates the refresh operation.
But some chips are able to "self refresh." This means that the
DRAM chip has its own refresh circuitry and does not require intervention
from the CPU or external memory controller. Self-refresh modules dramatically
reduce power consumption and are often used in portable computers.
CAS Latency
The term CAS latency refers to the number of clock cycles it takes before
a column can be addressed on the DRAM chip. Latency is a measure of delay,
so a "CL2" CAS latency factor indicates a two-clock cycle delay,
and a "CL3" latency factor indicates a three-clock cycle delay.
When SDRAM chips first came out, it was difficult to produce chips with
a CAS latency factor as low as CL2. And although some specifications called
for CL2, many modules worked fine at a CAS latency factor of CL3.
|