So the story originally started with the cacheless 266 Mhz Celeron. CPUs were delivered as AICs (add-in-cards) at the time, with separate cache chips, so to deliver a budget processor, they shipped the same silicon, but without the cache chips added. Removing the cache drastically tanked the performance, especially on integer work loads (typically productivity software), but didn't really affect floating point workloads. However, it had the side benefit of removing the part of the AIC that was most sensitive to over-clocking (the cache). It used a 66Mhz clock with a fixed 4x multiplier, and upping the clock to 100Mhz got the Celeron running at 400Mhz, which had performance roughly equivalent to a 266 Mhz Pentium II with cache for integer workloads, but for games, it was almost as fast as the fastest Pentium II of the time (which topped out at 450Mhz).
In order to stop the overclocking, Intel decided to add some cache back to the CPU, but to save money, rather than using cache chips, they stuck a relatively tiny amount of cache directly on the CPU die, and released the now infamous Celeron 300A
Because the cache was on-die, it could overclock just as well as the previous celeron, but this time the 300A was faster than the equivalent Pentium because the on-die cache ran at twice the clock speed of the external caches
In order to stop the overclocking, Intel decided to add some cache back to the CPU, but to save money, rather than using cache chips, they stuck a relatively tiny amount of cache directly on the CPU die, and released the now infamous Celeron 300A
Because the cache was on-die, it could overclock just as well as the previous celeron, but this time the 300A was faster than the equivalent Pentium because the on-die cache ran at twice the clock speed of the external caches