The Importance of Cache
Cache is one of those topics most people just assume is important and move on with their lives, an approach you cant really condemn since, for most of you, there is no pressing reason to understand the immediate functionality of cache in a system. However, if youre making any purchase, you should always be aware of the factors that would make one purchase a better than another.
Cache is nothing more than high speed memory that is located closer to your CPU for faster access to frequently used data. The first place your CPU looks for data is in the cache, and more specifically, the cache located on the CPU itself, referred to as Level 1 or L1 cache. If the data the CPU is looking for isnt present in the L1 cache, or it fails to retrieve it in the current clock cycle, it then looks for it in the secondary cache, if present, otherwise it retrieves it from your system memory. Assuming that there is a secondary cache present (L2 cache), the processor can then retrieve it from a source slower than that of the L1 cache, yet still faster than if it had gone all the way to the system memory to retrieve the data. This process continues with however many levels of cache your system has before the processor has no other option than to retrieve the data from system memory, the slowest option out of them all.
In the ideal situation, all one would need to have an efficient system would be a large amount of cache, where most data would be retrieved from, unfortunately this isnt the case. In the event that the data isnt retrieved from the cache, the data is obtained from the system memory. Lets take two identical computers, both with 64KB of L1 cache, one with 512KB of L2 cache running at 150MHz and the other with 256KB of L2 cache running at 300MHz, twice the speed. Now lets say that we have a number of applications running at the same time, nothing too incredibly strenuous on the processor, just a bunch of your normal office applications. Every time we open up a file, send something to the printer, or modify a document, were executing a number of instructions over and over again, this is where cache shows its true benefits, in accessing frequently used data. If all the data could be retrieved by the processor from the cache in both cases, the system with 512KB of L2 cache running at 150MHz would probably end up being faster simply due to the fact that it has more cache and could probably store more of the repeated instructions over time. However, if only a small percentage of the data was actually retrieved by the processor from the L2 cache, the second system would probably be faster as the data which could be retrieved by the processor would be accessed at a much higher rate since the L2 cache is operating at twice the speed of the first processor.
There is a tradeoff between more cache running at a lower speed, and less cache running at a higher speed, and AMD decided to position themselves at the most strategic point, an almost perfect balance between quantity and performance. While the Pentium II has a full 512KB of L2 cache, it is only running at 50% of the clock speed, and the Celeron A has its L2 cache running at clock speed, however it is only outfitted with 128KB of L2 cache. AMD chose to include a full 256KB of L2 cache at clock speed on the K6-3, something Intel will be doing in January with the release of their Dixon processor.
The problem with the original K6-2 was that the L2 cache was always locked down to the speed of your systems Front Side Bus (FSB) frequency, in most cases, 100MHz, and realistically, at most, 125MHz. With the L2 cache on all K6-2 systems never rising above 125MHz (anything above 125MHz put too much of a strain on peripherals, and would usually crash randomly), AMD was at a disadvantage in that with every clock speed increase, the Pentium II would widen the performance gap between itself and the K6-2 since the Pentium II derives its L2 cache speed from the CPUs speed. This issue has been thoroughly averted with the inclusion of the L2 cache on the die of the K6-3, so for once, AMD has a performance advantage over the Pentium II. When the K6-3 makes its debut, even the Pentium II 450s 225MHz L2 cache wont be able to keep up with the 350MHz - 450MHz L2 cache speeds of the first K6-3s.