Matching Memory to the Motherboard

The memory added to a system, whatever its packaging, must be matched to the width of the data bus of the motherboard. Any data transferred to the CPU, to cache memory, or to the peripheral devices on a PC, moves over the data bus. The width of the data bus (also referred to as its capacity) is measured in bits. The data bus width also represents the amount of data that can flow over it in one clock cycle. The primary reason for memory banks on a motherboard is to arrange the memory in sets that take advantage of the bus width to transfer data. A memory bank holds enough memory so that the width of the memory matches that of the data bus.

Filling Up Memory Banks

It is entirely possible that a PC with installed memory chips or modules will fail during the boot process because it can detect no memory on the system. This is because, unless the first memory bank is completely filled with memory chips or modules, as the case may be, the PC simply ignores it. If the first memory bank (usually designated as Bank 0) is not completely filled, the PC will not boot because it does not detect any memory at all. Virtually all motherboards include one or more memory banks that are numbered beginning with either 0 or 1.

Every memory module is marked with its memory bit width, or the number of bits it transfers to the data bus at one time. A module’s memory bit width is used to determine how many modules must be installed in a memory bank to match the system’s bus width. A 30-pin SIMM has an 8-bit width; a 72-pin SIMM has a 32-bit width; and a 168-pin DIMM has a 64-bit width. On a system with a 32-bit bus, the memory banks must have four of the 30-pin SIMMs (4 times 8 bits equals 32 bits) or one 72-pin SIMM (32 bits). A 32-bit system cannot install even one DIMM because its 64-bit memory bit width is too wide for the data bus. Table 7-4 lists the combinations of SIMMs and DIMMs that can be used for different data bus widths. Theoretically, eight 30-pin SIMMs could be used to fill a 64-bit memory bank. However, because of the physical space this would require, most newer systems do not support the 8-bit SIMM.

There are special adapter cards, called SIMM converters, that can be used to install 30-pin SIMMs on a motherboard with only 72-pin sockets. A SIMM converter plugs into a 72-pin socket and features two or more sockets into which 30-pin sockets can be installed. However, even with a SIMM converter, you still have to get enough memory installed to match the data bus width.

Those memory modules that support parity or error-correcting code (ECC), expand the memory bus by one additional bit. In general, parity and ECC systems add 1 extra bit for each 8-bits in the bus width, which increases an 8-bit SIMM’s width to 9 bits and a 32-bit SIMM with parity to a data width of 36 bits. These bits do not affect the system data bus because they are not sent out.

Deep, Wide, and Fast Memories

SIMMs and DIMMs and memory chips have special markings to indicate their bus width and data capacities. If these markings are not directly on the module or chip, you can definitely find this information in the technical specifications for your memory on its manufacturer’s Web site.

The information marked on the memory is the DWS (depth, width, and speed) notation. The DWS, which looks something like 16x64-60, indicates the overall size of the memory on the module, but you do have to calculate it. For example, the marking of 16x64-60 does not mean 16 times 64 minus 60. This is the DWS notation for a DIMM that has 16 million bits on each of its 64 bits of width and has a data speed of 60ns. The “x” means by, which is another way to say times, as in 16 megabits by 64 bits. Think of it like a big matrix with rows and columns, which is how memory is organized anyway. The module in the example has 64 rows of 16 million bits each.

Memory depths on SIMMs and DIMMs range from 1 to 32 million bits (Mb). There are exceptions, especially in older and smaller SIMMs, which have 256 and 512 kilobits (Kb) depths, but these are the exception.

A memory module’s width is always in bits and is usually 8 or 9 bits on 30-pin SIMMs, 32 bits on 256 or 512Kb SIMMs, 32 or 36 bits on 72-pin SIMMs, and 64 or 72 bits on 168-pin DIMMs. The different widths, such as the 32 or 36 bits on a 72-pin SIMM, reflect memory modules without parity (6, 32, or 64 bits) and those with parity systems (9, 36, or 72 bits).

The number of bits available to store data on a memory module is calculated as the memory depth times the memory width. For example, a DIMM with a 16x64-60 notation has just over 1 billion bits (1,024,000,000) of memory or 128 million bytes, calculated by dividing the number of bits by 8 (there are 8 bits to a byte). Table 7-5 shows the memory size for many SIMM and DIMM modules.