2
votes

There are a lot of patches released to fix the recently found Spectre and Meltdown security vulnerability. However they all do this (to my understanding) by disabling usage of certain functionality on the cpu.

So I am wondering if the (predictive) features that are being disabled are likely to come back for the next generation of processors?

What design changes in the cpu architecture need to be made? Can the same predictive algorithms still be used in the future or do they need to be adapted?

I'm looking for a technical explanation what options exist to restore the pre-patch performance and make the functionality secure.

1
IDK how to solve Spectre, but Meltdown is pretty easy to mitigate with microarchitectural changes. I already wrote this up as part of Why are AMD processors not/less vulnerable to Meltdown and Spectre?, and Would buffering cache changes prevent Meltdown? Ask Question (answer: it would partially solve Spectre; Meltdown is easier).Peter Cordes

1 Answers

0
votes

I suppose it can be fixed by an extra tag (speculation id) in the cache entry that tell if the cached value was brought in by speculation. When reading (external to cpu) an entry with this tag set , the cache entry is invisible (skipped). When the speculation is selected for execution (aka. not discarded), the tag is cleared (for this speculation id). To me it sounds fixable in a week, but then l'm only a software developer, not a cpu designer:-)

Edit: if I understand comments correctly, the above is not sufficient. We need a duplicate L1 cache to also prevent eviction detection.