24 comments

[ 37.4 ms ] story [ 1204 ms ] thread
Highly doubt that any proper silicon fix is going to be out this year. Silicon validation is no joke, so I’d expect 3years before speculation issues are fixed properly. I think the new fixes will be in microcode instead
It depends on the complexity of the fixes. We're probably not talking additional instructions here, only some smaller microarchitectural changes (at least for Meltdown), which could conceivably take only 6-9 months to put into production after design.

I wouldn't expect anything before Q3, but Q3 or Q4 shipping does seem plausible.

The worst case is when they manage to fix Spectre/Meltdown but then introduce a bunch of other errata in the process because they rushed it. The errata lists for modern processors are already disturbingly long, and this is for things that aren't "merely" timing side-channels but actual "not as designed" defects.
Sorry for asking, what is Silicon Validation? and how it is related to Meltdown, Spectre?
Simulating and testing the design. You generally don't want to spend millions of dollars on a semiconductor mask set unless you're sure the design will work correctly.

This part usually takes longer than the actual logic design and transistor layout phases.

> You generally don't want to spend millions of dollars on a semiconductor mask set unless you're sure the design will work correctly.

For varying levels of sure, given recent history.

I don't know the semi-conductor specifics... but it's a broad engineering concept.

Validation: Does the thing you designed actually do what it's supposed to do?

And the related concept,

Verification: Is the thing you build (and deliver) actually what you designed?

So Intel just hit earnings records[1] for 2017Q4 despite all the vulns (AMT). And now, after recent events (Meltdown/Spectre) with no warranty losses, are anticipated in excitement to hit new records in 2018Q4 with new, apparently not much faster, but fixed CPUs. Awesome.

[1] https://www.anandtech.com/show/12371/intel-announces-q4-2017...

Intel has absolutely no incentive to do anything about any of these problems. They are the definition of a monopoly.
Intel does not have a monopoly. The do have the best (i.e. fastest) processors for some applications. But having the best product in a market niche is not a monopoly.

AMD make instruction-compatible CPUs and other vendors make other computing architures (POWER, ARM, SPARC, etc.) that all compete with Intel.

I think 99%, 90% and 88% market share count as a monopoly

"Intel has more than 99 percent market share in servers, and its chips are in more than 90 percent of laptops and 88 percent of desktops sold."[1]

1. https://www.bloomberg.com/news/articles/2018-01-09/microsoft...

Depends on what your definition of computing is.

Are you going to say that Apple has a monopoly on all iPhones? Or are you going to take the more reasonable stance and realize that the iPhone / iPad is a competitor to Desktops / Laptops.

We can define market monopoly by market application segments of computing: desktop computers, mobile devices (smartphones, tablets), servers, embedded systems, IoT devices, etc. It's pretty clear that Intel holds nearly total monopoly in desktop and server segments.

I can imagine that this monopoly is close to being natural[1] (thus, legitimate and legal), one should be proved wrong to state otherwise. But I can't accept that an expensive, critically important, high-tech product turned out to be massively flawed, but the company (especially the monopolist) behind it not only doesn't bear responsibility, but generally denies the existence of the technical flaw ("it's not a bug, but a feature").

Moreover, it's still unclear whether this bug will be fixed at all[2].

[1] https://en.wikipedia.org/wiki/Natural_monopoly

[2] https://techcrunch.com/2018/01/22/linus-torvalds-declares-in...

Not in reality in the corporate space. Maybe AMD has a chance in commercial unless this destroys Intel but probably won't. Intel is the only x86 cpu I've seen my customers not have issues with. People are moving off power and sparc to x86 because of costs. These costs are not initial purchase but more of operations and maintenance. Applications are being less and less supported on non-x86 architecture. Arm is great but have not seen much movement into corporate. For x86, AMD has had stability issues for years running enterprise apps. I have made a lot of money troubleshooting issues for customers only to find out it's an execution bug on AMD. A lot of new software companies only support Intel cpu's as well. Why pay for making an HCL on two separate architectures when you really only need 1?
Regardless of comparative product quality, AMD does not have access to the fab capacity to compete with more than 10-20% of the volume of CPUs that intel ships. AMD is the only other x86 competitor which, for the time being, are not easily replaceable for a large swath of the market (eg desktop and server cpus). AMD can threaten Intel’s margins, or up to 20% of their volume, but otherwise intel is monopolistic to a significant degree.
Is that capacity only from global foundries ? What about tsmc ?
As of right now, AMD only designs their CPUs to work on the GloFo foundry. They could relatively easily expand production to the samsung fabs (as those are using almost the same process), but moving to use TSMC would require expensive and time-consuming redesign.
I read an industry analyst -- unfortunately I've lost the link -- who claims Intel is in a more precarious position than most of us think. The claim is basically that Intel's big lead is process technology, and to maintain that, they spend billions on fabs. To do that, they have to sell a lot of processors to distribute those costs. And they most likely couldn't afford to maintain that process lead if all they sell is datacenter chips because there wouldn't be enough volume.
Wait until the lawsuits start hitting them. They are in for a bumpy ride.
I'm less concerned about Intel's profits or its lost lawsuits. I'm wondering whether I shall receive any compensation for flawed CPUs, considering they're still under warranty.
Probably the only way you'll receive compensation is with a lawsuit.
Reading the headline I had wished for more details.

What does it mean to fix spectre? The microcode updates that were presented weren't... very elaborate as far as I understood it. They basically add optional capabilities for software to say "please let speculative execution run into nowhere and I know it'll be really slow".

What will these fixes look like? Will they add memory permission management to speculative execution? Is that even possible? Will they move away from speculative execution? Is it possible to have a performant processor without it? Will the fixes "just work" or will they require changes in software? In compilers? Will they be on by default or only for sensitive processes?

> Will they add memory permission management to speculative execution?

Probably.

> Is that even possible?

That's how AMD does it, so yes. Simply refusing to return a result from memory before the permissions are checked is a good solution to Meltdown. Might be a little slower in some situations, but it shouldn't be terrible.

> Will they move away from speculative execution? Is it possible to have a performant processor without it?

No and no.

Spectre 2 can be fixed by storing more bits in BTB tags, including the PCID and possibly some id to distinguish between VMs. If they don't want to do that, they can fix the issue with somewhat more of a performance penalty by introducing a fast operation to clear the BTB, which would be used when switching between privilege levels.

> Will the fixes "just work" or will they require changes in software? In compilers?

Spectre 1 cannot be fixed, and the only solution is to accept that branches cannot be used as security boundaries.

OK, time to hold off on computer purchases until the fixed version is out the door. Maybe by then the big GPU shortage due to cryptocurrency mining will have been resolved.