* [libre-riscv-dev] [Bug 355] New: game theory "state" packet engine needed
@ 2020-05-27 21:04 bugzilla-daemon
2020-05-27 21:42 ` [libre-riscv-dev] [Bug 355] " bugzilla-daemon
0 siblings, 1 reply; 2+ messages in thread
From: bugzilla-daemon @ 2020-05-27 21:04 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=355
Bug ID: 355
Summary: game theory "state" packet engine needed
Product: Libre-SOC's first SoC
Version: unspecified
Hardware: Other
OS: Linux
Status: CONFIRMED
Severity: enhancement
Priority: ---
Component: Source Code
Assignee: lkcl@lkcl.net
Reporter: lkcl@lkcl.net
CC: libre-riscv-dev@lists.libre-riscv.org
NLnet milestone: ---
it occurred to me that the branch system etc. is basically running game theory
(in hardware), running new "state" ahead.
the program counter, DEC SPR, and TB SPR, these all increment and need rollback
in a group. there may also be other pieces of state information involved.
my feeling is that we will need a ring buffer, associated with the instruction
queue (or actually part of it) that contains each advancement of that state,
and thus we can roll it back without losing anything.
perhaps it is as simple as adding DEC and TB to the Decode2ExecuteType data
structure?
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
^ permalink raw reply [flat|nested] 2+ messages in thread
* [libre-riscv-dev] [Bug 355] game theory "state" packet engine needed
2020-05-27 21:04 [libre-riscv-dev] [Bug 355] New: game theory "state" packet engine needed bugzilla-daemon
@ 2020-05-27 21:42 ` " bugzilla-daemon
0 siblings, 0 replies; 2+ messages in thread
From: bugzilla-daemon @ 2020-05-27 21:42 UTC (permalink / raw)
To: libre-riscv-dev
https://bugs.libre-soc.org/show_bug.cgi?id=355
--- Comment #1 from Luke Kenneth Casson Leighton <lkcl@lkcl.net> ---
some possible ideas which preserve the state/context:
* a ring buffer with the instruction, TB, DEC and other context as entries is
created. the index of the ring buffer entry is passed down the pipeline "ctx"
(context)
* TB, PC and DEC are passed into "ctx". as this is 3x 64 bit that is an awful
lot, it will be copied right the way through the pipelines (and not actually
change or be used).
* a separate instruction queue and a separate ring buffer for state.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
libre-riscv-dev mailing list
libre-riscv-dev@lists.libre-riscv.org
http://lists.libre-riscv.org/mailman/listinfo/libre-riscv-dev
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, back to index
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27 21:04 [libre-riscv-dev] [Bug 355] New: game theory "state" packet engine needed bugzilla-daemon
2020-05-27 21:42 ` [libre-riscv-dev] [Bug 355] " bugzilla-daemon
Libre RISC-V Mailing list Archives (accessible via public-inbox)
Archives are clonable: git clone --mirror https://inbox.libre-soc.org/libre-riscv-dev
Example config snippet for mirrors
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git