Deutsch   English   Français   Italiano  
<2024Sep10.100507@mips.complang.tuwien.ac.at>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: is Vax addressing sane today
Date: Tue, 10 Sep 2024 08:05:07 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 33
Message-ID: <2024Sep10.100507@mips.complang.tuwien.ac.at>
References: <vbd6b9$g147$1@dont-email.me> <73c6d21457c487c61051ec52fe25ea5d@www.novabbs.org> <vbl3qj$22a2q$1@dont-email.me> <2024Sep9.100300@mips.complang.tuwien.ac.at> <vbnm4v$107g$1@gal.iecc.com>
Injection-Date: Tue, 10 Sep 2024 10:19:25 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="f21f15281580639cd9bc25764f54f587";
	logging-data="2997940"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+K21hXmW8O+LNaM6tvIIE8"
Cancel-Lock: sha1:50CmkvYJh1Nx41HfgMfAR+c4A5c=
X-newsreader: xrn 10.11
Bytes: 2795

John Levine <johnl@taugh.com> writes:
>According to Anton Ertl <anton@mips.complang.tuwien.ac.at>:
>>The regularity of the VAX operand formats may actually help build the
>>decoder: Decode your byte stream as possible operands, and then let
>>the instruction decoder pick the real operands from the potential
>>operands.
>
>Urrgh. Some of those bogus operands are indirect indexed auto-increment, so you
>are going to be throwing away a whole lot of work.

Yes, AFAIK that's how multi-instruction decoding for variable-width
instruction sets works these days: Decode at every potential
instruction start, then select those decoded instructions that are at
actual instruction boundaries, and throw the others away.

>Compare that to zSeries, where even after 50 years of sticking new instructions
>into the holes in the S/360 instruction set, it can still tell the length of the
>instruction from the first two bits and the operands from the first byte.

Good for sequential decoding, and maybe it makes parallel decoding
cheaper (but OTOH, the first superscalar S/360 descendent came out in
2000, 7 years after the superscalar Pentium, and the first OoO S/360
descendent lagged the Pentium Pro by 14 years or so), but as the IIRC
6-wide decoder of Alder Lake demonstrates, hardware designers are able
to deal with instruction sets that do not have such nice properties:
an AMD64 instruction can have a large number of prefixes, and I think
that the encoding of indexed addressing is not announced in the first
non-prefix instruction byte, either.

- anton
-- 
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
  Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>