[Libre-soc-dev] Wishbone and House Contract Of Sale Proposition

lkcl luke.leighton at gmail.com
Fri Oct 29 00:47:24 BST 2021



On October 28, 2021 6:22:49 PM UTC, Richard Wilbur <richard.wilbur at gmail.com> wrote:

>> this is a hard requirement stemming from speculative execution
>
>How does that follow?  Is there a reference on speculative execution
>that I could read to help me see the connection? 

speculative execution (or, shadowing) is the basis of exceptions predication multi-issue pretty much everything that makes modern processors fast.

the alternative: stall.  at everything.

got a load or store you don't know if it will complete?

stall.

got an exception situation you don't know which way it might go?

stall.

don't have the predicate read yet from the regfile?

stall.

don't know which way the branch will go?

stall.

every solution in an in-order system is: stall, stall, stall.

... see how that goes?  doesn't sound very attractive, does it? i mean, yeah it's low power and that's because the damn processor ain't doing *anything* :)

>I guess I was looking at this initially from the perspective of a
>multi-master backplane bus, such as PCI.  It sounds like we must be
>talking about an on-chip bus.

yes.  where there could be multiple requests generated, the sequence has to be preserved (in issue order), and any one of them could be cancelled, and if you don't cancel any that are beyond the corresponding issue point you screw memory, screw the regfile, and have to halt the processor to prevent further damage.  catastrophic disaster basically.

given that that catastrophic damage occurred when running a normal program and a normal interrupt happened to occur in the middle of it, that's not exactly a useful design, shall we say.

l.



More information about the Libre-soc-dev mailing list