[libre-riscv-dev] insights about the selection of the design and architecture
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Sat May 9 14:08:52 BST 2020
in talking to john scott last night, something occurred to me that was
only clear after the discussions off-list last week about abandoning
the design and moving to a "simpler" in-order system.
it stems from this: an in-order system is nothing new. it's not
exciting, it's not novel, it's not innovative, and consequently when
talking to people about it, the chances of them going "wow", becoming
supportive and wanting to help and see us succeed become significantly
john trained as an electrical engineer. he'd heard of the Tomasulo
Algorithm, and (surprisingly) knew exactly what Reservation Stations
were. i was therefore able to explain to him in about 2-3 minutes
that where Tomasulo Reservation Stations have multiple rows (in a
queue), the scoreboard system only has one "row" per Reservation
Station, that we express the Reorder Buffer (ROB) index in unary, that
consequently the power consumption for the ROB, by no longer requiring
a binary-indexed CAM becomes massively reduced, and that in addition
by setting multiple unary bits you can extremely easily add
by contrast it is extremely difficult and massively power-demanding to
add multi-issue on top of Tomasulo (efforts have been made, and
they're a mess) - multiple entries into the ROB can only be added by
using multi-way CAM lookups, and that's just one of the barriers.
this was exactly the kind of *technical* "wow" moment that he deeply
appreciated, and it will inspire him to write an absolutely fantastic
i then went on to explain that we are reviving and augmenting a design
from *1965* - the world's first superscalar out-of-order pipelined
design. this was in and of itself another "wow" moment, as i
explained to him the capability of the CDC 6600, and that, by using
such an elegant and resource-constrained design we end up with a more
power-efficient *modern* design as a result.
in addition, because of the very fact that we are reviving this
historic design, Mitch Alsup has been willing to spend signficant
amounts of time discussing it and teaching how it works. with so many
people having done "simpler" in-order systems, the chances of him -
and the other major participants on comp.arch - speaking to us about
an *in-order* micro-architecture would be extremely remote.
we'd be referred to the internet (to do some arbitrary google search)
and that would be the end of the discussion.
the bottom line then is that it's the willingness not just to tackle
something that's technically challenging, it's the willingness to
teach others (i am *already* helping out other participants on
comp.arch to understand the complexities of out-of-order and
scoreboard systems), to revive a historical design, and to bring that
to a wider world and give people back Soverign control over their
*that* is "wow".
if we try to do a "simple" in-order system as the core of the design
we lose almost *every* exciting and unique aspect of this project,
turning it into "yet another run-of-the-mill processor". as a result,
the interest in and the wider support for what we're doing - aiming
for a far less ambitious goal - would not be there.
john will send me the article for review: i'll drop it on the wiki for
everyone to read, comment on and edit, and we let him know when we're
ready. he also suggested the idea of actually linking *to* the
article (from the magazine), so whilst the "top" part will be 600-800
words, interested people can see our commentary, extra insights and so
on *below* the copy of the article, on the wiki.
which i thought was a great idea.
More information about the libre-riscv-dev