Deutsch   English   Français   Italiano  
<vdnpg4$3c9e$2@dont-email.me>

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

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Robert Finch <robfi680@gmail.com>
Newsgroups: comp.arch
Subject: Re: Tonights Tradeoff - Background Execution Buffers
Date: Fri, 4 Oct 2024 00:04:20 -0400
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <vdnpg4$3c9e$2@dont-email.me>
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>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 04 Oct 2024 06:04:21 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4ae0382851c84aa74b5783d8ad09247d";
	logging-data="110894"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19RY28Oo+kVXftKENIqwv/tQM6rZ7848oI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:47uwUVmnvBSAC1RrpkUVd0qdPUc=
In-Reply-To: <vd6a5e$o0aj$2@dont-email.me>
Content-Language: en-US
Bytes: 2623

Today I am wondering how many predicate registers are enough. 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. 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.
Suppose one wants predicated logic in a loop with the predicate being 
set outside of the loop. 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.