What happens to programs running in CPU with smaller and bigger L2 cache
That really depends on a particular program and OS, and how the code was generated by the compiler In general, the Bartron 512 KB cache has a performance advantage of 0 to 10+ % over the 256 KB 1700+/1800+, tested on a wide range of programs, assuming the CPU frequency is the same.
Look at it this way, assuming a 1700+/1800+ can be overclocked 100-120 MHz (~4-5%) faster than a Barton.
1. For small programs (code + data) whose size is small enough, say 100 KB, such that both code + data can be fit into the 256 KB (and also 512 KB) cache (the OS needs also some space in the cache), then the 1700+/1800+ would win. When there is a cache miss, i.e. code or data not found in cache, it takes many cycles to get them from memory and to fill the cache. Because running that small program, there is no need to access the main memory for both CPU, the Barton has no advantage over the 1700+/1800+. Since the 1700+/1800+ takes shorter time each cycle, so they win the Barton.
2. For programs (code + data) whose size is larger than 256 KB but smaller than 512 KB, say 300 KB, definitely the Barton will win. Since once a while, the 1700+/1800+ would find code or data missing in cache and have to get them from main memory (i.e. it would take many more cycle to complete the same program). While the Barton can keep running from the cache and without needing additional cycles to get data from the main memory.
3. For programs (code + data) whose size is larger than 512 KB, say big prgrams w/ big matrices. Then both cases, there are continuous cache misses, and continuous memory access. On the average, the Barton would access the main memory less, hence it would "waste" less cycle compared to the 1700+/1800+ which has a shorter time per cycle. Then who wins depends on
- The cycle "wasted" for the 1700+/1800+ memory to access compared to its gain in shorter cycle time.
- How the code was generated by the compiler and how persistent the code + data are in the cache. This is program and application specific and dependent. If the code + data can persist in the cache over a longer period of time, i.e. less frequent cache miss, this would help the 1700+/1800+, and so Barton would win less. But if the code + data are less persistent, and there are lots of cache miss, the 1700+/1800+ would have to get them from main memory much more often than the Barton, and under this extreme condition, the Barton would win by a high %.
So in general, for big program with huge amount of data, and are not persistent in cache, the Barton would win. By how much depends on the amount of code + data, the frequency of cache misses, and how persistent the code + data are.
So I hope we can see that it is really application specific. If the Barton can be clocked to same speed, definitely it would win. But since from many applications seen, Barton has 0 to 10+% advantage, and the 1700+/1800+ can be clocked about 4-5% faster (100-120 MHz), it is about a tie for both.
Related link:
Comparing Tbred B 1700+/1800+ DLT3C and Barton 2500+ overclocking performance, power and temperature (page 14)