Deutsch   English   Français   Italiano  
<vucbbe$mvlc$1@dont-email.me>

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

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Robert Finch <robfi680@gmail.com>
Newsgroups: comp.arch
Subject: Re: asynch register rename
Date: Wed, 23 Apr 2025 23:31:56 -0400
Organization: A noiseless patient Spider
Lines: 15
Message-ID: <vucbbe$mvlc$1@dont-email.me>
References: <vbgdms$152jq$1@dont-email.me> <vtsbga$1tu26$1@dont-email.me>
 <b8859e8d6b909a4505c0f487a6a0fe35@www.novabbs.org>
 <vu2542$38qev$1@dont-email.me> <vu46su$1170i$1@dont-email.me>
 <2025Apr21.080532@mips.complang.tuwien.ac.at>
 <d47cdad26528b4d2309ac9df60120315@www.novabbs.org>
 <2025Apr22.071010@mips.complang.tuwien.ac.at>
 <DwONP.2213540$eNx6.1757109@fx14.iad>
 <2025Apr22.193103@mips.complang.tuwien.ac.at>
 <f5e5bf81ac2c7e2066d2a181c5a70baf@www.novabbs.org>
 <2025Apr23.194456@mips.complang.tuwien.ac.at>
 <126700f99b6f97d7483bb5355d68c361@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 24 Apr 2025 05:31:59 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="c4194d5464e84b265786cd07de92deb0";
	logging-data="753324"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+Avs2XchsHd9HgTJiof5ezfReNerdYRU8="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0z0MNGVYH4lxh+0CV8d52PhHia8=
Content-Language: en-US
In-Reply-To: <126700f99b6f97d7483bb5355d68c361@www.novabbs.org>
Bytes: 2515

Changed the rename logic for StarkCPU, moved it from the in-order rename 
stage to an asynchronous process that operates on the re-order buffer. 
Primary reason was instructions may need too many destination register 
renames, causing stalls in the pipeline. As an async process the name 
supplier picks off up to four destination registers per clock. Following 
instructions do not stall because of the name supply. Usually this would 
be four instructions worth, but it may be less. This is in lieu of 
implementing instructions with micro-ops. Instructions with multiple 
targets could be implemented using multiple micro-ops. For Stark many 
instructions have a compare-to-zero built in that requires updating a 
condition register in addition to the destination register update. 
Signified with the ‘.’ suffix in assembler. With both carry and 
compare-to-zero at the same time there may be three destination 
registers in an instruction.