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>