[libre-riscv-dev] GPU design
lkcl at libre-riscv.org
Wed Dec 5 05:37:12 GMT 2018
slide 16. i *really* do not like the idea of "imprecise exceptions".
some instructions will have been permitted to execute out-of-order
(with no roll-back / recovery mechanism), yet they caused "damage",
and, reailistically, the full state has to be context-switched (the
by contrast, the reorder buffer of tomasulo, the buffer is what
preserves the order, and only the head of the buffer may be
"committed" (an exception, a ST or a reg write). yes, even exceptions
may be put into the buffer (in speculative designs), only committing
when they reach the head of the queue.
the reorder buffer is basically near-identical to the whole
software-based concept of database transactions. it's actually best
named "order buffer" or "in-order preserving buffer" as it *preserves*
the order rather than actually does "reordering".
More information about the libre-riscv-dev