[libre-riscv-dev] libresoc memory architecture

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Jun 25 09:20:44 BST 2020

On Wednesday, June 24, 2020, Jacob Lifshay <programmerjake at gmail.com> wrote:

> > these minicaches were speculative-capable and the thing they were
> fronting
> > for was not.
> >
> that's a pretty good idea that I've been thinking about for a while -- I
> don't recall if I independently invented it or not.


from first principles it is a sensible and logical solution.

> >
> > in other words the minicache is compliant with the
> offer-exchange-complete
> > protocol and the thing behind it is take-it-or-leave-it.
> >
> The way I imagined it is implemented a little differently...

i am using the analogy of contract law merely to emphasise the difference,
although it is important to appreciate that no matter the difference in
implementation the contract types are absolute and inviolate.

PortInterface, the connection to the outside world, has to connect to
objects that respect offer-exchange-complete.

> >
> > in _other_ words the minicache stores the *offers* (which contain both
> > address *and* data) and the thing behind it stores the "completions".
> >
> > in this way, because the minicache contains the data at the "offer" phase
> > no speculative operations EVERRRR hit the thing behind it.  no evictions,
> > no resource utilisation, nothing.
> >
> > consequently there is no opportunity for speculative harm.
> >
> except for resource utilization conflicts at shared minicaches -- we still
> need to watch out for that.

 true.  i expect in LDST there to be only 8 (16?) outstanding requests.
this determines the size of the minicache.


crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

More information about the libre-riscv-dev mailing list