I’m thinking of getting a new computer. I’m currently using a three year old G4, with a 400 MHz processor and 1 MB of L2 cache. I’m considering getting one of the new eMacs. Everything is at least as good/big/fast as my G4, the processor is 800 MHz, but the L2 cache is only 256K. I do graphic design, so overall system speed is important. Given that the processor speed is double, will having a smaller L2 make a noticable difference? Anything else I should be concerned about, speed-wise? Thanks in advance.
Yes…the size of the cache makes a big difference. However, it is not as simple as it appears on the face of it.
A larger cache runs more slowly than a smaller cache. However, a larger cache is more likely to have the info the processor needs so main memory does not need to be accessed. It has been awhile since I’ve seen side-by-side comparisons but generally the machine with the larger cache has an advantage (one reason why Duron processors outperformed Celeron processors…bigger cahce on the Duron but Intel for various reasons refused to up the cache size on Celeron [although they did eventually]). While cache searches are slower on a larger cache the time it takes for the system to access main memory is significantly slower than accessing an L2 cache. This can cause the processor to idle while it waits for the necessary instructions and the overall time hit makes larger caches better.
One of the major aspects of CPU development is writing algorithms that are extremely good at keeping needed data in the computer’s cache memory so it does not need to go to main memory (or at least the needed info is grabbed from main memory before it is needed while the CPU does other things). Nevertheless they aren’t perfect and never can be.
In short, barring other considerations (of which there could be many and important ones too), a CPU with a larger cache will outperform the same CPU with a smaller cache.
Okay, considering that the processor has double the clock speed, which one would you guess would have better performance?
A classic (read: old) example is the cheap Celeron 300A versus the expensive Pentum II 450.
The 300A was designed with 128K of on-board L2 running at chip-speed, while the PII 450 had 512K of off-board L2 running at half of the chip speed. The 300A was also designed to run on a 66 MHz front side bus while the PII 450 was supposed to run at 100.
However, most 300As would fire up with no problem at 100 MHz front side bus, giving them a frequency of 450. When overclocked to 450 and compared against the PII 450, the Celeron slightly exceeded the PII 450 in some benchmarks. The theory at the time was that the PII’s triple-sized capacity was negated by its half-speed latency, while the 300A was better supplied with data, even if it wasn’t as much data.
My highly competitive housemate just about crapped his pants when I took that $120 chip and whipped his PII 450 benchmark-worshippin’ ass with it.
However, certain applications very much do benefit from huge slurps of cache data, even at half speed. I think certain Photoshop filters and the like preferred the Pentium II.
Unless you’re comparing processors of significantly different design (like, for example, trying to compare a Pentium III against the markedly slower clock-for-clock Pentium 4), processor speed is the most important performance enhancement your computer can enjoy. That G4 800 probably whoops the G4 400 in every respect, except the odd Photoshop filter, as I said before.
L2 Cache size does indeed affect perceived performance. It’s been awhile since I was in this business, but I do remember that in the early days of PII/III there were two versions of the processor offered, the only difference being the size of the L2 cache (off-chip, but in the processor module). Check out the benchmarks for those processors and it might give you a good idea.
keep in mind that there is a reason why the l2 cache is never bigger than 1mb. the cache holds a list of instructions, if one of the instructions changes the next instruction needed the cache has to be flushed and reloaded. so a big cache’s list of instructions may never be completed, and the larger the cache is the longer it takes to reload it.
You can certainly get more than 1MB of L2 cache.
Here’s an Intel Xeon billed with 2MB L2 cache
Suns UltraSparc III CPU is packaged with up to 8MB of L2.