Long ago, I think there were metal traces on the CPU you used to be able to cut or reconnect. So when the CPU manufacturer came out with a batch of chips, some were more robust than others, and the really buff hulky chips would get assigned the highest performance rating, and a laser was used to cut a pattern of traces into the chip. The middling OK performance chips would get a different pattern of traces cut.
Anwyay, people figured out the patterns by comparing the top chips to the lower rated ones, then re-connected the traces using metal ink or solder or whatever (even could use a pencil), so the chip would seem like the top of the line chip. Then when you put that chip into a motherboard, the motherboard would believe the chip was the fastest rated one.
But that is in the past, and it's no longer the way chips are designed because shady people would edit the chips and commit fraud by charging higher top-tier prices for middle-of-the-line chips.
However, today it's *BETTER* this is no longer the situation, because it's really easy to just change the settings in the motherboard to overclock the chip.
Also, keep in mind that the chip can change its behavior over time, especially if you are really abusing it (I don't mind doing this, I will beat my chips into the ground because it gives me an excuse to upgrade if I ever break it). The point being is that maybe after five years your chip will get a little tired, so you pump a little more voltage into it. If the overclock was flashed into the chip, it would be harder to make that change. But with motherboard settings, you can easily change back and forth. I mean many motherboards include "save slots" where you set up an overclock configuration, and then save those settings. Then you can set up several different configurations, each saved to its own slot, to easily change back and forth between them. Not to forget, you can also just run software in windows to easily switch back and forth to overclock settings.
But here's the reason why I think you don't flash CPU chips, and why CPUs are different than GPUs. Think about how with video cards, the GPU chip itself is permanently locked to it's circuit board and supporting power delivery circuits. So the point is that with GPUs, you have the entire system and it's all tied together, so a given overclock will be rather predictable.
But unlike GPUs, the CPU can be placed into entirely different motherboards, and each motherboard can have totally different power delivery systems. For a good overclock, you need a good power system. So with a fancy motherboard, you'll typically get the best overclock. But, if you put the CPU into a cheaper motherboard that sacrifices power delivery robustness, then that motherboard might introduce some instability in the power delivery when you are cranking up the voltage for a good overclock, and so you can't achieve the same level of performance. So, you need the CPU to be adaptable to different motherboards and not just lock in to be limited to a single flashed overclock. Anyway, at least that's how I see it.
So with GPUs, you are more likely to operate in a predictable environment locked to the entire video card, so it's consistent and predictable so it's OK to flash the GPU to that setting (where really you are flashing the BIOS on the GPU system, to hard-code the speed/voltage/etc. settings). But with CPUs you have no idea what motherboard that CPU will be slotted into, so it's somewhat desirable to have the settings tied to the motherboard.