[libre-riscv-dev] Spectre mitigation stratagies
Jacob Lifshay
programmerjake at gmail.com
Fri Jan 11 05:36:29 GMT 2019
On Thu, Jan 10, 2019, 21:27 Luke Kenneth Casson Leighton <lkcl at lkcl.net
wrote:
> On Fri, Jan 11, 2019 at 5:20 AM Jacob Lifshay <programmerjake at gmail.com>
> wrote:
>
> > > so let me get this straight: this basically comes down to the
> > > speculative branch firing off LD/ST operations that get cancelled?
> > >
> > not that they get cancelled, but that operations (not only ld/st) have
> > visible side-effects even though they've been canceled.
>
> such as having loaded data into the cache. i get that for LD/ST.
> why would other operations be affected?
>
if a speculated instruction is using the last of some resource (alu,
register read port, etc.) and it prevents a non-speculative instruction
from executing, then the speculative instruction is canceled, you can tell
that they've been run because the non-speculative instruction took longer
to start. that delay could be data-dependent (like a predication mask in sv
or something).
>
> l.
>
> _______________________________________________
> libre-riscv-dev mailing list
> libre-riscv-dev at lists.libre-riscv.org
> http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
>
More information about the libre-riscv-dev
mailing list