Slow RAM vs L2 cache? (Also: Getting new computer)

horvendile

Regular
OK, so here's the deal.
I'm getting myself a new computer.
Long-time B3D readers might recall similar bold statements coming from me before without anything happening in the end. But this time it's for real, honest, I swear! Though I probably will not buy before christmas. But the research is already in full swing.

My plan for the system is along the following lines.
CPU: AMD Athlon X2 4200+ or X2 4400+ (this is the question).
Motherboard: Asus A8N-SLI Premium - unless A8N32-SLI Deluxe really turns out to be significantly better.
RAM: 2 Gb of cheapest available DDR-400
Graphics: ATI Radeon X800XL or X800XT
And then a load of not so interesting stuff.

My main question:
The step from the X2 3800+ to X2 4200+ is relatively easy to motivate - system cost will increase about 5%, CPU performance 10%. Next step however, to X2 4400+, is causing me trouble. Aesthetically I am very fond of the idea of having 2 Mb of L2 cache, even if it happens to be two 1 Mb caches. Alas, when I study the very few reviews I can find comparing the 4200 and 4400, the performance difference in many applications is very slight. However, such reviews tend to be done using high-speed, low-latency memory - in fact, quite the opposite to my future computer. My plan is to have gargantuan amounts of RAM in order to avoid HDD swapping as long as possible, but if my budget is big it is not infinite, and buying anything else than cheap memory is out of the question. With slower memory the latency penalty for L2 cache misses should increase, possibly making the performance difference between the 4200 and 4400 larger.
(Maybe I should remind the reader that both CPUs run at 2.2 GHz, but the 4200 has 2x512 kb L2 and the 4400 2x1 Mb.)
So the main question is: Does anyone have any clue whether my higher RAM latency will matter in practice, and if it could be countered in any noticeable way by choosing the more expensive mega-cache CPU?

___
Edit: Corrected grammar
 
Last edited by a moderator:
horvendile said:
Alas, when I study the very few reviews I can find comparing the 4200 and 4400, the performance difference in many applications is very slight. However, such reviews tend to be done using high-speed, low-latency memory - in fact, quite the opposite to my future computer. My plan is to have a gargantuan amounts of RAM in order to avoid HDD swapping as long as possible, but if my budget is big it is not infinite, and buying anything else than cheap memory is out of the question. With slower memory the latency penalty for L2 cache misses should increase, possibly making the performance difference between the 4200 and 4400 larger.
(Maybe I should remind the reader that both CPUs run at 2.2 GHz, but the 4200 has 2x512 kb L2 and the 4400 2x1 Mb.)
So the main question is: Does anyone have any clue whether my higher RAM latency will matter in practice, and if it could be countered in any noticeable way by choosing the more expensive mega-cache CPU?
The difference in speed between L2 cache and main memory is huge. We are not talking slight differences here where you can make up for it by saving a cycle (possibly masked) in RAM timings. You should not pit these two against each other when making your decision. Instead, purchase the 1MB or 512KB model based on which you think will perform better, RAM capacity and timings being the same.

Here it my take on the subject in case you need an opinion. Go for the 1MB L2 cache (ie: 2MB for the cores combined). The reasons I can give you for this are as follows (note that I prefer to talk about cache per core, not the total.):

1. You cannot increase cache at a later date, but you can potentially overclock the entire CPU. For this reason, I would probably go with the 4400 over the 4600 even (where 4600+ has 200MHz higher freq but half the cache).

2. As programs grow and begin to target 1MB cache you will have it while the 512KB won't.

3. This is even more important with dual core or SMP operation as this is for multitasking, meaning more programs need to have data (instructions + working data) close to the logic.

4. With dual core you are not doubling the available memory bandwidth. More cache can help here.

5. (see number 2) Think 64-bit.

Most applications will not see an immediate benefit with more cache and some that do may still gain more from increased clock frequency. However, you are operating two cores on the memory bandwidth that was once availabel to just one. Programs are growing in complexity, multitasking becomes more of an option with dual core, and 64-bit is imminent. Go for the larger cache. Especially here because you are not even weighing it agains more frequency, but a bit higher price. Unless it bursts the spending bubble, you want that cache. 4400+ versus 4600+ would be a more difficult decision, especially if you don't want to overclock (which I, personally, don't). It would still be tempting to go for the larger cache in my opinion.
 
horvendile said:
OK, so here's the deal.
I'm getting myself a new computer.
Long-time B3D readers might recall similar bold statements coming from me before without anything happening in the end. But this time it's for real, honest, I swear! Though I probably will not buy before christmas. But the research is already in full swing.

My plan for the system is along the following lines.
CPU: AMD Athlon X2 4200+ or X2 4400+ (this is the question).

You could also get a Opteron 165 and overclock it(easy), that would save you about 1800 SKr over the X2 4400+(900 Skr over the X2 4200+) and give you the 2x1MB L2 cache.

Anyway from the test I have seen the extra cache does not make a big difference, but those tests usually use fast CL2 memory with slower memory I would asume the difference increases.
 
I think most DDR 400 these days has pretty decent latencies, even the cheap stuff.

From my dim recollection, the one thing that did pop up for a few A64 reviews was whether the RAM was running at 1T or 2T command rate. There was a measurable decrease in performance then, but not really that much.

I'm still not clear on how critical that last few percent of performance really is for the desired task load.

Even reduced cache with slightly slower memory won't be much different.
 
Thanks all. So far:
I won't overclock. My overclocking days, such as they were, are a thing of the past.
I like big caches. My religion dictates the use of excessively large L2 caches (and, if possible, an L3 cache). So if I can fing the money I will surely enjoy picking the 4400+.
I am, however, also mildly interested in the cost-benefit relation. I recall the days of yore, when the Celeron A and, to some extent, the Duron came about and were barely slower at all than their more cache-endowed siblings the P2 and K7. Sure, programs were smaller then, but so were caches.
I do agree that the splitting bandwidth situation could make for larger differences, but is the A64 bandwidth starved even with only one channel?

I realise that my question may be silly, on account of not really being answerable for a year or two yet. Maybe it should be rephrased as:
Are we aware of any significant performance differences between e.g. the Celeron A and its MHz-wise equivalent P2/P3 (using full-speed cache), when used with programs/games coming out a few years after the CPUs?
It may be vain to hope than anyone recalls such things, but it's worth a try!
 
I don't know of any comparisons using more recent software on the Celeron A.

Overall, however, it probably wouldn't matter all that much. The Celeron A supporting chipsets had FSB clocks at 100 Mhz and supported 100 MHz SDR.

Those alone would be far more limiting than the cache size of the Celeron A, but they would affect the comparable P2/P3 chips just as much if they were similarly saddled with such a limited subsystem.

I would hazard a guess that cache conflicts would be a more serious problem with a modern game like FarCry, but they would be hidden by the demands it would place on IO and memory.

I once read that, over time, the working set of applications grows much more slowly in size than demands for clock speed, RAM capacity, and bandwidth.

I'd suspect there would be some slight advantage in having a larger cache, but that the lack of it would not be crippling for a number of years. Most programs do great on 512 kB, and will most likely do so for quite some time.

A full transition to 64-bit software does have some slight code-expansion, but it will predominantly affect the L1 cache first--and that cache is fixed across all product lines.
 
For the future (read: solid, 64 OS-es and applications who actually make use of it), the increased cache might make a difference. But then again: how much of a difference? Loading and balancing it such, that you will actually see a big difference is very unlikely to happen except with some very specific applications and very good OS support.

At the moment, it doesn't really matter. And for most applications, the size of the data moved around increases fast, while the active part of the program increases barely, if at all.

I think the most important consideration would be: how many different applications do you run at the same time? If the answer is: "just a few, like MSN and such", the dual core processor is complete overkill to start with. If you say: "some heavy ones, Photoshop and video processing is what I do", then it makes sense. But with those amounts of data, only 1MB of cache isn't going to make much of a difference.

Then again, if you say: "many, I always have to hunt them down, and my CPU is constantly at 100%" or "I'm folding 24/7, on this computer", then the dual core and large caches makes sense.
 
I thought I'd add some sort of conclusion.
My plan is to accept that however I choose, I will take a chance with regards to future performance (I'm counting on keeping this computer for at least three years). I will then let a combination of my wallet and the cooling / noise alternatives make the decision.
 
Back
Top