Sujet : Re: Oops (Concertina II Going Around in Circles)
De : quadibloc (at) *nospam* servername.invalid (John Savard)
Groupes : comp.archDate : 09. May 2024, 03:48:20
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <ksdo3jd4bia075pulpohgv4upabfq1h0e4@4ax.com>
References : 1 2 3 4
User-Agent : Forte Free Agent 3.3/32.846
On Wed, 8 May 2024 21:46:37 +0000,
mitchalsup@aol.com (MitchAlsup1)
wrote:
So, why do you need a header AT ALL !!
Assuming I don't want to ever allow the circuits of my computer to try
decoding an instruction that turns out later to be data (unless the
programmer has made an error, in which case the penalty of the program
being aborted is no problem)...
and I want the computer to be able to decode all the instructions in a
block in parallel, as a way to improve performance,
then I need a block header to say 'here are the instructions to
decode' IF I don't want to be absolutely limited to all instructions
having the same length.
While I could still have a pair of 16-bit instructions in a 32-bit
word, without headers I couldn't have immediates (at least not of most
lengths), or other instructions longer than 32 bits.
And headers let me add instruction predication, which is also good, as
branches do cause difficulties which predication partly avoids.
(There's still a dependency on what is being predicated upon.)
The header facilitates fast decoding of a flexible instruction set,
and allows VLIW features allowing the ISA to be used for embedded
processors.
John Savard