Deutsch English Français Italiano |
<a3a57791722f7c21c4218f5be6226e97@www.novabbs.org> 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: mitchalsup@aol.com (MitchAlsup1) Newsgroups: comp.arch Subject: Re: number of registers Date: Tue, 20 Aug 2024 16:40:06 +0000 Organization: Rocksolid Light Message-ID: <a3a57791722f7c21c4218f5be6226e97@www.novabbs.org> References: <v98asi$rulo$1@dont-email.me> <38055f09c5d32ab77b9e3f1c7b979fb4@www.novabbs.org> <v991kh$vu8g$1@dont-email.me> <e4352bad7240a6276e453226136ea0b3@www.novabbs.org> <va049n$2vnr7$1@dont-email.me> <a566ca0c8b5c41f402b60e8bac445e24@www.novabbs.org> <2024Aug20.090149@mips.complang.tuwien.ac.at> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: i2pn2.org; logging-data="3251550"; mail-complaints-to="usenet@i2pn2.org"; posting-account="65wTazMNTleAJDh/pRqmKE7ADni/0wesT78+pyiDW8A"; User-Agent: Rocksolid Light X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8 X-Spam-Checker-Version: SpamAssassin 4.0.0 X-Rslight-Site: $2y$10$ZW3oVmm/JRiD6lrfehK55.8z75oUjvZyQ0Li5C74IwW2wa7C7MR4a Bytes: 3182 Lines: 71 On Tue, 20 Aug 2024 7:01:49 +0000, Anton Ertl wrote: > mitchalsup@aol.com (MitchAlsup1) writes: >>On Mon, 19 Aug 2024 18:52:39 +0000, Brett wrote: >> >>> MitchAlsup1 <mitchalsup@aol.com> wrote: >>>> The thing is that one you go down the GBOoO route, your lack of >>>> registers >>>> "namable in ASM" ceases to become a performance degrader. With renaming >>>> one can have R7 in use 40 times in a 100 instruction deep execution >>>> window. >>> >>> If this was true we would have 16 or even 8 visible registers, and all >>> would be fine. x86 does mostly fine with 16 > > And yet Intel went to 32 SIMD registers with AVX-512 (which admittedly > was first developed for an in-order microarchitecture) and are now > going to 32 GPRs with APX (no in-order excuse here). And IIRC the > announcement of APX says something about 10% fewer memory accesses or > somesuch. > >>Careful, here:: >> >>x86 has LD-OPs and LD-OP-STs which makes the 16 register file feel more >>like it has 20-22 registers. > > You feeling is strong (as shown by your repeatedly ignoring the > counterevidence), but wrong: > > LD-OPs and LD-OP-STs as on AMD64 and PDP-11 make the 16 registers > equivalent to 17 registers on a load/store architecture: > > Let's call the 17th register r16: > > On a load-store architecture you replace "LD-OP dest,src" with: > > ld r16=src > op dest,dest,r16 > > On a load-store architecture you replace "LD-OP-ST dest,src" with: > > ld r16=dest > op r16,r16,src > st dest=r16 > > For a VAX-like three-memory-argument instruction you need two extra > registers, r16 and r17: > > "mem1 = mem2 op mem3" becomes: > > ld r16=mem2 > ld r17=mem3 > op r16,r16,r17 > st mem1=r17 > > - anton That is not what I am talking about:: i = i + 1; as ADD [&i],#1 1 instruction = 1 add, 1 LD and 1 ST. And i = i + j; as ADD Ri,[&j] In neither case is an extra register needed, and you may have several of these in a local sequence of code. ...