Deutsch   English   Français   Italiano  
<76c2f88bf813f5b9b1e1945ea4cd014e@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: Tonights Tradeoff - Background Execution Buffers
Date: Sat, 5 Oct 2024 23:02:28 +0000
Organization: Rocksolid Light
Message-ID: <76c2f88bf813f5b9b1e1945ea4cd014e@www.novabbs.org>
References: <vbgdms$152jq$1@dont-email.me> <17537125c53e616e22f772e5bcd61943@www.novabbs.org> <vbj5af$1puhu$1@dont-email.me> <a37e9bd652d7674493750ccc04674759@www.novabbs.org> <vbog6d$2p2rc$1@dont-email.me> <f2d99c60ba76af28c8b63b9628fb56fa@www.novabbs.org> <vc61e6$21skv$1@dont-email.me> <vc8gl4$2m5tp$1@dont-email.me> <vcv5uj$3arh6$1@dont-email.me> <37067f65c5982e4d03825b997b23c128@www.novabbs.org> <vd352q$3s1e$1@dont-email.me> <5f8ee3d3b2321ffa7e6c570882686b57@www.novabbs.org> <vd6a5e$o0aj$2@dont-email.me> <vdnpg4$3c9e$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="740874"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="o5SwNDfMfYu6Mv4wwLiW6e/jbA93UAdzFodw5PEa6eU";
User-Agent: Rocksolid Light
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Site: $2y$10$QA1gjvAL50.SEIq0m8xaWeHNR8T9AJ5LJuVPBAWCPZyrpHQubIQtS
X-Rslight-Posting-User: cb29269328a20fe5719ed6a1c397e21f651bda71
Bytes: 3108
Lines: 36

On Fri, 4 Oct 2024 4:04:20 +0000, Robert Finch wrote:

> Today I am wondering how many predicate registers are enough.

Realistically 3 as long as they are orthogonal to each other and to
code.

>                                                               Scanning
> webpages reveals a variety. The Itanium has 64-predicates, but they are
> used for modulo loops and rotated. Rotating register is Itaniums method
> of register renaming, so it needs more visible registers. In a classic
> superscalar design with a RAT where registers are renamed, it seems like
> 64 would be far too many. Cray had eight vector mask registers.

In the ECL logic CRAY used an 8:1 multiplexer costs no more than a
2:1 multiplexer in power and gate count.

>                                                                 I think
> the RISCV- Hwatcha has 16 if I looked at the diagram correctly.
> I cannot see the compiler making use of very many predicate registers
> simultaneously. Since they are not used simultaneously, and register
> renaming is in effect, there should not be a great need for predicate
> registers.

With the orthogonality mentioned above, 3 covers a tree with 8 branches
or a 3-deep if()then{}else[}.

> Suppose one wants predicated logic in a loop with the predicate being
> set outside of the loop.

1 decision per predicate,

>                          It may be desirable to have several blocks of
> logic predicated by different predicates in the loop. It is likely
> desirable to have more than one predicate then.
> ->Reserved four bits in the instruction for predicates. Do not want to
> waste bits though. Using a 64-bit instruction.