The speed and performance issue with memory is confusing to some 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 MHz (megahertz) and MBps (megabytes per second) instead. Processor speed was originally expressed in MHz ( megahertz ), whereas most current processor speeds are expressed in GHz (gigahertz). 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 second ”a 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 centimeters ”slightly 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, we could express the speed of a bicycle using the same relative terms. For example, in the United States we normally express vehicle speeds 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. Table 6.1. The Relationship Between Memory Cycle Times in Nanoseconds (ns) and Clock Speeds in Megahertz (MHz)
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 400MHz and higher. Up until 1998, most DRAM memory used in PCs had been rated at an access time of 60ns or higher, which works out to be 16.67MHz or slower! 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 somewhat behind the curve on memory speeds. For example, in late 2003 most laptops used 266MHz DDR memory, whereas desktops of the same vintage were using 400MHz memory instead. 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. Table 6.2. Portable System DRAM Memory Module and Bus Standards/Bandwidth (Past, Current, and Future)
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. Table 6.3. Processor Bus Bandwidth
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. |