[Libre-soc-dev] v3.1B prefix
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Fri Dec 4 00:10:54 GMT 2020
On 12/3/20, Jacob Lifshay <programmerjake at gmail.com> wrote:
> See https://libre-soc.org/openpower/sv/svp_rewrite/svp64/ for a WIP version
> of SVP64, it should explain/answer some of your questions.
ok, so i see a redesign of the 32 bits of the EXT01 space, some fixed
bits (6, 9) which i will need to look up to understand, but basically
the TBD bits total 24.
the other part is a table of the EXT01 64 Major opcodes.
so bear in mind:
* there are 64 v3.0B major opcodes
* we need to map pretty much everything in v3.0B into "SV" form (and
not by doing a deep-dive 99% redesign of OpenPower minor opcodes)
* only appx 5 of those are "free"
* eliminating VSX, load-quad, ld/st multi gets that down to around 52
* eliminating twi and tdi gets another 2
sum total v3.0B major opcodes that need to be mapped into SV Prefix space:
around 50 Major Opcodes.
in the table that i see there on that page, there are only 16 of the
EXT01-64 prefixing major opcodes marked as allocated to SV64.
where are the remaining 32 Major Opcodes, without which we cannot SV
prefix all v3.0B instructions?
*possibly* if there are 2 extra bits somewhere it would be possible to
use them to add a 4x multiplier to those 16 Major opcodes, to give 64.
however if using the earlier 1st word that would reduce the 24 bits
down to a scant 22.
in addition, 16 major EXT01 opcodes, that's a whopping 30% of
unallocated space, minimum!
IBM may have been expecting that space to last at least another 30 years!
this is sounding less and less feasible.
More information about the Libre-soc-dev