Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Heisenberg may have slept here...


devel / comp.arch / Re: "valid bits" for registers

SubjectAuthor
* "valid bits" for registersThomas Koenig
+* Re: "valid bits" for registersMitchAlsup
|`* Re: "valid bits" for registersQuadibloc
| `- Re: "valid bits" for registersThomas Koenig
+* Re: "valid bits" for registersTerje Mathisen
|`* Re: "valid bits" for registersThomas Koenig
| +- Re: "valid bits" for registersQuadibloc
| `* Re: "valid bits" for registersIvan Godard
|  `* Re: "valid bits" for registersThomas Koenig
|   `* Re: "valid bits" for registersIvan Godard
|    `* Re: "valid bits" for registersThomas Koenig
|     +* Re: "valid bits" for registersIvan Godard
|     |`* Re: "valid bits" for registersStephen Fuld
|     | `- Re: "valid bits" for registersIvan Godard
|     +- Re: "valid bits" for registersMitchAlsup
|     `* Re: "valid bits" for registersThomas Koenig
|      +* Re: "valid bits" for registersMitchAlsup
|      |`* Re: "valid bits" for registersThomas Koenig
|      | `* Re: "valid bits" for registersMitchAlsup
|      |  `- Re: "valid bits" for registersThomas Koenig
|      `- Re: "valid bits" for registersTim Rentsch
+- Re: "valid bits" for registersQuadibloc
`* Re: "valid bits" for registersGuillaume
 +* Re: "valid bits" for registersMitchAlsup
 |`* Re: "valid bits" for registersGuillaume
 | +* Re: "valid bits" for registersMitchAlsup
 | |`- Re: "valid bits" for registersGuillaume
 | `- Re: "valid bits" for registersTerje Mathisen
 +- Re: "valid bits" for registersIvan Godard
 `* Re: "valid bits" for registersStephen Fuld
  `- Re: "valid bits" for registersGuillaume

Pages:12
Re: "valid bits" for registers

<saasfc$s7c$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17814&group=comp.arch#17814

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!vHj1Qq4NDvrye2NzbaJyCQ.user.gioia.aioe.org.POSTED!not-for-mail
From: mess...@bottle.org (Guillaume)
Newsgroups: comp.arch
Subject: Re: "valid bits" for registers
Date: Tue, 15 Jun 2021 20:45:00 +0200
Organization: Aioe.org NNTP Server
Lines: 36
Message-ID: <saasfc$s7c$1@gioia.aioe.org>
References: <sa35cv$g52$1@newsreader4.netcologne.de>
<saakj7$12hh$1@gioia.aioe.org> <saan7c$8e5$1@dont-email.me>
NNTP-Posting-Host: vHj1Qq4NDvrye2NzbaJyCQ.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: fr
 by: Guillaume - Tue, 15 Jun 2021 18:45 UTC

Le 15/06/2021 à 19:15, Stephen Fuld a écrit :
> On 6/15/2021 9:30 AM, Guillaume wrote:
>> Le 12/06/2021 à 22:28, Thomas Koenig a écrit :
>>> Advantages: There would be no need to write back the value
>>> to the physical register file, saving effort (and possibly
>>> making analysis easer).
>>
>> I don't really get it. In what kind of microarchitecture would a
>> register be written back if it had not been modified anyway?
>>
>>> Saving registers on function entry could be restricted on those
>>> which are actually valid, the same would hold for a context switch.
>>
>> Yeah, why not. Except...
>>
>> You need to figure out what a valid register means exactly. It's not
>> hard to figure that all registers would be flagged invalid upon
>> 'reset'. But once a given register has been written to, what exactly
>> would make it "invalid" again?
>
> How about you have started the execution of a load instruction, but the
> memory system hasn't yet returned the value?  You don't want to use the
> "old"/existing value, but the new value isn't available yet.

That's what is called a load-use hazard. There are tons of ways to deal
with this, usually left to various parts of the microarch depending on
its implementation. Usually left to the pipeline control unit for
pipelined processors.

Same for any operation that could span several cycles, by the way.

I don't think that's the kind of use cases the OP mentioned or had in
mind, but using a "valid" bit for handling those cases instead of other
means might yield some benefits, depending on what the microarch is.
Maybe especially for out-of-order execution. I'll have to give it some
thought.

Re: "valid bits" for registers

<f4afb7fc-4adc-47a3-8e75-7d83934843cbn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17815&group=comp.arch#17815

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:8e:: with SMTP id o14mr1067705qtw.102.1623782748036;
Tue, 15 Jun 2021 11:45:48 -0700 (PDT)
X-Received: by 2002:a9d:7d05:: with SMTP id v5mr569853otn.240.1623782747728;
Tue, 15 Jun 2021 11:45:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 15 Jun 2021 11:45:47 -0700 (PDT)
In-Reply-To: <saas38$jgn$1@gioia.aioe.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:bdeb:cdc9:a12:a1bb;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:bdeb:cdc9:a12:a1bb
References: <sa35cv$g52$1@newsreader4.netcologne.de> <saakj7$12hh$1@gioia.aioe.org>
<8a888f65-5357-4036-b4ae-6fa358800dfen@googlegroups.com> <saas38$jgn$1@gioia.aioe.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f4afb7fc-4adc-47a3-8e75-7d83934843cbn@googlegroups.com>
Subject: Re: "valid bits" for registers
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Tue, 15 Jun 2021 18:45:48 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Tue, 15 Jun 2021 18:45 UTC

On Tuesday, June 15, 2021 at 1:38:39 PM UTC-5, Guillaume wrote:
> Le 15/06/2021 à 18:39, MitchAlsup a écrit :
> > On Tuesday, June 15, 2021 at 11:30:38 AM UTC-5, Guillaume wrote:
> >> Le 12/06/2021 à 22:28, Thomas Koenig a écrit :
> >>> Advantages: There would be no need to write back the value
> >>> to the physical register file, saving effort (and possibly
> >>> making analysis easer).
> >> I don't really get it. In what kind of microarchitecture would a
> >> register be written back if it had not been modified anyway?
> > <
> > x86 where one has a shift and a shift count of 0. In this case the write back
> > is there to signal that the shift is complete and anyone dependent upon it
> > can now proceed.
> That's really an oddball here. How worth it can it be to go through such
> extents just to marginally improve I'm not even sure what in the end?
<
Back in the pre-486 days, microcode took a look at the shift count, and if
it were zero, just went on to the next instruction without modifying the
flags nor the result register.
<
This causes a "great disconnect" when building OoO machines because
until you see the shift count, you don't know which renamed register the
subsequent user of the destination instruction needs--nor do you know the
flag register values !!! or where they are supposed to come from !!!
<
When you get your chance--do not follow the x86 example.

Re: "valid bits" for registers

<saasku$s7c$2@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17816&group=comp.arch#17816

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!vHj1Qq4NDvrye2NzbaJyCQ.user.gioia.aioe.org.POSTED!not-for-mail
From: mess...@bottle.org (Guillaume)
Newsgroups: comp.arch
Subject: Re: "valid bits" for registers
Date: Tue, 15 Jun 2021 20:47:58 +0200
Organization: Aioe.org NNTP Server
Lines: 16
Message-ID: <saasku$s7c$2@gioia.aioe.org>
References: <sa35cv$g52$1@newsreader4.netcologne.de>
<saakj7$12hh$1@gioia.aioe.org>
<8a888f65-5357-4036-b4ae-6fa358800dfen@googlegroups.com>
<saas38$jgn$1@gioia.aioe.org>
<f4afb7fc-4adc-47a3-8e75-7d83934843cbn@googlegroups.com>
NNTP-Posting-Host: vHj1Qq4NDvrye2NzbaJyCQ.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: fr
 by: Guillaume - Tue, 15 Jun 2021 18:47 UTC

Le 15/06/2021 à 20:45, MitchAlsup a écrit :
> On Tuesday, June 15, 2021 at 1:38:39 PM UTC-5, Guillaume wrote:
> Back in the pre-486 days, microcode took a look at the shift count, and if
> it were zero, just went on to the next instruction without modifying the
> flags nor the result register.
> <
> This causes a "great disconnect" when building OoO machines because
> until you see the shift count, you don't know which renamed register the
> subsequent user of the destination instruction needs--nor do you know the
> flag register values !!! or where they are supposed to come from !!!
> <
> When you get your chance--do not follow the x86 example.

Ah, thanks for the details. Always interesting to have those pieces of
history. And yes, you just confirmed this as an oddball, and even worse
than this.

Re: "valid bits" for registers

<saaur8$nm0$1@newsreader4.netcologne.de>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17817&group=comp.arch#17817

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd6-26b3-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: "valid bits" for registers
Date: Tue, 15 Jun 2021 19:25:28 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <saaur8$nm0$1@newsreader4.netcologne.de>
References: <sa35cv$g52$1@newsreader4.netcologne.de>
<sa6qi0$a18$1@gioia.aioe.org> <sa6rps$uiu$1@newsreader4.netcologne.de>
<sa6v1m$h1$1@dont-email.me> <sa822v$ois$1@newsreader4.netcologne.de>
<sa84mc$6em$1@dont-email.me> <sa9t38$uig$1@newsreader4.netcologne.de>
<saalt3$h3j$1@newsreader4.netcologne.de>
<56baa3d2-217b-4c90-bac5-bf8c7be03080n@googlegroups.com>
<saaoem$iva$1@newsreader4.netcologne.de>
<8bccc81c-c8f0-4bda-8736-8198a74158bbn@googlegroups.com>
Injection-Date: Tue, 15 Jun 2021 19:25:28 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd6-26b3-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd6:26b3:0:7285:c2ff:fe6c:992d";
logging-data="24256"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Tue, 15 Jun 2021 19:25 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Tuesday, June 15, 2021 at 12:36:24 PM UTC-5, Thomas Koenig wrote:
>> MitchAlsup <Mitch...@aol.com> schrieb:
>> > On Tuesday, June 15, 2021 at 11:52:53 AM UTC-5, Thomas Koenig wrote:
>> >> Thomas Koenig <tko...@netcologne.de> schrieb:
>> >> > Thanks, but I am a technical writer
>> >> That should have read "I am not a technical writer".
>> ><
>> > Would it be rude of me to point out that that is bit more than a minor typo ?
>> No, please go ahead.
><
> At this point is no longer seem necessary.

If you'd said anything, I would in all probability have agreed.

Re: "valid bits" for registers

<saffl0$17uh$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17846&group=comp.arch#17846

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!0ti89rP6aDcquwTGyqZxgw.user.gioia.aioe.org.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: "valid bits" for registers
Date: Thu, 17 Jun 2021 14:36:49 +0200
Organization: Aioe.org NNTP Server
Lines: 27
Message-ID: <saffl0$17uh$1@gioia.aioe.org>
References: <sa35cv$g52$1@newsreader4.netcologne.de>
<saakj7$12hh$1@gioia.aioe.org>
<8a888f65-5357-4036-b4ae-6fa358800dfen@googlegroups.com>
<saas38$jgn$1@gioia.aioe.org>
NNTP-Posting-Host: 0ti89rP6aDcquwTGyqZxgw.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.7.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Thu, 17 Jun 2021 12:36 UTC

Guillaume wrote:
> Le 15/06/2021 à 18:39, MitchAlsup a écrit :
>> On Tuesday, June 15, 2021 at 11:30:38 AM UTC-5, Guillaume wrote:
>>> Le 12/06/2021 à 22:28, Thomas Koenig a écrit :
>>>> Advantages: There would be no need to write back the value
>>>> to the physical register file, saving effort (and possibly
>>>> making analysis easer).
>>> I don't really get it. In what kind of microarchitecture would a
>>> register be written back if it had not been modified anyway?
>> <
>> x86 where one has a shift and a shift count of 0. In this case the
>> write back
>> is there to signal that the shift is complete and anyone dependent
>> upon it
>> can now proceed.
>
> That's really an oddball here. How worth it can it be to go through such
> extents just to marginally improve I'm not even sure what in the end?

It is a real issue that the flag bits are not guaranteed after an x86
shift when the count happened to be zero.

Terje

--
- <Terje.Mathisen at tmsw.no>
"almost all programming can be viewed as an exercise in caching"

Re: "valid bits" for registers

<864kdwcsaz.fsf@linuxsc.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=17870&group=comp.arch#17870

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: tr.17...@z991.linuxsc.com (Tim Rentsch)
Newsgroups: comp.arch
Subject: Re: "valid bits" for registers
Date: Thu, 17 Jun 2021 10:30:28 -0700
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <864kdwcsaz.fsf@linuxsc.com>
References: <sa35cv$g52$1@newsreader4.netcologne.de> <sa6qi0$a18$1@gioia.aioe.org> <sa6rps$uiu$1@newsreader4.netcologne.de> <sa6v1m$h1$1@dont-email.me> <sa822v$ois$1@newsreader4.netcologne.de> <sa84mc$6em$1@dont-email.me> <sa9t38$uig$1@newsreader4.netcologne.de> <saalt3$h3j$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Info: reader02.eternal-september.org; posting-host="f0b9b4b9a1b21005dc3e7b402c48f6f1";
logging-data="25994"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19VV+sP+L704whVY4BnYP0tBMn2a0M4YwI="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:beWI2WqGUHaEVpiPXnJ2f3+0Dpc=
sha1:hMQ/cm22DIVO+mM06fdXwipgxi8=
 by: Tim Rentsch - Thu, 17 Jun 2021 17:30 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:

> Thomas Koenig <tkoenig@netcologne.de> schrieb:
>
>> Thanks, but I am a technical writer
>
> That should have read "I am not a technical writer".

What you mean is you are not an editor. There is
every indication you qualify as a writer. ;)

Pages:12
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor