The speed and performance issue with memory is confusing to some people because of all the different ways to express the speeds of memory and processors. Memory speed was originally expressed in nanoseconds (ns), whereas the speeds of newer forms of memory are usually expressed in megahertz (MHz) and megabytes per second (MBps) instead. Processor speed was originally expressed in megahertz (MHz), whereas most current processor speeds are expressed in gigahertz (GHz). Although all these different speed units may seem confusing, fortunately, it is possible to translate from one to the other. A nanosecond is defined as one billionth of a seconda very short piece of time indeed. To put some perspective on just how small a nanosecond really is, consider that the speed of light is 186,282 miles (299,792 kilometers) per second in a vacuum. In one billionth of a second (one nanosecond), a beam of light travels a mere 11.80 inches or 29.98 centimetersslightly less than the length of a typical ruler! Memory speeds have often been expressed in terms of their cycle times (or how long it takes for one cycle), whereas processor speeds have almost always been expressed in terms of their cycle speeds (number of cycles per second). Cycle time and cycle speed are really just different ways of saying the same thing; that is, you could quote chip speeds in cycles per second, or seconds per cycle, and mean the same thing. As an analogy, you could express the speed of a bicycle using the same relative terms. For example, in the United States vehicle speeds are normally expressed in miles per hour. If you were riding a bicycle at 5 miles per hour (mph), it would take 0.2 hours per mile (hpm). At 10 mph, it would take 0.1 hpm. In other words, you could give the speed as either 0.2 hpm or 5 mph, and it would mean exactly the same thing. Because it is confusing to speak in these different terms for chip speeds, I thought it would be interesting to see exactly how they compare. Table 6.1 shows the relationship between nanosecond (ns) cycle times and the megahertz (MHz) speeds they represent.
As you can see, as cycle time decreases, clock speed increases proportionately. If you examine Table 6.1, you can clearly see that the 60ns DRAM memory used in older systems for many years is totally inadequate when compared to processor speeds of 2GHz and higher. Up until 1998, most DRAM memory used in PCs had been rated at an access time of 60ns, which works out to be 16.67MHz! The dominant standard in the year 2000 was to have 100MHz and even 133MHz memory, called PC100 and PC133, respectively. Starting in early 2001, double data rate (DDR) memory of 200MHz and 266MHz become popular. In 2002, we had 333MHz memory, and in 2003, 400MHz DDR memory became available. Note that these memory speed milestones are dated for desktop systems; laptops and notebooks are almost always somewhat behind the curve on memory speeds. For example, while desktop systems began using DDR2 memory in 2004, it wasn't until late 2005 that laptops began switching to DDR2 as well. System memory timing is a little more involved than simply converting nanoseconds to megahertz. The transistors for each bit in a memory chip are most efficiently arranged in a grid, using a row and column scheme to access each transistor. All memory accesses involve selecting a row address and then a column address, and then transferring the data. The initial setup for a memory transfer where the row and column addresses are selected is a necessary overhead normally referred to as latency. The access time for memory is the cycle time plus latency for selecting the row and column addresses. For example, SDRAM memory rated at 133MHz (7.5ns) typically takes five cycles to set up and complete the first transfer (5 x 7.5ns = 37.5ns) and then perform three additional transfers with no additional setup. Thus, four transfers take a total eight cycles, or an average of about two cycles per transfer. Over the development life of the PC, memory has had a difficult time keeping up with the processor, requiring several levels of high-speed cache memory to intercept processor requests for the slower main memory. Table 6.2 shows the progress and relationship between system board (motherboard) speeds in PCs and the various types and speeds of main memory or RAM used and how these changes have affected total bandwidth.
Generally, things work best when the throughput of the memory bus matches the throughput of the processor bus. Compare the memory bus transfer speeds (bandwidth) to the speeds of the processor bus as shown in Table 6.3, and you'll see that some of the memory bus rates match that of some of the processor bus rates. In most cases, the type of memory that matches the CPU bus transfer rate is the best type of memory for systems with that type of processor.
Because the L1 and L2 cache fairly well insulate the processor from directly dealing with main memory, memory performance has often lagged behind the performance of the processor bus. More recently, however, systems using SDRAM and DDR SDRAM have memory bus performance equaling that of the processor bus. When the speed of the memory bus equals the speed of the processor bus, memory performance is optimum for that system. |