[libre-riscv-dev] [hw-dev] Re: 6600-style out-of-order scoreboard designs (ariane)

Luke Kenneth Casson Leighton lkcl at lkcl.net
Sat May 25 09:14:30 BST 2019


branch shadowing now works: instructions are held back from writing
until the result of the branch is known, and both "success" (allow
write) and "fail" (go_die) work.

branch prediction's not been added, that's not the focus at the
moment.  i've been able to test both a success and fail path: the next
test will be to throw *dual* sets of instructions (both paths,
interleaved) at the engine and see what happens, and the test after
that will be to do multiple branches in succession.

mitch, i noticed the possibility that the shadow latches could remain
active (set) even after an instruction was told "go_die".  this would
mean that subsequent use of that function unit would be erroneously
shadowed.

on the basis that the unit isn't going to be used unless "issue" goes
high, the shadows don't need to be set to a known-good state until
issue time: does it look reasonable to put in extra circuitry to reset
each *unused* latch?

l.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shadow.jpg
Type: image/jpeg
Size: 57022 bytes
Desc: not available
URL: <http://lists.libre-riscv.org/pipermail/libre-riscv-dev/attachments/20190525/dc8f2665/attachment-0001.jpg>


More information about the libre-riscv-dev mailing list