[Libre-soc-dev] snitch core
lkcl
luke.leighton at gmail.com
Sun Oct 24 14:50:43 BST 2021
On October 24, 2021 5:02:26 AM UTC, Jacob Lifshay <programmerjake at gmail.com> wrote:
>the unexpected part is where I found it: google news linked to a ieee(?
>could be misremembering) article about it.
interesting, and fortuitous.
>yup, snitch is a pulp-platform cpu.
ahh that sounds right. they are the ultra-low-power group.
ok so i had a look: figure 6 explains it, by doing incremental introductions of the two features.
feature 1: DSP style "zero overhead loop control" (ZOLC)
the version used is quite basic (and perfectly adequate), hilariously and ironically it is identical to the Simple-V technique we came up with over 3 years ago: repeat-context is established, repeat occurs.
it *might* be a Vertical-First, particularly if it is possible to zero-overhead-loop automatically around multiple instructions.
feature 2: CISC-like / CDC6600/PDP11/68000-like "auto-load-and-increment"
certain FP regs may be "tagged" to indicate, "if you *ACCESS* this register, actually what i want to happen is that you go off and read the register contents from memory (effectively) and by the way, auto-increment the load address to the next address as a side-effect"
this is pretty much the definition of CISC "load-and-increment" instructions, and is no surprise given that they are part of efficient / elegant designs from 50 years ago.
by making it a "tag" (exactly like how SVP64 REMAP works: that is also a hidden "tag" architecture) the underlying RISC architecture does not need changing.
the bit that is novel here is thus not the techniques, but how they demonstrated a hardware architecture that is power-efficient as a result.
good for them. like it a lot.
l.
More information about the Libre-soc-dev
mailing list