Memory Considerations
is one of those areas that causes quite a bit of unnecessary confusion for newbies. Memory is a fairly straight-forward thing and, for the most part, there is not a whole lot to consider. There are, though, a few terms and concepts that are thrown around, and I will seek to explain them here. Computer memory
Memory Speed There are various specs used to specify the speed of a memory module. Older memory types have their speeds measured in terms of access time, or the time it takes to pull a piece of data from memory and get it onto the memory bus. This is usually measured it terms of nanoseconds (ns). A typical access time would be 50-60 ns. Beginning with SDRAM, speed was measured in terms of cycle time, or the minimum amount of time between memory accesses. Typical cycle times for SDRAM are 12, 10 and 8 ns, with faster speeds also seen. A wait state is a command which orders the CPU to pause for one clock cycle in order to wait for the memory to do something. It is basically a waste of time, because the processor is just sitting there and doing nothing. Older systems sometimes used 2 or 3 wait states, while later ones used only 1. A zero wait state is best, because that means the processor is not waiting around for the slower memory. The concept of wait state was devised to allow systems to support older memory types. Most systems that use wait states (except the really old ones) have the wait state setting controlled in the motherboard's CMOS, usually in the advanced settings section. SDRAM is synchronous, meaning it is tied into the bus speed of the system. This means that the memory must be fast enough to work on the system you intend to put it on. SDRAM does not use wait states for this reason. The memory, then, must be fast enough for the system, taking slack into account. It is really this reason why SDRAM was created in the first place: to make memory that could keep up with the system. For older systems, EDO RAM does just fine. At the 66MHz speed, EDO was a dream, as that is what it was really designed for. It was soon found that EDO RAM worked just fine at even higher speeds, such as 75MHz or 83MHz. SDRAM was designed mainly to operate with stability at bus speeds such as 100MHz or 133MHz. A majority of users today are making decisions between PC-100 and PC-133 memory. In short, PC-100 is designed for a 100MHz bus speed while, obviously, PC-133 is designed for the 133MHz bus speed. Both modules can typically be ran faster than this in overclocking situations, but this can lead to unstability of the PC. So, these ratings are considered the "stable" rating, or the speed at which the memory can run without any stability concerns. Determining Memory Speed It can prove challenging to determine the speed of a memory module simply by looking at it. Unless there is a sticker of some sort on it from the distributor, you are pretty much stuck with crossreferencing part numbers with catalogs to determine just how fast a module is supposed to be. Sometimes, though, you can determine the access time or cycle time (depending on the memory types) of a module by looking at the numbers on it. For example, on EDO memory, adding a -6 or a -7 to the end of the part number usually means 60ns and 70 ns access times respectively. Wiuth SDRAM, a -10 means 10ns cycle time. Nanosecond were used before the PC100 standard was defined. With the standard, you pretty much
knew what you were getting with a particular spec, so tracking the actual cycle times was irrelevant. CAS Latency CAS Latency is a measure of latency of a memory chip. CAS stands for Column Access Select. Basically, it is a measure of how long it takes from when an initial READ command is sent to memory to when the first piece of the resulting data is output. The measurement is done in clock cycles, so a CAS Latency of x means that a READ command sent to memory at clock cycle c will result in data output starting at clock cycle c + x. CAS Latency is very closely tied with the system bus speed you are using. On faster bus speeds, data is flying by the memory at a faster rate. This pushes the memory even harder. But, as mentioned above, all memory chips have an access time, even SDRAM. But, that "S" in SDRAM means that is is synchronous, running at the speed of the system bus. So, regardless of the access time of the memory, the bus pushes even harder at high bus speeds. So, at higher bus speeds, it may be necessary to make use of wait states anyway in order to make the memory is capable of operating. But, wait states, on SDRAM, are done in the RAM itself rather than actually having the CPU waiting around. So, it may be necessary to increase the CAS latency on higher bus speeds in order to maintain system stability. This will control how often the CPU will deliver a command to make the memory wait the specified number of clock cycles for the memory to begin output. In short, CAS3 is the standard latency for memory modules, because it is cheaper to manufacture. If the CAS spec is not mentioned or defined, it is probably CAS3. CAS2, though, is a faster memory module. The latency is less, and this leads to faster application speeds. As you might expect, such memory is typically more expensive. If you are using CAS2 memory and it is enabled as such in the BIOS, you might notice a bit of a speed increase. Even with CAS2 memory, though, it could be necessary to choose CAS3 in your CMOS in order to make the memory stable in a higher bus-speed compter. 2-clock vs. 4-Clock Two types of SDRAMs are the 2-clock and the 4-clock. Structurally, they are the same, but they are accessed differently. A 2-clock SDRAM module is set up so that each clock cycle accesses two chips on the module. A 4-clock SDRAM setup accesses 4 chips per clock cycle. To choose what kind to get, you must look into the motherboard's documentation. 4-clock modules seem to be the popular choice. Serial Presence Detect Some SDRAM modules have a special EEPROM chip on it that holds information about the SDRAM module, such as speed settings. The motherboard then queries this chip for info and makes changes in the settings to work with the SDRAM. Basically, this allows the SDRAM module and the chipset to communicate, making the SDRAM more reliable on a larger number of motherboards. Some motherboards require this feature. You will have to look at the manual, once again. If your board requires it, make sure you have it, because SDRAM without this won't work. When choosing SDRAM for your computer, you need to know your motherboard and get exactly the type it requires.