When people slam CPU manufacturers for Spectre, remember: Customers demanded speed doubling on legacy code, CPU vendors bent over backwards to accomodate programmers that did not want to learn parallelism.
-
-
It's definitely better than completely giving up on speculation, although I believe that was a necessary first step. The approach of putting in speculation barriers seems kinda naive though given the amount of understanding the average dev has even of memory barriers.
-
Absolutely. Any approach that requires work by the programmer or compiler is fundamentally bogus.
-
If compiler can do it, why is it bogus? We require compilers to allocate registers.
-
Because that's a fundamental change to the ISA tgat renders existing software unsupported. A new ISA could require it, of course, but that seems dangerous & error-prone.
-
Why is that "dangerous and error-prone"? Lots of CPUs only have one trust boundary. Why do we need to make fix only hardware?
-
Because people sometimes write asm by hand & are likely to get it wrong. But nobody's making a new ISA right now anyway. RV is already spec'd & in use.
-
You can add speculation barriers where they are needed.
-
Again, adding them to an existing ISA is pointless because you're not fixing the bug - that you broke the original ISA contract.
- 6 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.