Chapter 3: What to Remember about Memory
Exam Objectives
Understanding memory terminology
Identifying RAM types
Understanding DRAM types
Working with memory modules
Identifying parity and nonparity memory
Finding out how much memory a computer has is one popular way to measure that computer’s power and capabilities. Think about it: If someone asked you what kind of computer you have, what would you answer? Probably something like, “I have a Pentium 4 with 1 gig of RAM.” But why do we measure the power of a computer based on the amount of memory it has?
In this chapter, you discover the purpose of memory and some of the different types of memory found in computers today. This chapter also discusses issues that affect installing memory in personal computers and laptops.
Understanding the Types of Memory
This section outlines different types of computer memory — anything that stores information either permanently or temporarily. Computers have two different flavors of memory: ROM and RAM.
Remembering the purpose of memory
Before you look at the different types of memory, you need to understand the purpose of memory. Think about your desk at home or in the office. Whether sitting at your home or office desk (working on a proposal or preparing for your A+ Certification exam), chances are good that your desk is covered with documents, books, and papers. This desk is your work area, and its size dictates how many documents you can work on at any given time.
System memory works the same way. You have documents and applications stored on the hard drive. When you want to work on these documents, you open them and place them in the computer’s work area. The work area (or desk space) for a computer is system memory. When you want to work with any application or document, the computer must retrieve that information from the hard drive and execute it from memory.
Assume, for instance, that your computer has 512MB of memory (not a lot, in this day and age). You start up your system, which is running Windows XP, and decide to run Microsoft Word and Adobe Photoshop at the same time. Assume that you open two very large files in each application. Assume further that you are using 480MB of precious memory at this point — a few MBs for the operating system (OS) to load, and a few for each running application. As you can see, your memory usage adds up quickly.
In this scenario, you are already using 480MB of memory, which leaves a scant 32MB of memory remaining. Assume that you are about to open a Photoshop document and copy and paste information from one file to another. To put it simply, you are running out of desk space. You can solve the problem in one of two ways:
Do less work. In other words, work in one application at a time. This is not an optimal solution, especially for business users who often need to run multiple applications simultaneously.
Get a bigger desk. In computer terminology, install more RAM. When you install more RAM, you have a bigger desk to work on.
Now that you understand the general purpose of memory, it’s time to dive into the different types of memory. For the A+ exam, you are required to know many different types of memory, which I outline in the following sections.
Read-only memory (ROM)
ROM is a type of memory that you cannot write to: hence its name, read-only memory. Information is written to ROM chips by the manufacturer, and this information cannot be changed. In the past, if ROM information needed to be updated, you had to remove the original ROM chip and replace it with an updated ROM chip from the manufacturer. Today, you can update the ROM by running a special software program downloaded from the manufacturer’s website. In essence, you do not really have a ROM chip but rather have an EEPROM (more on EEPROM in a bit).
One of the major uses for ROM is storing the system BIOS (Basic Input-Output System), which contains Power-on Self-Test (POST) routines and other routines that initiate loading the OS. The BIOS also contains the low-level code that allows the system to communicate with hardware devices.
EPROM
EPROM (erasable programmable ROM) is a type of memory that normally cannot be written to because it is a variation of ROM. An EPROM chip is a special ROM chip that the manufacturer can reprogram by using a special programming device that uses ultraviolet light.
EEPROM
A newer implementation of ROM is electrically erasable programmable ROM (EEPROM), or flash ROM. The manufacturer writes the software instructions into the ROM chip, but you can update these instructions by running a special software setup program provided by the manufacturer. The software setup program is usually available through the manufacturer’s website.
Using EEPROM has become the typical way to update your BIOS. BIOS code is designed to work with certain hardware. As hardware improves, you need to update your BIOS code so that your system is aware of these hardware improvements. Therefore, the manufacturer places BIOS updates on its website to download for computer users running its particular BIOS. You just have to download the BIOS update program and then run the BIOS update on your system. The update rewrites the BIOS instructions, making the computer “more aware” of today’s hardware.
Random access memory (RAM)
Of the two flavors of memory (ROM and RAM), RAM is probably the more fundamental. As I mention earlier, ROM is permanent memory, or permanent storage of information. As the computer’s primary working memory, though, RAM stores information temporarily. RAM is volatile, meaning that it needs constant electrical current to maintain the information that resides in its chips. If the electrical current is lost, RAM contents are erased. Likewise, when a computer is powered off, all RAM contents are flushed out. The following sections discuss the different types of RAM.
DRAM
Dynamic RAM (DRAM) is probably the most popular type of memory today and the one that you are most often going to upgrade. When someone says to you, “I have 1024 megs of dynamic RAM,” he or she is talking about DRAM.
Dynamic RAM gets its name from the fact that the information stored in DRAM needs to be constantly refreshed. Refreshing involves reading the bits of data stored in DRAM and then rewriting the same information back.
Older implementations of RAM measured the memory’s performance based on how long it took the CPU to access that data. This time is measured in nanoseconds (ns; 1 ns equals one-billionth of a second). If you have memory that is 50 ns and your best friend has memory that is 70 ns, your memory is presumably faster. Your CPU receives the information from memory after waiting only 50-billionths of a second, whereas your best friend’s CPU waits 70-billionths of a second.
The speed of older DRAM ranges from 60 ns to 80 ns. Today’s implementations of DRAM measure the speed of memory in megahertz (MHz), typically matching the motherboard speed. For example, my Pentium II system uses 100 MHz memory because it runs on a 100 MHz motherboard.
For more information on the types of DRAM, see the section “Identifying the Types of DRAM,” later in this chapter.
SRAM
Static RAM (SRAM) — so-called because the information held in its memory cells doesn’t need to be refreshed — requires less overhead than DRAM to maintain the information stored in memory.
With speeds running from 10 ns to 20 ns, SRAM is much faster than DRAM. Because SRAM is faster memory than DRAM, it is also more expensive, which is why people add DRAM to their systems more often than they add SRAM.
SRAM is typically used for cache memory, which stores frequently used data and program code after it is read from slower DRAM. Think of cache memory as a bucket that sits beside the CPU and stores frequently used information. After the system has searched through DRAM once for specific information, it can store that information in the bucket for easy access later. The next time the data is requested, it is read from cache instead of from system memory.
Because cache memory is much faster than DRAM, the CPU first tries to retrieve the information from cache: specifically, L1 cache first and then L2 cache. If the information is not located in cache, the system then tries to retrieve the information from memory. If the information is not located in system memory, it then is retrieved from disk. Attempting to retrieve the requested information from cache first reduces wait time if the information actually resides there because of how fast cache is compared with DRAM.
CMOS RAM
The complementary metal-oxide semiconductor (CMOS) is the area where the computer stores its configuration information, such as whether the computer has a floppy drive, the amount of memory installed, the date and time for the system, and the number and size of the hard drives that are installed. Think of CMOS information as an inventory list for the majority of components that are installed on the computer. For more information on CMOS, see Book II, Chapter 4.
Where is CMOS information stored? Is CMOS information stored on the BIOS chip, or perhaps another ROM chip? The answer is neither. In fact, if the information were stored on a ROM chip, you wouldn’t be able to go into the CMOS setup program and change the configuration. Instead, CMOS configuration information is stored in a type of RAM called CMOS RAM.
CMOS RAM is a special, volatile RAM chip that stores the CMOS information. If power is lost, the information is wiped out. This could present a problem with regard to CMOS configuration because if CMOS RAM is wiped out, the computer forgets its inventory information and has to relearn it. To prevent this problem, computers have a small battery on their motherboards that maintains enough of a charge to prevent CMOS RAM from losing its data.
Shadow RAM
Part of the boot process involves copying some of the BIOS instructions from ROM to RAM and then executing those instructions from RAM rather than from the ROM chip. Why? Because ROM is much slower than RAM, performance speed increases when executing the instructions from RAM instead of ROM. The process in which a copy of the BIOS instructions is shadowed, or copied, to an area of memory called “shadow RAM” is shadowing.
VRAM
Video RAM (VRAM) is most commonly used on video accelerator cards to store values of pixels onscreen for refresh purposes. VRAM is the favored memory for video because it outperforms the other memory types because it is dual-ported memory: that is, it can be read from and written to at the same time. Comparatively, DRAM is single-ported, which means that the memory can be written to and read from, but not simultaneously — only one direction at a time. VRAM, however, allows you to do both simultaneously.
WRAM
Window RAM (WRAM), also known as “Window accelerator card RAM,” is a modification of VRAM and is also used for video display purposes. Like VRAM, WRAM is dual-ported memory but runs about 25% faster. In general, WRAM offers better performance than VRAM.
Identifying the Types of DRAM
DRAM is the most popular type of memory used in systems today. It is also the most popular type of memory that computer users add to their computers when upgrading memory. Therefore, you must understand the different types of DRAM and what types of DRAM outperform others.
Standard DRAM
Memory is organized into rows and columns, like a spreadsheet. Information is stored in the different cells, or blocks, that are created by the intersection of these rows and columns. With standard DRAM, the CPU requests data from the memory controller by sending the address of the row and the address of the column for every block of data that needs to be read. The memory controller then fetches the information from that memory location. Figure 3-1 shows two memory cells that hold data that the CPU wants to have.
Figure 3-1: Looking at how data is accessed in memory.
To access the information shown in Figure 3-1, the CPU follows these basic steps to request information from standard DRAM:
1. In the first clock cycle, it sends the row address (1).
2. In the second clock cycle, it sends the column address (2).
3. On the third clock cycle, the memory controller reads the information (Address 1-2).
4. In the fourth clock cycle, the row address for the second memory cell is given (1).
5. In the fifth clock cycle, the column address for the second memory cell is given (4).
6. In the sixth clock cycle, the second memory cell is read (Address 1-4).
Fast page mode
Fast page mode (FPM) improves the performance of standard DRAM by not requiring a row address for each request to memory, assuming that the next block of data is on the same row (which in most cases will be true).
The following step list outlines the basic steps to access the same two blocks of data shown in Figure 3-1 via FPM memory:
1. In the first clock cycle, the CPU sends the row address (1).
2. In the second clock cycle, it sends the column address (2).
3. On the third clock cycle, the memory controller reads the information (Address 1-2).
4. In the fourth clock cycle, the column address is given (4).
5. In the fifth clock cycle, the second cell address is read (Address 1-4).
You can see in this example that it takes less time to read both blocks of data from memory with FPM DRAM. Therefore, FPM memory is a faster DRAM memory type than standard.
Extended data output
Extended data output (EDO) memory is about 10 to 15% faster than FPM memory and is usually found on 66 MHz motherboards. With EDO memory, the memory controller can read data from a memory block while listening for the next instruction. This capability increases performance because the memory controller does not have to wait for the next instruction after reading a block of memory; while it is reading one block of memory, it is receiving the next instruction. In contrast, with FPM DRAM, reading one memory block and listening for the next instruction are done in multiple steps.
Burst extended data output
Burst extended data output (BEDO) is a bursting-type technology. The word burst refers to the fact that when one memory address is requested and that address is retrieved, the system bursts into the next couple of blocks and reads those as well. The theory behind BEDO is that the system has already gone through the trouble of locating that block, and chances are that the next request will be for the next block, so why not take that information while the memory controller is already there? If that extra block is the next requested block from the CPU, the memory controller already has the data and can pass it to the CPU immediately.
BEDO is 50% faster than EDO. Because of lack of support from computer manufacturers, however, BEDO has not been used in many systems. It has been surpassed by SDRAM instead.
Synchronous DRAM
Synchronous DRAM (SDRAM) is memory synchronized to the system board speed. This synchronized speed means that the data stored in memory is refreshed at the system speed, and data is accessed in memory at the system speed as well.
SDRAM is one of the most popular types of DRAM found in earlier Pentium systems, such as the Pentium II. When you upgrade memory on your system and you determine that you need SDRAM, you then need to determine what speed of SDRAM. Because you are running at the system speed, you must match the DRAM speed with the motherboard speed. Thus, if you have a 100 MHz motherboard, you need 100 MHz SDRAM. If you have a 133 MHz motherboard, you need 133 MHz SDRAM.
Rambus DRAM
When SDRAM was popular, a high-speed flavor of DRAM was on the market — rambus DRAM (RDRAM) — which runs at speeds around 800 MHz! RDRAM chips have a 16-bit internal bus width and are packaged together in a 184-pin, gold-plated memory module called a rambus inline memory module (RIMM). To take advantage of this type of memory, you need a motherboard and chipset that support RDRAM. Due to the cost of RDRAM, it lost the popularity contest to SDRAM and eventually DDR memory.
DDR
Double data rate (DDR) memory gets its name from the fact that it can transfer data twice during each clock cycle, compared with SDRAM that can transfer data only once per clock cycle. DDR memory ships in 184-pin DIMM modules (see the section “DIMMs,” later in this chapter) for desktop computers and 200-pin SODIMMs for laptop systems.
DDR memory speed is measured in MHz, like SDRAM is, and is labeled to indicate the speed. DDR memory labeling might look obscure at first because it also indicates the bandwidth by taking the speed and multiplying it by 8 bytes of data (64 bits). Here’s how to read DDR memory labeled as PC1600: Divide the 1600 by 8 bytes to get the speed of the memory. In this case, you are looking at 200 MHz memory. PC2700 runs at 333 MHz, and PC3200 runs at 400 MHz. When you upgrade memory on systems that require DDR memory, you need to know the speed of the DDR memory.
DDR2 and DDR3
Improvements to DDR memory have already started with DDR2 memory, which runs at speeds 400 MHz and higher, where DDR memory left off. DDR2 memory uses 240-pin memory modules and runs at 1.8 volts (V), as opposed to 2.5V for DDR memory. This results in less power consumption for more memory, which is great for laptop users.
Popular modules of DDR2 memory are PC3200 (400 MHz), PC4200 (533 MHz), PC5300 (666 MHz), and PC6400 (800 MHz).
The newer form of DDR memory is DDR3, which offers twice the data rate of DDR2 memory. One of the goals of DDR3 memory is to reduce power consumption; reportedly, DDR3 memory reduces power consumption by about 30%.
DDR memory modules are 240-pin DIMMs for desktop PCs and 204-pin SODIMMs for laptop systems. (Read more on DIMMS and SODIMMs in the next section.) Like DDR2, DDR3 memory is advertised by the speed and transfer rate. For example, DDR3-800 (also known as PC3-6400) is 800 MHz memory that has a throughput of 6400 MBps. DDR3-1066 (also known as PC3-8500) memory has a throughput of 8533 MBps. Another example is DDR3-1600, which is 1600 MHz memory with a transfer rate of 12800 MBps.
Viewing memory type with CPU-Z
You can use a program known as CPU-Z to view the details on the type of memory on a system. Download CPU-Z from www.cpuid.com/cpuz.php
and then run it on your system. Figure 3-2 shows that when I choose the Memory tab, I see the details on the type of memory installed in my system.
Figure 3-2: Viewing memory type with CPU-Z.
How Would You Like Your Chips Packaged?
Whether you are purchasing or installing RAM, understanding the different types of memory packages available is important. The following sections identify different memory packages used in desktop computers and laptop systems.
SIMMs
Single inline memory modules (SIMMs) used to be one of the most popular types of memory modules, but they have been replaced by DIMMs (see the next section). A SIMM card holds a number of memory chips and has an edge connector containing a number of pins that make contact with the motherboard. This design makes it quite a bit easier to install memory than it was many years ago. In the past, you had to take a dual inline package (DIP) chip out of the system board and reinsert a new chip. Today, you purchase a card of chips (a SIMM) and install the SIMM into one of the SIMM sockets.
SIMMs come in two flavors — 30-pin and 72-pin — which describe the number of connectors that make contact with the motherboard. Before buying a SIMM, review the documentation for the computer or look at the system board to determine what size SIMM module you need. Figure 3-3 shows a 30-pin SIMM, a 72-pin SIMM, and a 168-pin dual inline memory module (DIMM).
Figure 3-3: Looking at SIMM and DIMM memory modules.
The 30-pin SIMMs have an 8-bit data path, meaning they supply information in 8-bit blocks. When installing memory into a system, you must install enough SIMMs to fill a memory bank, which is the number of SIMMs it takes to fill the data path of the processor. For example, if you have a system with a 486 processor, the processor is a 32-bit processor. Therefore, the processor wants to deal with information in 32-bit chunks. When using 30-pin SIMMs, you need to install four of them at a time to fill a memory bank because each 30-pin SIMM supplies only 8 bits of data (8 bits × 4 SIMMs = 32-bit chunks).
The 72-pin SIMMs supply information in 32-bit chunks. Therefore, if you are installing 72-pin SIMMs on a system using a 32-bit 486 chip, you need just one SIMM to fill a memory bank and the data path. If you are installing 72-pin SIMMs in a Pentium system, you must install SIMMs in pairs because the Pentium data path is 64-bit; to fill a bank on these systems, you need two, 32-bit modules (72-pin SIMMs).
In this day and age, you most likely will not see SIMMs in a system unless you are supporting older computers. If you see a system that uses SIMMs, it most likely conforms to the 72-pin format.
DIMMs
Dual inline memory modules (DIMMs) are like SIMMs, but they supply information in 64-bit chunks. DIMMs come in different flavors that have a different number of pins on the modules. Older DIMMs use 168 pins for SDRAM and 184 pins for DDR memory, and newer DIMMs use 240 pin modules for DDR2 and DDR3 memory. DIMM modules are a little larger than the 72-pin SIMMs. (Refer to Figure 3-3.)
Consider the memory bank issue again. Because the DIMM supplies data in 64-bit chunks and the data path of a Pentium processor is 64 bit, you can install DIMMs singly in a Pentium system. On the other hand, you must install SIMMs in pairs in a Pentium system. Figure 3-4 shows what 72-pin SIMM and 168-pin DIMM sockets look like.
Figure 3-4: Looking at memory sockets on a motherboard.
SODIMM
Small outline dual inline memory modules (SODIMMs) are memory modules that are smaller than normal DIMMs and are used in laptops. A SODIMM comes in three different-sized modules: a 32-bit 72-pin module; a 64-bit 144-pin module (SDRAM); and a 64-bit 200-pin module for DDR and DDR2 laptop memory. Figure 3-5 compares a SODIMM and a DIMM.
Figure 3-5: Comparing a SODIMM and a DIMM.
MicroDIMM
A micro dual inline memory module (MicroDIMM) is another memory module used in laptop computers. The MicroDIMM is smaller than the SODIMM and comes in a 144-pin module for SDRAM and a 172-pin module for DDR memory.
Understanding Error-Checking Memory
Two primary types of error-checking memory have been used in systems over the years. The following sections introduce you to these two types of error-checking memory. Be sure to become familiar with them for the exam.
Parity versus nonparity
Parity memory is a type of error-checking memory, which is memory that verifies the information stored in memory is what is actually read from memory at a later time. Nonparity memory, comparatively, is memory that does not perform any kind of error checking to ensure that the data written to memory is what is actually read when it is retrieved.
Here’s how parity memory works. The two types of parity memory are odd and even. Both parity methods function the same way but differ in the sense of whether they look for an odd number of bits or an even number of bits. This discussion uses odd parity as the example.
With parity memory, for every byte (8 bits) of data written to memory, there is an additional ninth bit — the parity bit. When storing information to memory, the number of the enabled data bits (bits set to 1) written to memory are added up.
With odd parity, if an even number of data bits are enabled, the parity bit is set to 1 (enabled) so that there is an odd number of enabled bits in total written to memory. If the result of all the enabled data bits is odd, the parity bit is set to 0 (disabled) so that the odd number of enabled bits is retained.
After the parity bit has been set, the byte of data and the parity bit are written to memory. Even parity works the same way except that it looks for an even number of enabled bits; if the number of enabled bits is odd, the parity bit is enabled.
When the CPU requests data from memory, the data byte is retrieved along with the parity bit that was generated when the byte of information was stored in memory. The system looks at the data byte and calculates whether the parity bit stored in memory should be set to 1 or 0. It then compares the answer it has just generated with the value of the parity bit stored in memory. If the two match, the integrity of the information in memory is considered okay, the parity bit is stripped from the data byte, and the data is delivered to the CPU. If the two differ, you have a parity error, meaning that there is a problem with the integrity of the data stored in memory.
ECC memory
Error-checking and correction (ECC) memory is memory that can detect data integrity problems the way that parity memory can. (See the preceding section.) The difference between the two is that ECC memory can recover from the error and attempt to fix the problem with the data being read, whereas parity memory cannot. Memory that does not have ECC features is known as non-ECC memory as there is no error-checking and correction capabilities.
Multichannel Memory Architecture
The memory architecture in a system may depend on its age:
Older systems only used a single-channel memory configuration.
A single-channel configuration mandates a “single lane” used to send and receive information from memory.
When installing memory today, your system may support methods to increase memory throughput by using multiple channels.
Dual channel
With some of today’s systems, though, you can install memory in a dual-channel configuration, which allows for two 64-bit lanes to carry information to and from memory at the same time — resulting in better performance, as the amount of data sent at one time is doubled compared to that on a single-channel architecture. This configuration increases overall performance by allowing for more input/output per operation, or clock cycle.
To take advantage of dual-channel memory, you first need to ensure that your motherboard supports dual channel, as dual-channel memory is a function of the memory controller. If your motherboard supports dual-channel memory, you will install the memory modules in pairs. These pairs must be similar modules in capacity and speed. For example, when installing 1GB of RAM, you install two, 512MB modules. When you install these modules, install them into the same color slots on the motherboard. If the motherboard does not color-code the memory slots, you install the pair of memory modules in the odd-numbered slots or the even-numbered slots — but not an odd and an even.
Triple and quadruple channel
Some systems today are supporting these architectures:
Triple-channel memory architecture allows three, 64-bit lanes.
For example, Intel’s i7-900 series processors support triple-channel memory architectures.
Quadruple-channel memory architecture allows four, 64-bit lanes.
The AMD G34 platform and the Intel LGA 2011 platform are examples of quadruple-channel memory architectures.
The same rules as dual channel memory apply when using triple and quadruple channel memory architectures: You must use similar memory modules, but you will be required to install either three modules (for triple-channel) or four modules (for quadruple-channel) at a time.
You can use CPU-Z to check to see whether you are running your memory in a single-channel, dual-channel, or triple-channel configuration (see Figure 3-6).
Figure 3-6: Using CPU-Z to view memory channels.
Single Sided Versus Double Sided
Memory modules are either single-sided or double-sided memory modules, but this characteristic does not mean that the memory chips exist on only one side of the memory card or both sides of the memory card (which is what most people think).
For single-sided memory, all the memory on the memory module is accessed at once by the system and is treated as a single “bank” of memory. It is important to note that the memory chips on a single-sided memory module may exist on both sides of the memory board.
For double-sided memory, the memory module (or memory board) is divided into two discrete chunks of memory (banks). The system can access only one bank at a time.
Working with Cache Memory
Cache memory stores frequently used data and program code after it is read from slower DRAM. Cache memory is made up of SRAM, which is much faster than DRAM. The average speed of DRAM in the past was 60 ns, whereas the average speed of SRAM at the same time was 20 ns. If at all possible, you want the CPU’s request for information to be serviced by cache memory for a quicker response. To help service these responses, the system has different levels of cache memory: L1, L2, and now L3 cache, which is common on systems today.
L1 cache
Originally, Level 1 (L1) cache meant “internal cache” integrated into the CPU. This memory is typically a small amount of SRAM integrated into the processor’s chip, giving the processor instant access to this memory with no wait time. Wait time is how long it takes between when the processor requests information stored in memory and it actually receives that information.
Every pre-Pentium processor had L1 cache integrated into the processor chip, but the amount of L1 cache can vary. For example, the old 486 chips had 8K of L1 cache, whereas the original Pentium processors had 16K of L1 cache. Processors today have doubled that amount to 32K of L1 cache.
The L1 cache is typically divided into two parts:
Half the cache is used to store frequently accessed program instructions.
The other half of the cache stores frequently accessed program data.
L2 cache
Level 2 (L2) cache exists outside the CPU, usually on the motherboard or just outside the processor but in the processor casing. Therefore, some delay occurs when the processor accesses the information in L2 cache because of the distance between the processor and the L2 cache.
One of the selling points of different processors is the amount of cache memory that comes with the processor. Many processors today typically have at least 32K of L1 cache and 512K, 1MB, 2MB, or more of L2 cache inside the casing of the processor. The more cache memory a system has, the bigger the bucket to store more frequently used information.
Figure 3-7 shows the steps the processor takes to retrieve information:
1. When the processor retrieves information, it checks whether the information is stored in L1 cache (because L1 cache has no wait time).
2. If the processor does not find the information in L1 cache, it checks the next level — L2 cache.
3. If the information cannot be found in either L1 or L2 cache, the processor finally retrieves the information from system RAM.
Figure 3-7: How the CPU retrieves information from memory.
L3 cache
Because processors today provide a small amount of L1 cache and a large amount of L2 cache, the term L3 cache was used originally to identify cache that resides on the motherboard.
Today’s processors are now marketing a third level of cache, known as L3, which is cache memory that resides on the processor that is shared between each processor core. This means that each core typically has its own L1 and L2 cache, while they share a larger amount (usually 6 to 8 MB) of L3 cache!
Viewing cache memory with CPU-Z
You can use the CPU-Z program to view the details on the type of cache memory that is present on the system. Figure 3-8 shows that I have the following types of cache on my system:
32 KB of L1 cache for program data (shown as D-cache).
The x4 means times the 4 cores on my system. This means that each core has 32 KB of L1 cache for program data.
32 KB of L1 cache for program instruction (shown as I-cache).
The x4 means times the 4 cores on my system. This means that each core has 32 KB of L1 cache for program instruction.
256 KB of L2 cache per processor core.
I have 4 cores on the system (denoted with a x4).
6MB of L3 cache. Notice this is not x4, so it therefore is shared cache for all the cores.
Figure 3-8: Viewing cache memory configuration.
Installing or Upgrading Memory
The discussion in this section focuses on issues related to memory upgrades. In general, upgrading memory is a simple task — assuming you purchase the proper type of memory for the upgrade. Factors that affect the proper type of memory are
Type of memory (FPM, EDO, SDRAM, DDR)
The speed of the memory
Pin connector type
Parity versus nonparity
The following sections discuss each of the factors that affect how you upgrade your system’s memory. Each of these factors contributes to the compatibility of the memory being installed in your system. In order for the memory to be compatible with your system you must
Install the correct type of memory.
Use the correct memory speed.
Install the memory in the correct configuration used by the system.
Type of memory
The first thing you need to know to upgrade your computer’s memory is which type of memory you need. You need to figure out whether you need to install a SIMM, DIMM, or SODIMM. Pentium II and later desktop computers usually need a DIMM; laptops use a SODIMM.
After you determine the memory module type, you need to determine the type of memory to install, such as SDRAM or DDR memory.
Speed
When you buy memory, you need to take into account the speed of the memory. Older memory, such as FPM or EDO memory, is typically measured in nanoseconds (ns) and ranges from 60 ns to 80 ns. With these types of memory, it is important not to mix speeds lest the system become unreliable. The speed of a SIMM is usually indicated on the chips themselves (displaying either a numeric value or a simple minus sign with a number). For example, a memory module running at 70 ns would show either 70 or –7 on the chips.
The speed of newer memory types, such as DIMMs and SODIMMs, is measured in MHz. When buying SDRAM or DDR memory, make sure to verify that you get the correct memory speed. For example, I recently upgraded the memory in the laptop I’m using to write this book. When I went to the store to buy a memory module, the first questions the in-store computer geeks asked were, “What type of memory?” and “What speed?” The system documentation or the CPU-Z program can help you determine the speed of memory needed. If you don’t have the documentation, be sure to look up the information on the manufacturer’s website.
Connectors
Another important issue with regard to memory installation is with the metal used on the memory modules. You need to purchase memory modules that use pins plated with the same metal used in the memory socket on the motherboard. Memory modules use silver- or gold-plated pins. If the SIMM socket, for example, uses silver-plated connectors, the memory module you purchase must use silver-plated pins. If you mix metal types, you will eventually have an unstable system.
Using parity or nonparity?
The final issue with regard to memory upgrades is whether the system uses parity or nonparity memory. This information can be determined by checking the documentation that came with the system or by checking the system summary in CMOS. If you cannot find the information in CMOS or you misplace the documentation, try to find the information on the Internet at the vendor’s website.
When you locate the information, use Table 3-1 to record the type of memory your system has so that you may refer to this when you perform a memory upgrade.
Table 3-1 Identifying Memory Used by Your System
Memory Type (SDRAM, DDR, DDR2, DDR3) |
|
Memory Speed (60 ns, 100MHz, 200MHz, 800MHz) |
|
Gold or Silver pins |
|
SIMM, DIMM, or SODIMM |
Installing memory on desktop PCs
After you purchase the correct type of memory — meaning the correct type at the correct speed with the correct number of pins — you are ready to install the memory.
Take off the computer’s cover. You should see either SIMM sockets or DIMM sockets — and maybe even both types on an older system.
If the socket is on a diagonal, lightly place the memory module vertically and then lay it back diagonally; it should just snap in. If the socket is vertical, place the memory module at a 45-degree angle and lightly lay it back to the vertical position; it should snap in. Figure 3-9 shows the installation of memory modules.
Figure 3-9: Installing memory modules on a system board.
When you install the memory module, make sure you line up pin 1 on the memory module with pin 1 in the socket. To locate pin 1 on a SIMM, look for the cutout on the memory module (shown in Figure 3-10) and place it over the shoulder of the SIMM socket.
Figure 3-10: Locating pin 1 on a SIMM memory module.
To locate pin 1 on a DIMM, simply look at the memory module; the pins are labeled. The DIMM cannot be placed in backward because it is keyed (with cutouts so that the memory can be inserted only one way). When installing the DIMMs, push down firmly on the module to place the DIMM deep in the socket.
Installing memory on laptop systems
Installing memory on today’s laptop systems is just as easy as installing memory on a desktop PC. The first step is to make sure you buy the correct type of memory for the laptop. Again, check the laptop documentation before heading to the store!
To install your memory, flip the laptop over. You’ll notice a door on the bottom of the laptop that can be removed (shown in Figure 3-11). This is where you add memory.
Figure 3-11: Remove the cover to add memory to a laptop.
After the cover is removed, you can insert the SODIMM into an empty slot by lightly placing the SODIMM into the memory slot on a slight angle and then clamping it back into place, as shown in Figure 3-12. If you are replacing memory, first remove the old memory module by pressing the clips on the side and then lifting out the old memory.
When you have the SODIMM locked in place, put the cover back on.
Figure 3-12: Inserting the SODIMM module into the memory slot.
Getting an A+
This chapter provides an overview of the different types of memory and installation of memory. The following points are touched on:
Read-only memory (ROM) is memory that can be read from but not written to, and the information stored there is permanent.
Random access memory (RAM) is volatile memory that can be written to and read from; information stored there is flushed out when power is lost.
Dynamic RAM (DRAM) is memory that needs constant refreshing of its memory cells; it is also the type of memory that is typically upgraded on systems.
Static RAM (SRAM) is static memory, meaning that it does not need refreshing as often as DRAM does. SRAM is also faster than DRAM. SRAM is typically used for cache memory.
Today’s systems have L1 and L2 cache unique to each processor core. A large amount of L3 cache is built into the processor that is shared between processor cores.
Memory is installed with memory modules. Whereas 72-pin SIMMs were popular in original Pentium systems, DIMMs are now the popular memory module for desktop systems. Laptops use SODIMMs as their memory module type.
You need to know the type of memory your system uses before you upgrade your system. For example, you need to note whether your system uses SDRAM or DDR memory. Also be sure to note the speed of the memory.
Prep Test
1 Which of the following types of memory is used for cache memory?
A SRAM
B DRAM
C EDO RAM
D SDRAM
2 How many bits make up the data path of a 30-pin SIMM?
A 12
B 8
C 32
D 64
3 Which type of cache memory originally resided on the system board?
A L1 cache
B DDR
C L2 cache
D SDRAM
4 Which type of memory must be constantly refreshed?
A DRAM
B SRAM
C VRAM
D L1 cache
5 Which type of memory is dual-ported (can read from and be written to at the same time)?
A VRAM
B DRAM
C SRAM
D L1 cache
6 Of the following, which is the fastest memory?
A 30 ns
B 10 ns
C 120 ns
D 70 ns
7 How many 72-pin SIMMs make up a memory bank on a Pentium system?
A 3
B 1
C 2
D 4
8 How many pins does a DIMM have? (Select all that apply.)
A 64
B 128
C 168
D 32
E 184
F 196
G 240
9 How many bits of parity information are found in a 72-pin SIMM?
A 1
B 2
C 3
D 4
10 If memory data is corrupted, what type of error is created?
A File access error
B Parity error
C Disk error
D DRAM error
11 When installing SIMM memory, what do you look for to identify Pin 1 on the memory module?
A Square solders
B Red ribbon wire
C Blue ribbon wire
D SIMM cutout
12 Which of the following best describes VRAM?
A Memory that has video instructions burned to it by the manufacturer and that cannot be changed
B Dual-ported memory usually found on video accelerator cards
C Memory stored in the CPU and used for storing frequently used instructions
D Memory that has video instructions burned to it by the manufacturer and that can be reprogrammed only by using special software
13 What type of memory is typically used for storing computer BIOS code?
A DRAM
B SRAM
C RAM
D ROM
14 Which of the following best describes shadow RAM?
A An area of system memory where some of the BIOS functions are copied during the boot process
B An area of system memory that stores the information twice so that if the system crashes there will be a backup copy
C The process of having frequently used data stored in cache for quicker access
D The same thing as SRAM
15 Which type of DRAM is synchronized with the system clock?
A EDO
B BEDO
C FPM
D SDRAM
16 How many DIMMs are used to fill a memory bank in a Pentium III system?
A 1
B 2
C 3
D 4
Answers
1 A. SRAM is used for cache memory. DRAM — known as system memory — stores data and program code that are running. EDO and SDRAM are types of DRAM. See “SRAM.”
2 B. A 30-pin SIMM has an 8-bit data path. 72-pin SIMMs have a 32-bit data path, and a DIMM has a 64-bit data path. Review “SIMMs.”
3 C. L2 cache memory was originally external to the CPU. This memory was inserted onto the system board as additional cache memory. L1 cache is cache memory integrated into the CPU. Check out “L2 cache.”
4 A. DRAM must be constantly refreshed. Other types of memory do have to be refreshed but not as often as DRAM. Peruse “DRAM.”
5 A. VRAM, or video RAM, is dual-ported memory that can read from and be written to at the same time. Because of the performance increase with this type of memory, it is the desired memory for video accelerator cards. The other types of memory are single-ported, which means that you have to read and write through the same port and can only go one way at a time. As a result, the memory is slower than VRAM. Take a look at “VRAM.”
6 B. With nanoseconds (ns), the lower the number, the faster. Because it is measured in billionths of a second and determines how long it takes the system to access the information stored in memory, 10 ns is faster than the other choices. See “DRAM.”
7 C. 72-pin SIMMs are 32-bit modules. Because Pentium processors have a 64-bit data path, you need two, 72-pin SIMMs to fill the data path. Look over “SIMMs.”
8 C, E, G. DIMMs come in different flavors: 168-pin (for SDRAM), 184-pin (DDR), or 240-pin (DDR2 and DDR3) memory modules. The other choices for this question are just common numbers used in the computer field, but there are no memory modules that use those numbers of pins. Study “DIMMs.”
9 D. There is always 1 parity bit for every 8 bits of data. Because a 72-pin SIMM is a 32-bit module, it is made up of four 8-bit chunks, so it will have 4 parity bits. Refer to “Parity versus nonparity.”
10 B. You’ll receive a parity error if there are any problems with data stored in memory. Examine “Parity versus nonparity.”
11 D. When looking at the memory module, you will notice that one side of the module is cut out. This indicates where pin 1 is located on the module. There are no ribbon wires on a memory module. See “Installing memory on desktop PCs.”
12 B. VRAM is dual-ported video RAM, meaning that the memory can be written to on one port and read from on another port that is usually found on video accelerator cards. Review “VRAM.”
13 D. A computer manufacturer’s BIOS code is typically stored on read-only memory. Today’s version of the BIOS chip can be reprogrammed by running special software to update the BIOS. Check out “Read-only memory (ROM).”
14 A. The term shadowing implies “making a copy” — more specifically, copying the BIOS instructions to system memory so that the functions can be executed more quickly. Peruse “Shadow RAM.”
15 D. SDRAM memory is synchronized with the system clock speed. If the motherboard runs at 100 MHz, you must buy the same speed memory for the board. Peek at “Synchronous DRAM.”
16 A. Pentium IIIs have 64-bit data paths, and a DIMM has a 64-bit data path as well. Thus, you need only one DIMM chip to fill a bank in a Pentium system. Look over “DIMMs.”