Sujet : Re: Oops (Concertina II Going Around in Circles)
De : cr88192 (at) *nospam* gmail.com (BGB)
Groupes : comp.archDate : 10. May 2024, 22:53:07
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v1m1fm$1iflm$1@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
On 5/9/2024 6:19 PM, John Dallman wrote:
In article <ofeq3j9ni63e7tmccf2qbkb9t0naui44ei@4ax.com>,
quadibloc@servername.invalid (John Savard) wrote:
On Thu, 9 May 2024 20:28 +0100 (BST), jgd@cix.co.uk (John Dallman)
wrote:
I think you've just added another couple of orders of magnitude to
the odds against that happening.
>
What, you don't think that an ISA that is capable of handlling an
instruction set two orders of magnitude larger than ordinary
instruction sets wouildn't have a highly sought-after feature, at
least for some niches?
Not that justified the costs of implementing such a huge instruction set.
All the transistors that go into that are not going into performance
(caches, functional units, and OoO pool size) and are pushing up the size
of the minimal implementation.
Also, teaching development tools about vast instruction sets is likely to
demonstrate the RISC lesson again: compilers only use the simple parts.
Yeah.
For the compiler, one wants an ISA that is relatively straightforward and orthogonal, with a mostly RISC-like feature-set (where ideally things map fairly close to 1:1 with what languages like C and similar expect).
Also preferable if it has a gentle fallback from the "ideal case" to "stuff that can actually be encoded". If it is "ideal case or bust", this is not ideal.
If certain combinations of features are not directly encodable, and can't be easily faked with a (short) multi-instruction sequence, this is bad.
Special case ops can help, but mostly for ASM, or edge cases which run frequently and can usefully effect performance (but, then, the usefulness of a special-case op depends primarily on the context; you can end up with an instruction that is very useful on one specific scenario, and pretty much useless in every other scenario).
Though, usually better to try to prioritize ops that can be useful in multiple contexts, rather than purely niche ops.
Granted, things like my recently added experimental "RGB5PCKI8" instruction are very niche: There is one context it is useful for, and useless for pretty much everything else (doesn't even address the general case of 256-color graphics; since it is only for a specific color palette and could not be generalized to others).
Something like this, I would almost just assume not bother, except:
It can effectively double framerates in Doom or when playing video or similar in the 256-color GUI mode...
...