Memory

Memory is what the computer uses to store programs while they are being run. In a computer, memory is known as RAM or Random-Access Memory. This is because any portion of memory is accessable at any time. The Memory Controller Chip is used to access these different parts of the memory. An address is sent along the address bus to the MCC, and then the MCC fetches the data at that address, and then returns it to the CPU. The size of the address bus determines the maximum theoretical amount of RAM the computer may support. In today's processors, a 32-bit address bus is used which will support up to 4 gigabytes of RAM.

The basic unit of memory is DRAM, or dynamic RAM. This kind of RAM is relatively inexpensive, but requires that it be 'refreshed' about every 16 ms. This means that once every 16 ms the memory is inaccessible. Each DRAM chip has two properties, a width, and a depth. DRAM comes in different widths, such as 1, 2, and 4 bits but a PC needs data in 8-bit chunks. To accomplish this, multiple DRAMs are hooked togather on one board.

RAM has come in many different forms of packaging. These include DIPP, SIPP, SIMM, and DIMM. Dipp stands for Dual In-Line Pin Package, which means that there are two rows of pins that fit into a socket. SIPP stands for Single In-Line Pin Package. This puts all the pins on one edge, which plugs into a differnet type of socket. These packaging methods had the unfortunate problem that the exposed pins were easily bent or broken, making the RAM useless. This was corrected with the introduction of SIMMs (Single In-Line Memory Module). SIMM sticks had no pins to bend or break. SIMMs come two varieties, 30-pin and 72-pin, and several different sizes of each variety. Newest to the market are DIMMs, Dual In-Line Memory Modules. These are like SIMMS, but each side of the pins are seperate. DIMMs have 168-pins. The access speeds of these different rams are represented in nanoseconds (ns). The lower the number, the faster the RAM. A 100ns RAM stick would be slower than a 60ns stick.

There have also been many advances in SIMM and DIMM technology. One of the first is the use of a parity bit for error correction. Since today's DRAM is much more reliable, parity is not commonly used but still supported in older systems. Two more recent advances are EDO RAM and SDRAM. EDO stands for Extended Data Out, and is refreshed less often than regular RAM, so the data is accessible more often. EDO RAM may be used in any system, but if the system is not designed to use the benefits of EDO, then it will be treated as regular RAM. The other new technology in RAM is SDRAM, or Syncronous DRAM. SDRAM is tied to the system clock, and therefore much faster. When using regular DRAM, the MCC will try to access data from the DRAM, and if it encounters a wait cycle, it will wait a number of clock ticks, and then try again. With SDRAM, since it is tied into the system clock, it knows when the data is ready and can access it. The main speeds in which SDRAM is avaliable are 66, 75, 83, and 100 MHz. SDRAM that is faster than the motherboard it is on will operate at the slower speed. For example, 100 MHz SDRAM on a 66 MHz motherboard will run at 66 MHz.

When RAM is organized on a motherboard, it is seperated into banks. Each bank must be filled with the same size RAM, and the number of sticks in each bank depends on the size of the external data bus. The number and size of each bank determines the maximum ammount of memory that will fit in the system.

RAM Sizes

The sizes of SIMMs and DIMMs are represented by a two numbers describing the stick. In 30-pin SIMMs, the numbers describe the depth of a single DIMM, and then the number of DRAMs on the stick. Since all 30-pin SIMMs are 8-bits wide this describes the type of DRAM used on the stick. Common depths of 30-pin SIMMs are 256k, 1 MB, and 4 MB. A 1 x 8 SIMM stick would mean that it has 8 1-bit DRAMs that are 1 MB wide. This would be a non-parity 1 MB SIMM stick. If it were a 1 x 9 SIMM, then it would have an extra bit for parity. The only other size is an ' x 3' SIMM, which has two 4-bit wide DRAMs and one 1-bit wide DRAM for parity. Therefore, if you are talking about 30-pin SIMMs, then 'x 8' means non-parity, and 'x 9' and 'x 3' are parity.

72-pin SIMMs are 32-bits wide and repersented by either 'x 32' for non-parity or 'x 36' for parity. 168-pin DIMMs are 64-bits wide, and are not avaliable with parity. They are represented by 'x 64'. Common sizes are listed below.

Size Storage Parity
1 x 32 4 MB No
1 x 36 4 MB Yes
2 x 32 8 MB No
2 x 36 8 MB Yes
4 x 32 16 MB No
4 x 36 16 MB Yes
8 x 32 32 MB No
8 x 36 32 MB Yes
16 x 32 64 MB No
16 x 36 64 MB Yes
1 x 64 8 MB No
2 x 64 16 MB No
4 x 64 32 MB No
8 x 64 64 MB No
16 x 64 128 MB No

Back to the Top

Parity

The use of a parity bit was common in the older days of computing, when RAM was not that reliable. The parity bit is set according to the number of ones in the data that is being sent. It is set when the data is sent, and then it is checked when it is recieved. If there is a mismatch, a 'Parity Error' is issued and the system is halted. In today's RAM, parity is pretty much obselete, and exists only for backward-compatibility with older machines.

Back to the Top

Banking

As stated above, 30-pin SIMMs are 8-bits wide. Most external data busses are alot wider than this, so there needs to be a way to widen the SIMM to fit the data bus. Hence, we have banking. Banking organizes several smaller sticks into one large logical stick which is as wide as the external data bus. In the 80286, each bank would contain two 30-pin SIMMs, to fit a 16-bit external data bus. There were 4 30-pin SIMMs in the 80386 and 80486 to fit a 32-bit bus, and in the Pentium 8 30-pins SIMMs are required for the 64-bit external data bus.

Having all of these sticks in one bank took up alot of room on the motherboard. That is when the wider 72-pin SIMMs were introduced. Since 72-pin SIMMs are 32-bits wide, then only one is required to fill a bank in an 80386 or 80486, and the Pentium only needs two. With 168-pin DIMMs being 64-bits wide, the Pentiums only need one to fill a bank. This significantly reduces the physical space on the motherboard, and increases the ammount of RAM that can physically put in the computer. There can be numerous banks on one motherboard, but each bank must be filled with the same depth RAM. Different banks can contain different depth RAM, but the RAM in the same bank must be the same.

Back to the Top