Re: Concertlina II: Full Circle

Liste des GroupesRevenir à c arch 
Sujet : Re: Concertlina II: Full Circle
De : mitchalsup (at) *nospam* aol.com (MitchAlsup1)
Groupes : comp.arch
Date : 17. Jun 2024, 22:20:03
Autres entêtes
Organisation : Rocksolid Light
Message-ID : <132536f47d1b160ad3ad0340fc479c1d@www.novabbs.org>
References : 1
User-Agent : Rocksolid Light
John Savard wrote:

I've noted earlier that I felt I had been going around in circles with
Concertina II, changing the instruction format back and forth, instead
of making progress to flesh it out.
At least no one can say you give up easily.

Recently, I added a new instruction to facilitate looping.
But the trouble was that it took up tooo much opcode space.
Yes, indeed...

One thing that occured to me was that if I went back to an old method
of specifying instructions longer than 32-bits: using a 4-bit pSupp
field to point into the same reserved area in the block as used for
pseudo-immediates, that would suit this instruction very well.

The reason is that if that techique were used, then I could use the
header that's also an instruction to just squeeze in the three-bit
decode field, and so access to the Loop instruction would be easy as
befits its importance.

Then I went back, and looked up an older version of Concertina II
which had it. It had complicated block headers. But worse than that,
it had _four_ different versions of the complete instruction set!
Which version was used depended on the header.The idea, of course,
that some headers required a pared-down version of the instruction set
so as to squeeze in more stuff.
It was also interesting to see how much further along I had gotten in
fleshing out that older version of the instruction set.
As to looping, I faced the same delimma and came to a different
conclusion::
You don't do it in 1 instruction, instead, you do it in a way where
your
2 instruction encoding executes one of the instructions only once. I
call
this bookending the loop.
So, I have an instruction called VEC, which donates a register and provides other guidance to the loop. And I have an instruction called
LOOP which performs the bottom of loop calculations. The register
donated
by VEC is given the address of the top of the loop so that the loop
terminating instruction is relieved of needing to supply it in the form of a displacement,...
VEC is executed once at the top of the loop, and provides guidance as
to which registers from within the loop are live-out of the loop.
This allows HW to avoid writing everything into RF and facilitates
running the loop across multiple lanes of function units.
LOOP, then, performs the ADD, a CMP, and a BC to the top of the loop.
I ended up with 3 kinds of LOOPs:
a) counted    -- for( i = 0; i < max;         i++ )
b) searching  -- for( i = 0; a[i] > 13;       i++ )
c) both       -- for( i = 0; i < max && a[i]; i++ )
This coves the majority of loops where the looping condition is
encodable.

John Savard

Date Sujet#  Auteur
17 Jun 24 * Concertlina II: Full Circle39John Savard
17 Jun 24 `* Re: Concertlina II: Full Circle38MitchAlsup1
17 Jun 24  `* Re: Concertlina II: Full Circle37John Savard
18 Jun 24   `* Re: Concertlina II: Full Circle36MitchAlsup1
18 Jun 24    +* Re: Concertlina II: Full Circle34John Savard
18 Jun 24    i+* Re: Concertlina II: Full Circle31John Savard
18 Jun 24    ii+* Re: Concertlina II: Full Circle9Thomas Koenig
18 Jun 24    iii`* Re: Concertlina II: Full Circle8John Savard
18 Jun 24    iii `* Re: Concertlina II: Full Circle7Thomas Koenig
18 Jun 24    iii  +* Re: Concertlina II: Full Circle2John Savard
19 Jun 24    iii  i`- Re: Concertlina II: Full Circle1John Savard
19 Jun 24    iii  `* Re: Concertlina II: Full Circle4Stephen Fuld
19 Jun 24    iii   +- Re: Concertlina II: Full Circle1MitchAlsup1
19 Jun 24    iii   +- Re: Concertlina II: Full Circle1MitchAlsup1
19 Jun 24    iii   `- Re: Concertlina II: Full Circle1MitchAlsup1
18 Jun 24    ii`* Re: Concertlina II: Full Circle21MitchAlsup1
18 Jun 24    ii `* Re: Concertlina II: Full Circle20John Savard
18 Jun 24    ii  +* Re: Concertlina II: Full Circle18MitchAlsup1
19 Jun 24    ii  i+* Re: Concertlina II: Full Circle16John Savard
19 Jun 24    ii  ii`* Re: Concertlina II: Full Circle15MitchAlsup1
19 Jun 24    ii  ii +* Re: Concertlina II: Full Circle8John Savard
20 Jun 24    ii  ii i`* Re: Concertlina II: Full Circle7John Savard
23 Jun 24    ii  ii i +* Re: Concertlina II: Full Circle2John Savard
25 Jun 24    ii  ii i i`- Re: Concertlina II: Full Circle1John Savard
23 Jun 24    ii  ii i `* Re: Concertlina II: Full Circle4MitchAlsup1
23 Jun 24    ii  ii i  `* Re: Concertlina II: Full Circle3John Savard
24 Jun 24    ii  ii i   `* Re: Concertlina II: Full Circle2MitchAlsup1
24 Jun 24    ii  ii i    `- Re: Concertlina II: Full Circle1John Savard
19 Jun 24    ii  ii `* Re: Concertlina II: Full Circle6Terje Mathisen
19 Jun 24    ii  ii  +* Re: Concertlina II: Full Circle2MitchAlsup1
19 Jun 24    ii  ii  i`- Re: Concertlina II: Full Circle1Terje Mathisen
19 Jun 24    ii  ii  `* Re: Concertlina II: Full Circle3Thomas Koenig
19 Jun 24    ii  ii   `* Re: Concertlina II: Full Circle2MitchAlsup1
19 Jun 24    ii  ii    `- Re: Concertlina II: Full Circle1Terje Mathisen
20 Jun 24    ii  i`- Re: Concertlina II: Full Circle1John Savard
19 Jun 24    ii  `- Re: Concertlina II: Full Circle1MitchAlsup1
18 Jun 24    i`* Re: Concertlina II: Full Circle2MitchAlsup1
18 Jun 24    i `- Re: Concertlina II: Full Circle1BGB-Alt
19 Jun 24    `- return for loop-back edges (Re: Concertlina II: Full Circle)1Anton Ertl

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal