Ask HN: How do CPUs handle bad transistors?
I've read that current CPUs have more than a hundred million transistors per square millimeter. I can't imagine that every single one of those works perfectly and will stay working perfectly for the entire lifetime of the CPU.
How do we design CPUs that don't die or stop working properly when one out of a hundred million transistors fails?
11 comments
[ 2.7 ms ] story [ 36.5 ms ] threadeither not one at all or entirely outright break down
They slightly overbudget the number of blocks when designing. This way if a few blocks are faulty they still have a working RAM chip. If a whole bunch of blocks aren't working, they can still sell it as a half- or quarter-capacity chip. A 8, 16 and 32 gigabit RAM chip in the same process from the same manufacturer may well have the same die inside, with different fuses blown.
This isn't new; it's been done since at least the 1980s. It's my understanding the same thing is done with cache and cores and even execution units on modern processors, but I would assume with a great deal more complexity.
The difference between CPUs actually may not be due to different designs - but due to manufacturing errors. Intel for example might have a production line only for "tier 1" processors (e.g. i7) but during manufacturing, some of the transistors, for some reason, fail to function. During quality tests they can check which transistors fail and reprogram the microcode to use only the good transistors. Then you end up with a lower tier processor (e.g. i5, i3)
Lots of really good information here: https://www.google.com/amp/s/www.techspot.com/amp/article/18...