Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <ite1gj5ns460ual9bk35vvo20fl047ar25@4ax.com>
Deutsch   English   Français   Italiano  
<ite1gj5ns460ual9bk35vvo20fl047ar25@4ax.com>

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

Path: ...!weretis.net!feeder9.news.weretis.net!i2pn.org!i2pn2.org!.POSTED!not-for-mail
From: George Neuner <gneuner2@comcast.net>
Newsgroups: comp.arch
Subject: Re: is Vax addressing sane today
Date: Sat, 05 Oct 2024 00:13:24 -0400
Organization: i2pn2 (i2pn.org)
Message-ID: <ite1gj5ns460ual9bk35vvo20fl047ar25@4ax.com>
References: <vdg3d1$2kdqr$1@dont-email.me> <memo.20241001101211.19028o@jgd.cix.co.uk> <20241001123426.000066c1@yahoo.com> <2024Oct1.182625@mips.complang.tuwien.ac.at> <vdknel$3e4pf$9@dont-email.me> <2024Oct3.085754@mips.complang.tuwien.ac.at> <vdne1a$3uaeh$4@dont-email.me> <m1rufjhpi09m9adedt87nrcdfmij1i8pvb@4ax.com> <2024Oct4.090534@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: i2pn2.org;
	logging-data="626498"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="h5eMH71iFfocGZucc+SnA0y5I+72/ecoTCcIjMd3Uww";
User-Agent: ForteAgent/8.00.32.1272
X-Spam-Checker-Version: SpamAssassin 4.0.0
Bytes: 4657
Lines: 65

On Fri, 04 Oct 2024 07:05:34 GMT, anton@mips.complang.tuwien.ac.at
(Anton Ertl) wrote:

>George Neuner <gneuner2@comcast.net> writes:
>>You are, of course, aware that the complex "x86" instruction set is an
>>illusion and that the hardware essentially has been a load-store RISC
>>with a complex decoder on the front end since the Pentium Pro landed
>>in 1995.
>
>Repeating nonsense does not make it any truer, and this nonsense has
>been repeated since at least the Pentium Pro (1995), maybe already
>since the 486 (1989).  CISC and RISC are about the instruction set,
>not about the implementation.  And even if you look at the
>implementation, it's not true: The P6 has microinstructions that are
>~100 bits long, whereas RISCs have 32-bit and 16-bit instructions.
>The K7 has load-store microinstructions; RISCs don't have that.

Anton, you know very well that the hardware does not execute the "x86"
instruction set but only /emulates/ it.  The decoder translates x86
instructions into sequences of microinstructions that perform the
equivalent operations.  The fact that some simple instructions
translate one to one does not change this.


>In more recent CPUs, AMD tends to work with macro-instructions between
>the decoder and the reorder buffer (i.e., in the part that in the
>Pentium Pro may have been used as the justification for the RISC
>claim); these macro instructions are load-and-op and read-modify-write
>instructions.
>
>John Mashey has written about the difference between CISC and RISC
>repeatedly <https://homepages.cwi.nl/%7Erobertl/mash/RISCvsCISC>, and
>he gives good criteria for classifying instruction sets as RISC or
>CISC, and by his criteria the 80286 and IA-32 instruction sets of the
>Pentium Pro clearly both are CISCs.  I have recently
><2024Jan12.145502@mips.complang.tuwien.ac.at> used his criteria on
>instruction sets that Mashey did not classify (mostly because they
>were done after his table), and by these criteria AMD64 is clearly a
>CISC, while ARM A64 and RISC-V are clearly RISCs.
>
>In searching for whether he has written something specific about
>IA-32, I found <https://yarchive.net/comp/vax.html>, which is an
>earlier instance of the recent discussion of whether it would have
>been better for DEC to stick with VAX, do an OoO implementation and
>extend the architecture to 64 bits, like Intel has done:
><https://yarchive.net/comp/vax.html>.  He also discusses the problems
>of IA-32 there, but mainly in pointing out how much smaller they were
>than the VAX ones.
>
>I don't agree with all of that, however.  E.g., when discussing a VAX
>instruction similar to IA-32's REP MOVS, he considers it to be a big
>advantage that the operands of REP MOVS are in registers.  That
>appears wrong to me; you either have to keep REP MOVS in decoding (and
>thus stop decoding any later instructions) until you know the value of
>that register coming out of the OoO engine, making REP MOVS a mostly
>serializing instruction.  Or you have a separate OoO logic for REP
>MOVS that keeps generating loads and stores inside the OoO engine.  If
>you have the latter in the VAX, it does not make much difference if
>the operand is on a register or memory.  The possibility of trapping
>during REP MOVS (or the VAX variant) complicates things, though: the
>first part of the REP MOVS has to be committed, and the registers
>written to the architectural state, and then execution has to start
>again with the REP MOVS.  Does not seem much harder on the VAX to me,
>however.
>
>- anton