[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 mailing list