05 January 2018

James Bond vs. Spectre

I'll reference the Anandtech discussion of Meltdown and Spectre, just to have one. I expect any of the myriad others will do.

The question of interest to me is: how can there be a common "hardware bug" on, at least, five different machines? Those being Intel, AMD, ARM, POWER, and Z. It is acknowledged that the execution units on the metal aren't the ISAs of these machines, but rather some "simpler" RISC-y machine. Is there really only one way to build such a machine, algorithmicly? Or has the cross-licensing of patents led to there being one-best-way? Is the reality, there really is only one processor out there with myriad front-end decoders for all ISAs? And is the bug really on the metal, what most folks consider the hardware? Or is the bug in a common algorithm, implemented by all these 'proprietary' machine front-ends? Does Spectre, in particular, make a laughingstock of cpu patents? After all, if all of these allegedly unique architectures can be fiddled with in the same way, there has to be a common nexus in the implementations. And it is settled that algorithms can't be patented.

That the fixes are (going to be) in micro-code leads one to suspect that there may be just one hardware cpu in the world. It's a small world after all.

No comments: