Last Updated on December 4, 2018 by Dave Farquhar
So, if you haven’t heard about Spectre and Meltdown, you can read my analysis over at my employer’s blog. I won’t compete with them. Let’s talk about the heat Intel is taking over this, and why I think it’s at least slightly unfair.
What Spectre and Meltdown are
A lot of people overcomplicate how these things work. All CPUs since the Pentium do some work ahead of time. The idea is, they read ahead. And let’s say the chip sees it’s going to have to do one of two calculations in the near future. It will do ahead and do both of them so the result is ready, then discard the one it didn’t need.
This is an old trick. Intel started doing it with the Pentium Pro. AMD and it in its first Pentium competitor, the K5. Cyrix even did it in a 486-class CPU, the deceptively named 5×86.
The problem comes in the “discard the one it didn’t need” part. Some chips don’t discard that result cleanly, so you can go back and read that result afterward, even though it’s not supposed to exist anymore. What’s worse is that Intel CPUs don’t check to see if the action it’s taking in those ahead-of-time instructions are actually legal. They carry out the work, then check to see if it was legal. And if it wasn’t legal, it throws it away. Not cleanly, as it turns out.
Intel made a decision
Why would Intel make a CPU that does something that might not be allowed, then check afterward? I’ll bet you a cup of coffee it was either to get better speed, or better energy efficiency.
AMD cleaned Intel’s clock about 10 years ago by releasing a CPU, the Athlon 64, that was faster and used less power than anything Intel had. Intel caught up a few years later and released its widely successful Core i3, i5, and i7 CPUs, which it used to beat AMD back to within an inch of its life.
I know how these conversations go. The security dude says not to do it that way, and everyone else in the room asks why not. The security dude says why not, and everyone else in the room says that’ll never happen, so they do what they want to do and move on.
Then something bad happens. Security dude was right. Now everybody’s a security dude and they pile on the guy who made the bad decision. But where were they when the security dude spoke up?
If I’d said a year ago that it’s better not to take that shortcut, nobody would have agreed with me then. They would have said I was being paranoid.
Intel took a shortcut. Intel probably took hundreds or thousands of shortcuts to put as much distance between its performance and AMD’s performance as it could. And up until Tuesday, people rewarded Intel for it, and counted it as an advantage. They bought their CPUs and said only dumb cheapskates buy AMDs.
Do I wish Intel had been more careful? Absolutely. But the market doesn’t want careful. The market wants cheap and fast and they don’t want their computers to be space heaters.
I’ve said this before and I’m sure I’ll say it again. People place a value of zero dollars on security until something bad happens. This week, something bad happened.
Experts think AMD is going to sell 5 percent more CPUs now than they otherwise would have. That’s not a lot. I think AMD could sell more than that. I don’t think they can make more than about a 5 percent increase. They’ll sell every CPU they can manage to make this year.
I also think this will pass. People made fun of the original P54 Pentium that couldn’t divide. Intel couldn’t have handled the initial response much worse than they did. But Intel spent the 90s beating AMD to within an inch of its life (and Cyrix to within a nanometer) anyway. Once Intel had a chip that worked well enough at a price people were willing to pay, nobody cared anymore.