|< Day Day Up >|| |
Computer memory is electronic circuitry that holds binary data. It does this by setting the positions of microscopic electronic switches to on or off. The on position represents the binary 1, and the off position represents the binary 0. Each 0 and 1 is called a bit. The switches are divided into groups of eight bits, called bytes. A byte is an 8-bit number that can equal any decimal number between 0 (all 0s) and 255 (all 1s), and is the basis of all computer data. For more information on binary numbers, go to http://computer.howstuffworks.com/bytes.htm.
Main memory in computers comes in modules, often called sticks, which can contain billions of switches. Memory sticks are measured in megabytes (MB), and soon, gigabytes (GB). One MB equals, oddly enough, 1,048,576 bytes. One GB equals 1,1,073,824 bytes.
The acronym RAM stands for random access memory. This means that any part of memory can be accessed directly, as opposed to data stored on tape, which requires fast winding to the appropriate segment.
When selecting memory for a computer, there are several items to consider:
Type: Motherboards can accept certain types of memory, such as SDRAM, DDR SDRAM, Rambus, EDO RAM, and burst-EDO RAM. Check the motherboard documentation or the motherboard manufacturer's Web site. We discuss these types later in this chapter.
Speed: Motherboards can accept memory modules in certain ranges of speed; for example, 100 or 133 MHz. The faster the memory, the faster the performance of the computer. As in memory type, all memory installed in a single computer should be the same speed. If you install two different speeds of memory on the same motherboard, all chips will run at the slower speed.
Quantity (as measured in megabytes): Unlike medication, with memory, more is better, although you can reach a point of diminishing return. The motherboard documentation will specify the maximum amount of memory it can accept. We discuss how to determine the optimum amount of memory later in this chapter.
Quality: Memory rarely fails unless it is exposed to static electricity. The most common problem with memory is when brand new modules are bad—so a good warranty is essential. Kingston, Crucial, and PNY are all good brands.
Error detection: Memory comes in ECC or parity, or non-ECC or non-parity. ECC and parity are systems for detecting and correcting memory errors. Parity memory can compensate for single-bit errors. This parameter is specified by the motherboard manufacturer, but is changeable in some BIOSs. If the BIOS is set for ECC/parity memory, only ECC/parity memory will work. Again, even if the motherboard will accept either, it likely will accept only one of these at a time. If you have a DIMM (see the next item in this list) and you want to determine if it is ECC/parity or non-ECC/parity, simply count the number of black chips soldered to the module. If the number of chips is evenly divisible by three or five, then the module contains ECC or parity memory. If the number of chips is not evenly divisible by three or five, you have non-ECC/parity memory.
Physical module size and pin layout: Almost all currently used memory comes in Dual Inline Memory Module (DIMM) form (see Figure 5.1). However, size and number of pins vary. This parameter must match that of the motherboard. Rambus memory comes in Rambus Inline Memory Modules (RIMMS), which are Rambus' version of DIMMs. Prior to DIMMs, Single Inline Memory Modules (SIMMs) were prevalent. Notebook computers take very small DIMMs, called SODIMMs.
Figure 5.1: A 184-pin DIMM.
CAS Latency: Measured in numbers such as CL2 and CL3; make sure these match the requirements of the motherboard.
Serial Presence Detect (SPD): This is memory with an additional chip that contains information used by some motherboards to set certain memory parameters. This can be used on any motherboard, but if the motherboard requires this type of memory and non-SPD memory is used, the computer will display an error message when attempting to boot. We discuss the error message later in this chapter.
Single- or double-sided module: Some motherboards take either kind, but with a restriction. The Intel D815EEA motherboard, for example, has four memory slots. You can use up to four single-sided modules, but the motherboard will recognize only two double-sided modules. If you install two double-sided modules on slots 0 and 1, any modules in slots 2 or 3 will be ignored. Interestingly, you might not be able to determine this parameter by looking at the module. For more information, go to kingston.com and use the Memory Search function to search for memory for the Intel D815EEA motherboard.
There are many types of memory used today. They differ mainly in available speeds and cost. Motherboards are limited to one type of memory. Common memory types include SDRAM, DDR SDRAM, Rambus, EDO RAM, and burst-EDO RAM.
More memory, up to the maximum specified by the motherboard manufacturer, can never hurt a system. More memory allows the computer to keep more programs and processes running simultaneously. Additional memory is usually the easiest way to boost performance of a computer. With the price of memory being so low as of this writing, there is little reason to skimp, except in older computers getting limited use. For example, a Windows 95 computer used mainly to check e-mail, or a Windows 95 computer used only to run a business program designed for the OS version installed on that machine, probably doesn't need more than 32MB of RAM. Once a computer is used for more activity, especially running several programs at the same time, it will definitely need more. The most obvious factor is the performance of the computer. If it runs just fine, there is little or no reason to upgrade it. If performance or booting is sluggish, especially after new programs have been installed, this is a good time to add more memory.
Microsoft sets minimum and recommended amounts of memory for all its Windows versions, and developers set minimum levels for their programs. Recognize that Microsoft's minimums are absolute minimums; computers with this amount of RAM can pretty much run the OS and little else. Even recommended levels are on the low side. Minimum RAM levels for programs are often based on only the OS, that program, and other background processes, such as virus protection running. With current computers running Windows 2000 or XP, as of this writing, 128MB is the minimum amount of memory needed to provide adequate performance—256MB or more is recommended. If the computer is being used for memory-intensive programs such as video editing or multimedia, or if it is a busy server, 512MB to 1024MB (1GB) would be advisable. Again, any time a computer runs slowly, adding memory is a very safe bet. See software boxes or developers' Web sites for minimum hardware requirements.
Computers often temporarily need more memory than they have. For this reason, Windows manages virtual memory. Virtual memory is the use of a swap file on the hard drive for extra memory when needed. The action of moving data between physical RAM and the swap file is called paging. If there is not enough physical memory for the normal use of the computer, paging will increase, adding stress to the hard drive containing the swap file, and reducing the overall performance of the computer. Also note that the processor has to manage all the paging, so it doesn't have as much time to perform its other duties when there is too much paging. Therefore, if you run into a situation in which the hard drive is thrashing or churning, which is visible when the hard drive indicator light is on continuously for extended periods of time, it is possible that the computer needs more memory. It is also possible, however, that the problem is a cheap hard drive. A hard drive without an adequate built-in buffer (2MB or more of cache memory), or one that skimps on other performance-related elements could be inadequate for the job of paging. Therefore, it is best to make sure that the computer has a good hard drive and enough memory. If, however, you need to test the system to see which one is the culprit, use Windows System Monitor (9x), Performance (2000), or Performance Monitor (XP). For more information about these utilities, go to support.microsoft.com, select Advanced Search and Exact Phrase, and search for "Chapter 27 - Overview of Performance Monitoring." Make sure to type the phrase exactly as shown.
The usual methods apply to determining the memory specifications that will work in a given computer: check the computer or motherboard manual, the manufacturer's Web site, or call the manufacturer. Where memory is concerned, however, there is an extraordinarily simple method in addition to these. Go to a memory manufacturer's Web site such as Crucial's (crucial.com), Kingston's (kingston.com), or PNY's (pny.com), access the memory upgrade, memory search, or "configurator" program on the home page, and enter the requested information (computer or motherboard brand, model number, etc.). The program will list all of the different memory modules that will work in the computer or specified motherboard. You can purchase memory from some of these sites, or you can go to a bricks-and- mortar retail store to buy them.
There are several ways to see how much physical memory is installed in a computer:
On Windows 9x, right-click My Computer and click the Performance tab. The amount of physical memory should be displayed.
In any Windows menu, select Help > About.
On bootup, before Windows starts, many BIOSs will test the memory and display it.
Open the BIOS setup program and go to the page with memory settings.
In Windows 2000 and XP, start the Task Manager (<Ctrl>+<Alt>+<Delete>). The Performance tab shows the amount of physical memory (see Figure 5.2).
Figure 5.2: This computer has 261,424 KB of physical memory.
There are several reasons that a computer might report an amount of memory that doesn't match the actual amount installed.
On some computers, the on-board video uses a portion of the main memory, so the computer indicates the amount minus the memory reserved for video. In some of these cases, the amount reserved for video can be changed in the BIOS Setup program.
In the event that the number seems just a bit off, remember that one kilobyte is 1024 bytes, and that one megabyte is 1024 kilobytes. Therefore, if your computer shows 262,144 KB of memory, that is actually 256MB of RAM.
If the amount of memory is off by the size of a whole memory module or large portion of one, there is a problem. Check to make sure the modules are installed correctly, the memory is of a type compatible with the motherboard, and that it matches the other memory installed. Some memory on certain motherboards has to be installed in pairs. On some boards, the memory modules have to be installed starting with the lowest numbered slot; in other words, the lowest numbered slot must have a module in it. While you're checking for this, check to see if your slots are numbered starting at 0 or 1. In still other cases, the memory must be installed in capacity order. For example, if you have three modules of 128MB, 64MB and 32MB, the 128 would have to be in slot 0, the 64 in slot 1, and the 32 in slot 2. Even if a motherboard doesn't have these restrictions, it can't hurt to follow them anyway as a matter of course. Figure 5.3 shows numbered DIMM slots. Moreover, if you install more memory than the motherboard allows, your computer will likely show only the maximum amount of memory allowed by the motherboard.
Figure 5.3: Numbered DIMM slots.
If all else fails, you might have a bad memory module. If your computer boots, a diagnostic program such as Micro-Scope or PC Certify will test the memory. Also, some brand-name computers come with their own diagnostic programs such as Hewlett-Packard's HP Diagtools. If the computer won't boot, a POST card can diagnose the memory problem. We discuss these testing methods later in the chapter. Naturally, if you determine that a new memory module is bad, you'll want to contact the manufacturer for warranty replacement. The companies mentioned in this chapter are very good about honoring their warranties as long as the customer has handled the module properly.
|< Day Day Up >|| |