3 ms·
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 fa
by hannob 9y ago
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?
- Tuna-Fish 9y ago> 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.