My Latest Addition to Concertina II
From
quadi@quadibloc@ca.invalid to
comp.arch on Mon May 4 18:40:25 2026
From Newsgroup: comp.arch
The Concertina II thread is quite long now.
The little portion of it about gun control hasn't helped.
So I wasn't able to find my previous post about a new feature I had added:
A small bit of opcode space was used to allow the first and second halves
of a 48-bit instruction to be placed inside instruction blocks without
headers where only 32-bit instructions are possible, in a 64 bit long form.
I noted that at first there was a mistake I made in choosing which prefix
bits to use for which purpose that led to a conflict... these 64-bit encapsulated instructions could still be used for their original purpose,
but they couldn't be used among variable-length instructions.
But that's no problem, right? They're not needed there. Ah, but the first
few bits of a 48-bit instruction distinguish it from 32-bit instructions
in variable-length instruction code... they're not needed within the encapsulation, so at least theoretically, I could come up with a whole
bunch of new 48-bit instructions, that wouldn't be accessible at all
within variable-length instruction blocks.
Of course, since these new "48-bit" instructions would always take up 64
bits when they're used, it seems silly to call them 48-bit instructions.
I noted that the name was because of where they fit in the instruction hierarchy... and I could always add a type of header which explicitly indicated 48-bit instructions so as to allow them to be used while really taking up 48 bits, thus justifying their names.
Well, I have made that addition.
Not only do I now have much extra opcode space for 48-bit instructions,
but in addition in the header where they only take up 48 bits... three alternate sets of 48-bit instructions can also be used.
And this also led to another new header type, where the feature of
alternate instruction sets is brought back. Just sixteen of them, not
multiple sets of 256, but an instruction block with this one header format
can pick two from the pool.
Oh, and in addition to 33-bit and 35-bit instructions, this also led to 34-
bit instructions being added.
John Savard
--- Synchronet 3.22a-Linux NewsLink 1.2