Libre RISC-V Mailing list Archives (accessible via public-inbox)
 help / color / Atom feed
* [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