[Libre-soc-dev] demo of 16/32/48/64-bit LE/BE backward-compatible encoding

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Nov 26 17:54:14 GMT 2020


On 11/26/20, Jacob Lifshay <programmerjake at gmail.com> wrote:
> On Thu, Nov 26, 2020, 03:35 Luke Kenneth Casson Leighton <lkcl at lkcl.net>
> wrote:
>
>> On Thu, Nov 26, 2020 at 5:10 AM Jacob Lifshay <programmerjake at gmail.com>
>> wrote:
>> >
>> > On Wed, Nov 25, 2020 at 6:10 PM Luke Kenneth Casson Leighton
>> > <lkcl at lkcl.net> wrote:
>> > >
>> > > On 11/26/20, Luke Kenneth Casson Leighton <lkcl at lkcl.net> wrote:
>> > > > On 11/26/20, Jacob Lifshay <programmerjake at gmail.com> wrote:
>> > > >> I added colors to the demo encoding, hopefully making it easier to
>> > > >> follow:
>> > > >> https://libre-soc.org/openpower/sv/16_bit_compressed/demo/
>> > > >>
>> > >
>> > > oh, one other thing that would help is: in the last column, in front
>> > > of (or after, doesn't matter) would be to include the byte index of
>> > > the instruction.
>> > >
>> > > padd [0]
>> > > padd [1]
>> >
>> > I added something like that, as well as adding a column for the
>> > decoder mode for the current instruction and highlighting the main
>> > opcode byte.
>>
>> 0x1000+0/1/2/3 etc. brilliant.  ah: last piece of "clarity"
>> information missing is of course the sequence number (aka "program
>> order")
>>
>
> The 0x1000+0/1/2/... column, the 0x1000 is the PC (also has column header
> "PC"), which counts in the program order.

ah no it doesn't: look at 101c and 1020, there's an instruction
embedded *in between*!

Program Order has a very specific definition which is *assumed* 100%
to be unilaterally synonymous with "PC order" right across the entire
computing industry for ooo abouuut 50+ years, until 2 weeks ago when
you came up with this scheme :)

Program Order is very specifically defined as, "the sequential order
in which a program sees, receives, and executes instructions".

with this scheme that is emphatically NOT synonymous with "PC
sequential order" because of the reversal of checking 23 01 rather
than 01 23.

and that's going to be hell to explain unless we have very clear
indicators of the differences.  took me 2 weeks to get it and i had to
pretend i was a 4-year-old.

l.



More information about the Libre-soc-dev mailing list