Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
There is no single number that dictates completely the "speed" of the system cache. Instead, we must consider the raw speed of the components used, as well as how the circuitry chooses to use them. These considerations are identical to how they are when looking at the system RAM itself; saying "my RAM is 60 ns" tells only a small part of the story.
The "raw" speed of the cache is the speed of the RAM chips used to make it. Caches are normally made from static RAM chips (SRAM), unlike main system memory which is made from dynamic RAM (DRAM). The short version of the difference between the two, is that static RAM is faster but also more expensive. The access speed of SRAMs are normally rated in the tens of nanoseconds. SRAMs normally have a speed of 7 to 20 ns; DRAMs on the other hand are usually 50 to 70 ns.
The speed of the SRAM chips gives the upper bound on performance. It is up to the motherboard and chipset designer to make full use of the speed. Let's consider a Pentium motherboard with a memory bus speed running at 66 MHz. This means 66.66 million cycles per second; if we take the reciprocal of this it gives the cycle time, which is 15 nanoseconds (1 divided by 66 million). In order for the motherboard to be able to read from the cache in one cycle at this speed, the SRAM must be faster than 15 ns in speed (there is some overhead time as well so exactly 15 ns won't work). If the SRAM is faster than this, there will be no additional benefit; if it is slower, timing problems will occur, which usually manifest themselves as memory errors and system lockups.
The tag RAM used as part of the cache must normally be faster than the actual cache data store. This is because the tag RAM must be read first to check for a cache hit. We want to be able to check the tag and still have enough time to read the cache within a single clock cycle, if we have a hit. So for example, you may find that your system's main cache chips are 15 ns, while the tag may be 12 ns.
The more complicated the cache mapping technique, the more important the difference in speed between the tag and the data store. Simple techniques like direct mapping don't generally require much difference at all. Your system may use the same speed for all the memory in this case; for example, if the system needs 15 ns for the tag and 16 ns for the data store, the motherboard may just specify 15 ns for everything since this is simpler. In any event, if your motherboard doesn't already come with the level 2 cache on it, you should buy for it whatever the motherboard manual or your dealer specifies.
The true speed of any cache, in terms of how quickly it really transfers information to and from the processor so that you get faster speed in your applications, is dependent on the cache controller and other chipset circuits. The capabilities of the chipset determine what kind of transfer technologies your cache can use. This in turn determines your cache's optimal system timing, the number of clock cycles required to move data in and out of the cache. This is discussed in detail in this section.
The performance of the cache obviously also is greatly dependent on the speed that the cache subsystem is running at. In a typical Pentium machine this is the speed of the memory bus, 66 MHz. However a Pentium Pro processor has an integrated level 2 cache, which runs at full processor speed, normally 180 or 200 MHz. Obviously, this will yield superior performance! The Intel Pentium II uses instead a daughterboard cache with level 2 caches running at half the processor speed, which with a 233 or 266 MHz chip will still mean much better performance than running the cache at 66 MHz.
Next: Cache Size