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.  ...