Anyone concerned with the workings of a modern PC system will have found that there are many factors, beyond the quoted specification of the hardware, that influence overall performance. While there are a large number of elements to be considered, by far the most important (and often misunderstood) is that of the memory configuration. As is often the case within the IT industry, especially where sales are concerned, technical buzzwords are used, without the knowledge of what they actually mean. My intention with this article is to unravel a few misconceptions, explain the relevance of some of the aspects of a systems specification, and to aid those wishing to maximise they're systems efficiency. I will start with a brief overview of what the memory is actually used for, then i will explain some of the buzzwords and jargon concerning the memory aspect of computer configuration, concluding with a summary of the main things to consider for your own machine.
It is important to understand the role of the system memory (Random Access Memory or RAM) in order to see how the various configurations of it can have a visible effect on the computers real-life performance. RAM is necessary to act as a temporary storage space between your computers hard disk drive and the processors cache. While hard drives are great for long term data storage, they are mechanical devices and are non-volatile (which means they retain their contents even when the computer has been switched off), this also makes them slow in comparison to the electronic components in the system. The fastest place for the processor to get data from is its own cache. Due to size and cost limitations on how much storage the processor can have, and because of the volatile nature of the cache, it is unrealistic to keep all the data required for the computers operation here. The hard drive is fine for keeping all the data the computer needs, but as mentioned before, they are very slow to access, so RAM is used between the two. RAM is able to hold much more data than the cache, and runs a lot faster than the hard disk. The chunk of data which the computer is working with will be held in RAM, with individual sections being taken into the processor cache while it performs an operation.
It works like this. When the processor wishes to carry out a request, it first looks for the data and instruction it requires in its cache. Should it find what its looking for here, (known as a 'hit') then the data will be sent straight to the processor to be worked on. If it isn't found here (a 'miss') then it looks to the next space, in this case it will be the RAM. The same occurs in the RAM, if there is a hit, then the data is sent back along through the cache, to the processor. If there is a miss, it moves along to the hard disk and has to search there. Obviously the longer it has to look for the data, the longer the computer will take to complete the operation.
Another important element in the above description, is how the data is moved between areas. The data travels as signals on what are called 'buses'. A bus is made up of data lines, each one capable of carrying one 'bit' (either a 1 or a 0) of data at a time. There are buses all around the system, but the most often referred to, and the one we're concerned with, is the FSB (Front Side Bus). This is the one which connects the processor to the RAM. Its best to have the fastest FSB you can, as this effects the speed at which the computer can get data to the processor. The speed of FSB you can use, is determined by the motherboard and processor that you are using, and the system clock. The system clock is the speed of the Front Side Bus before you take into account features such as double or quad pumping.
Looking at some of the terms used at present, but not always explained clearly, it is quite easy to get confused as to what is important. Before explaining double pumping and quad pumping, we'll touch upon how things worked prior to these enhancements.
Before technologies such as DDR and 'dual/quad pumping' came along, the parts in a computer system could only transmit signals once a clock cycle. If you consider the clock as a sine wave, then a cycle is the time it takes to get from 1 through 0 and back to 1 again (1 being the peek of the wave, 0 being the bottom of it). So a signal would only be sent at 1 and the system would have to wait for the clock to cycle again before the next signal could be sent. During this time though, this approach suited the technology well, as it meant that the processor and RAM would be synchronised as they would both transmit signals at the same instant.
Chipset, processor and memory manufacturers are constantly finding ways to improve their respective technologies, and with the release of the AMD Athlon Processor the world saw a large step forward. They had found a way to squeeze 2 accesses a cycle from the front size bus, so the processor could transmit data at both 1 and 0 on the clock. Although this was a huge leap, it meant that in systems with SDRAM, there was created what is known as a bottleneck (something holding back the optimal performance of the system), as the RAM and FSB were no longer synchronised. This lead to the arrival of Double Data Rate memory, known as DDR RAM. This new RAM was able to send and receive data twice in a cycle just as the new Athlon FSB could, so using it alongside an Athlon processor meant that once again RAM and Processor were synchronised.
With the release of the Pentium 4, Intel introduced the world to 'Quad Pumping', their answer to AMD's new dual pumped technology. The new FSB in use with the P4 could take 4 signals each cycle. Again however, when this first arrived, it still only supported standard SDRAM, causing the system to suffer the same massive bottleneck that had affected the dual pumped bus. Intel realised this, and rapidly adopted support for the quickest memory it could, which was RAMBUS RIMM memory. Now this RAM still only transmits twice a cycle, the same as DDR, but its available in much faster speeds. When Intel first decided upon it, the base speed was 400mhz (800mhz with double pumping). Although the RAM is only accessing twice a cycle, the increased speed means that the memory makes 2 cycles for each one that the FSB does, which goes some way to helping make up the difference. Its not as effective as quad pumped RAM would be, but its still a good performance increase.
Although this has been available for some time for RAMBUS memory, dual channel DDR is still a relatively new concept. It was first adopted by nVidia in their nforce2 chipset for use with the AMD Athlon XP processors, but the FSB is still only dual pumped. Intel recently released their 865 and 875 range of chipsets, both supporting dual channel memory. The principle of this technology is to double the number of signals you can process and to double data bandwidth. RAMBUS memory was always an expensive option, with this adoption of DDR RAM, Intel have secured a cheaper, (more widely) available alternative, with a performance increase to boot. The quad pumped bus is much more effective with dual channel memory in place, specially now with DDR 400, the bandwidth of the memory and the FSB are matched properly. I am often asked about the differences between AMD and Intel systems, and which is better. There are many arguments that can be offered, but where the FSB and memory configurations are concerned, it is easy to explain how Intel has the edge. If you consider, where both the Pentium 4 and the AMD Athlon XP systems that are now employing Dual Channel DDR Memory configurations, then they are both bringing the same amount of signal out of the RAM towards the processor. Now in the Intel system, the FSB is 'quad pumped' enabling it to receive all 4 signals each cycle from the memory. In the case of the AthlonXP chipset, the FSB is only 'dual pumped' and so having the 2nd channel is wasted, as it can only handle 2 of the 4 signals its being sent.
Forever a thorn in memory and chipset developer's sides, latency has proven to be the hardest thing to improve. The various enhancements mentioned above, dual channels, increased transfers per clock cycle, faster data transfer, all work to increase the memory bandwidth. However it is not as simple to reduce latency. The term latency, is best described as the time between a command being issued, and the command being carried out. The most talked about form of latency affecting the computer system, is that known as 'CAS Latency'. CAS stands for 'Column Access Strobe'. Its best to think of the RAM as a table of data, with information being stored in rows and columns. In order to retrieve data from RAM, the processor needs to ask for it using both a column and a row identifier. While the CAS is the signal sent to identify the column, there is of course also a 'Row Access Strobe' or RAS to select the correct row. When the chipset asks the RAM for data, it first activates the RAS signal to select the row, then there is a slight delay for a few clock cycles (called RAS-to-CAS delay) before the CAS signal is activated, selecting the right column, then there is another pause (CAS latency) for a few clock cycles, before the required data is returned. On modern memory sticks, terms such as CAS 2 and CAS 3 are used. Basically the number refers to how many clock cycles we have to wait between sending the CAS signal and getting the data returned. Due to other factors affecting memory latency, the difference between CAS 2 and 3 is not always noticeable, but for musicans, and other users of memory intensive software, it can make a large difference.
To recap, and for those that just skimmed the rest of the article, heres a few things to remember. If your interested in optimising your systems performance, its important to consider all factors, to avoid a bottleneck situation. Its a good idea to buy the motherboard with the fastest FSB you can afford, but making sure the rest of your hardware will run happily at this speed. Many retailers will push towards the fastest cpu you can afford, glossing over the rest of the system. Performance wise, if your on a limited budget, its better to make sure your getting a chipset and memory configuration that is syncronised and at a good speed, even if you have to compromise a couple of hundred mhz from the processor. You are unlikely to notice the difference between a 2.4 and 2.6 GHz Pentium 4, so much as you would between a 533mhz FSB and a 800mhz one, or between a system using single sticks of RAM and one using Dual Channel DDR. Also, providing the cost difference isnt huge (they are often very similarly priced) its worth paying the extra to have CAS 2 RAM, over the slower CAS 2.5 or 3.
to Phil Rees Music Tech UK home page
to Phil Rees Music Computers division index page
subscribe to the Phil Rees Music Tech email newsletter
written by: Chris Smith
© 2003 Philip Rees, UK
This document is not to be reproduced without permission of the copyright holder.
No liability can be accepted for errors and omissions.
All trademarks acknowledged as the property of their owners.