[libre-riscv-dev] multi issue
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Fri May 31 00:03:49 BST 2019
On Thu, May 30, 2019 at 11:58 PM Jacob Lifshay <programmerjake at gmail.com> wrote:
> we will additionally need to decide which variety of long instruction
> encoding we will support: the encoding in the original spec or the new
> encoding proposed by clifford wolf.
both, by using the mvendorid-marchid-isamux scheme that i created
last year. the isamux scheme is identical to that used by PowerPC to
dynamically swap from big-endian to little-endian, generalised.
that's if there are any instructions in the extended format that we
actually need.
> The way I had been planning on decoding multiple instructions is to read
> multiple 16-bit units from the instruction cache, then, for every unit,
> calculate the length of the instruction that might start at that unit, then
> calculate which units actually start instructions for the first N
> instructions, where N is the max decode count, then mux the instructions
> into N ILEN-bits slots where each slot additionally has a valid bit. the N
> slots then can be then enqueued into the instruction queue.
multiplied by the element vectorisation length.
> the fetch
> address would then be updated by the number of units that were successfully
> added to the queue.
without the element vectorisation length as a multiplier.
it's really quite involved.
l.
More information about the libre-riscv-dev
mailing list