[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