In this article I upgraded my ECS Si5PI motherboard to whooping 2MB of L2 cache. I was interested to see how much improvement the extra cache brings. I remember reading advice in old Pentium era magazines that further cache upgrades beyond 256kB give only small returns. So let’s find out.
The testbed is as follows:
ECS Si5PI Socket 4 motherboard. PODP5V133 Pentium Overdrive CPU at 133 MHz. Diamond Stealth 64 DRAM VGA, 16 MB RAM. The system used SD-backed SCSI storage on Adaptec AHA-2940U SCSI controller. The OS was MS-DOS 6.0 + Windows 3.11.
The task actually proved to be quite problematic. I found it difficult to maintain the same cache timing in all configurations. This is due to the fact that the L2 on this board can be configured as either single (non-interleaved) or dual-bank (interleaved) configuration. Apart from higher capacity, the benefit of the latter option is that it is possible to use slower ranked chips to maintain the same access timings or to using faster timings. In the end, I used less aggressive timing (4-2-2-2 and 4-3-3-3) that allowed me to capture consistent results in all cache configurations.
No surprise here. Doom engine is no task for the CPU and most cycles are wasted on VGA transfers. The test shows the typical “hockey stick” where the most benefit is realised to have any size of the cache and the improvement is negligible once you are past 1024k. In fact, even the difference between 512k vs 1024k is tiny in absolute numbers and we are talking only about a few real ticks less.
Here you can see a similar story. Perhaps a bit more pronounced than in DOOM. Relatively slow gains past 256kB, but the performance still improves nevertheless. The cache timing is still way more important for the overall performance that the cache size.
This might come as a surprise. But whatever the Quake is doing with memory seems to be improving nicely with L2 cache size increase. Even the step from 1024k to 2048k sees healthy improvement. Cache timing is still important but so is the size.