Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

"We don't care. We don't have to. We're the Phone Company."


devel / comp.arch / Re: Encoding saturating arithmetic

SubjectAuthor
* Re: Encoding saturating arithmeticluke.l...@gmail.com
`* Re: Encoding saturating arithmeticMitchAlsup
 +* Re: Encoding saturating arithmeticluke.l...@gmail.com
 |`- Re: Encoding saturating arithmeticMitchAlsup
 `- Re: Encoding saturating arithmeticMarcus

1
Re: Encoding saturating arithmetic

<1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=32214&group=comp.arch#32214

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:408:b0:3f3:8459:956c with SMTP id n8-20020a05622a040800b003f38459956cmr9600435qtx.3.1684086320769;
Sun, 14 May 2023 10:45:20 -0700 (PDT)
X-Received: by 2002:a05:6871:430e:b0:196:4186:4682 with SMTP id
lu14-20020a056871430e00b0019641864682mr7316536oab.11.1684086320465; Sun, 14
May 2023 10:45:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 14 May 2023 10:45:20 -0700 (PDT)
In-Reply-To: <ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=92.19.80.230; posting-account=soFpvwoAAADIBXOYOBcm_mixNPAaxW9p
NNTP-Posting-Host: 92.19.80.230
References: <tl4k53$3f0sn$1@newsreader4.netcologne.de> <tl7koa$2tnu8$1@dont-email.me>
<jtpulcFdnn5U1@mid.individual.net> <ZE6eL.6208$8875.499@fx13.iad>
<2022Nov19.180146@mips.complang.tuwien.ac.at> <cg9eL.65$zBQ2.17@fx40.iad>
<2022Nov20.142035@mips.complang.tuwien.ac.at> <aaQeL.22648$cVTf.10421@fx16.iad>
<63268483-e7d8-40ff-ac88-f2fa8b469853n@googlegroups.com> <456fL.20570$ft35.6714@fx12.iad>
<ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
Subject: Re: Encoding saturating arithmetic
From: luke.leighton@gmail.com (luke.l...@gmail.com)
Injection-Date: Sun, 14 May 2023 17:45:20 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 17
 by: luke.l...@gmail.com - Sun, 14 May 2023 17:45 UTC

On Tuesday, November 22, 2022 at 5:36:11 PM UTC, MitchAlsup wrote:

> Something the readers should be aware of:: Saturation makes the
> arithmetic slower (by about 2 gates) because adders are set up to
> wrap. Saturation requires the detection of wrap (easy enough) and
> then the output of the adder basically has to go through a 3-way
> multiplexer that chooses from {lbound, result, ubound}. So, you may
> have just made your frequency lower by 5%-6%.

what about passing that to the next stage (after the add,
just before write-to-regfile)? a post-analysis was what i
was planning in the implementation of SVP64: pass enough
from an *unmodified* pipeline to an augmented CCode step.

given that Power ISA already has CCs (EQ,LT,GT) and Carry-in
and Carry-out i am not feeling it to be unreasonable.

l.

Re: Encoding saturating arithmetic

<e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=32219&group=comp.arch#32219

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2802:b0:74e:2894:7eb2 with SMTP id f2-20020a05620a280200b0074e28947eb2mr8268102qkp.12.1684098137315;
Sun, 14 May 2023 14:02:17 -0700 (PDT)
X-Received: by 2002:a05:6870:7d05:b0:192:579f:31bb with SMTP id
os5-20020a0568707d0500b00192579f31bbmr12376734oab.10.1684098136979; Sun, 14
May 2023 14:02:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 14 May 2023 14:02:16 -0700 (PDT)
In-Reply-To: <1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:2599:da7a:47b5:34ef;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:2599:da7a:47b5:34ef
References: <tl4k53$3f0sn$1@newsreader4.netcologne.de> <tl7koa$2tnu8$1@dont-email.me>
<jtpulcFdnn5U1@mid.individual.net> <ZE6eL.6208$8875.499@fx13.iad>
<2022Nov19.180146@mips.complang.tuwien.ac.at> <cg9eL.65$zBQ2.17@fx40.iad>
<2022Nov20.142035@mips.complang.tuwien.ac.at> <aaQeL.22648$cVTf.10421@fx16.iad>
<63268483-e7d8-40ff-ac88-f2fa8b469853n@googlegroups.com> <456fL.20570$ft35.6714@fx12.iad>
<ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com> <1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>
Subject: Re: Encoding saturating arithmetic
From: MitchAlsup@aol.com (MitchAlsup)
Injection-Date: Sun, 14 May 2023 21:02:17 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2846
 by: MitchAlsup - Sun, 14 May 2023 21:02 UTC

On Sunday, May 14, 2023 at 12:45:22 PM UTC-5, luke.l...@gmail.com wrote:
> On Tuesday, November 22, 2022 at 5:36:11 PM UTC, MitchAlsup wrote:
>
> > Something the readers should be aware of:: Saturation makes the
> > arithmetic slower (by about 2 gates) because adders are set up to
> > wrap. Saturation requires the detection of wrap (easy enough) and
> > then the output of the adder basically has to go through a 3-way
> > multiplexer that chooses from {lbound, result, ubound}. So, you may
> > have just made your frequency lower by 5%-6%.
<
> what about passing that to the next stage (after the add,
> just before write-to-regfile)? a post-analysis was what i
> was planning in the implementation of SVP64: pass enough
> from an *unmodified* pipeline to an augmented CCode step.
<
If you pass the saturation off until the cycle after addition, you cannot
use the result in the subsequent cycle--but only in the subsequent
subsequent cycle (latency = 2).
>
> given that Power ISA already has CCs (EQ,LT,GT) and Carry-in
> and Carry-out i am not feeling it to be unreasonable.
>
> l.

Re: Encoding saturating arithmetic

<30769428-4690-4e5f-bedd-34836b38c392n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=32225&group=comp.arch#32225

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:1aa6:b0:759:10d2:902f with SMTP id bl38-20020a05620a1aa600b0075910d2902fmr5199728qkb.6.1684202351198;
Mon, 15 May 2023 18:59:11 -0700 (PDT)
X-Received: by 2002:aca:a955:0:b0:394:1d78:8446 with SMTP id
s82-20020acaa955000000b003941d788446mr4674478oie.0.1684202350928; Mon, 15 May
2023 18:59:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border-2.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 15 May 2023 18:59:10 -0700 (PDT)
In-Reply-To: <e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=92.19.80.230; posting-account=soFpvwoAAADIBXOYOBcm_mixNPAaxW9p
NNTP-Posting-Host: 92.19.80.230
References: <tl4k53$3f0sn$1@newsreader4.netcologne.de> <tl7koa$2tnu8$1@dont-email.me>
<jtpulcFdnn5U1@mid.individual.net> <ZE6eL.6208$8875.499@fx13.iad>
<2022Nov19.180146@mips.complang.tuwien.ac.at> <cg9eL.65$zBQ2.17@fx40.iad>
<2022Nov20.142035@mips.complang.tuwien.ac.at> <aaQeL.22648$cVTf.10421@fx16.iad>
<63268483-e7d8-40ff-ac88-f2fa8b469853n@googlegroups.com> <456fL.20570$ft35.6714@fx12.iad>
<ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com> <1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
<e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <30769428-4690-4e5f-bedd-34836b38c392n@googlegroups.com>
Subject: Re: Encoding saturating arithmetic
From: luke.leighton@gmail.com (luke.l...@gmail.com)
Injection-Date: Tue, 16 May 2023 01:59:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 44
 by: luke.l...@gmail.com - Tue, 16 May 2023 01:59 UTC

On Sunday, May 14, 2023 at 10:02:18 PM UTC+1, MitchAlsup wrote:
> On Sunday, May 14, 2023 at 12:45:22 PM UTC-5, luke.l...@gmail.com wrote:
> > On Tuesday, November 22, 2022 at 5:36:11 PM UTC, MitchAlsup wrote:
> >
> > > Something the readers should be aware of:: Saturation makes the
> > > arithmetic slower (by about 2 gates) because adders are set up to
> > > wrap. Saturation requires the detection of wrap (easy enough) and
> > > then the output of the adder basically has to go through a 3-way
> > > multiplexer that chooses from {lbound, result, ubound}. So, you may
> > > have just made your frequency lower by 5%-6%.
> <
> > what about passing that to the next stage (after the add,
> > just before write-to-regfile)? a post-analysis was what i
> > was planning in the implementation of SVP64: pass enough
> > from an *unmodified* pipeline to an augmented CCode step.
> <
> If you pass the saturation off until the cycle after addition, you cannot
> use the result in the subsequent cycle--but only in the subsequent
> subsequent cycle (latency = 2).

is it _really_ that much more complex than Condition-Codes?
(if so i don't mind that 5%-6% but others might, and i am designing
an ISA that is general-purpose rather than academic, so
i am taking the 5-6% seriously)

i guess it is. where Condition-Codes are simply additional output,
if we may reasonably say that "If Carry-Out that means saturate",
then saturation *changes* the output based on what Carry-out is
set to.

as one of the inputs to the 3-way Mux.

hmmm...

this probably goes a long way towards explaining why Power ISA
cores do not get ramped up to the same 4.8 ghz that everyone
else aims for. instead the max clock rate is around 3.0 ghz even
in 7 nm but IBM make up for it by doing massive-wide issue and
doing I/O bandwidth far in excess of x86.

l.

Re: Encoding saturating arithmetic

<0d902d0d-a3bf-4464-8dc3-26b158ce339dn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=32231&group=comp.arch#32231

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7c4d:0:b0:3df:4392:1aff with SMTP id o13-20020ac87c4d000000b003df43921affmr12891887qtv.6.1684246939871;
Tue, 16 May 2023 07:22:19 -0700 (PDT)
X-Received: by 2002:a9d:6c4a:0:b0:6aa:e1b1:900c with SMTP id
g10-20020a9d6c4a000000b006aae1b1900cmr6753781otq.7.1684246939635; Tue, 16 May
2023 07:22:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.1d4.us!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 16 May 2023 07:22:19 -0700 (PDT)
In-Reply-To: <30769428-4690-4e5f-bedd-34836b38c392n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:d0:de98:8af3:957a;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:d0:de98:8af3:957a
References: <tl4k53$3f0sn$1@newsreader4.netcologne.de> <tl7koa$2tnu8$1@dont-email.me>
<jtpulcFdnn5U1@mid.individual.net> <ZE6eL.6208$8875.499@fx13.iad>
<2022Nov19.180146@mips.complang.tuwien.ac.at> <cg9eL.65$zBQ2.17@fx40.iad>
<2022Nov20.142035@mips.complang.tuwien.ac.at> <aaQeL.22648$cVTf.10421@fx16.iad>
<63268483-e7d8-40ff-ac88-f2fa8b469853n@googlegroups.com> <456fL.20570$ft35.6714@fx12.iad>
<ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com> <1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
<e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com> <30769428-4690-4e5f-bedd-34836b38c392n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0d902d0d-a3bf-4464-8dc3-26b158ce339dn@googlegroups.com>
Subject: Re: Encoding saturating arithmetic
From: MitchAlsup@aol.com (MitchAlsup)
Injection-Date: Tue, 16 May 2023 14:22:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4440
 by: MitchAlsup - Tue, 16 May 2023 14:22 UTC

On Monday, May 15, 2023 at 8:59:12 PM UTC-5, luke.l...@gmail.com wrote:
> On Sunday, May 14, 2023 at 10:02:18 PM UTC+1, MitchAlsup wrote:
> > On Sunday, May 14, 2023 at 12:45:22 PM UTC-5, luke.l...@gmail.com wrote:
> > > On Tuesday, November 22, 2022 at 5:36:11 PM UTC, MitchAlsup wrote:
> > >
> > > > Something the readers should be aware of:: Saturation makes the
> > > > arithmetic slower (by about 2 gates) because adders are set up to
> > > > wrap. Saturation requires the detection of wrap (easy enough) and
> > > > then the output of the adder basically has to go through a 3-way
> > > > multiplexer that chooses from {lbound, result, ubound}. So, you may
> > > > have just made your frequency lower by 5%-6%.
> > <
> > > what about passing that to the next stage (after the add,
> > > just before write-to-regfile)? a post-analysis was what i
> > > was planning in the implementation of SVP64: pass enough
> > > from an *unmodified* pipeline to an augmented CCode step.
> > <
> > If you pass the saturation off until the cycle after addition, you cannot
> > use the result in the subsequent cycle--but only in the subsequent
> > subsequent cycle (latency = 2).
<
> is it _really_ that much more complex than Condition-Codes?
<
It is, in essence, a 3-input data-width multiplexer where the input
to the data is the output of the adder and the control input is the
condition code. The delay is very much more fan-up and wire
than logic gates.
<
Another way to look at it is that it is a second carry chain after
the primary carry chain.
<
> (if so i don't mind that 5%-6% but others might, and i am designing
> an ISA that is general-purpose rather than academic, so
> i am taking the 5-6% seriously)
<
So, make integer stuff 1 cycle and saturating stuff 2-cycles by
"pipelining away" the added latency.
>
> i guess it is. where Condition-Codes are simply additional output,
> if we may reasonably say that "If Carry-Out that means saturate",
> then saturation *changes* the output based on what Carry-out is
> set to.
>
> as one of the inputs to the 3-way Mux.
>
> hmmm...
<
See, now you are getting it; grasshopper.
>
> this probably goes a long way towards explaining why Power ISA
> cores do not get ramped up to the same 4.8 ghz that everyone
> else aims for. instead the max clock rate is around 3.0 ghz even
> in 7 nm but IBM make up for it by doing massive-wide issue and
> doing I/O bandwidth far in excess of x86.
>
> l.

Re: Encoding saturating arithmetic

<u45f21$a523$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=32275&group=comp.arch#32275

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: m.delete@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: Encoding saturating arithmetic
Date: Thu, 18 May 2023 17:08:49 +0200
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <u45f21$a523$1@dont-email.me>
References: <tl4k53$3f0sn$1@newsreader4.netcologne.de>
<tl7koa$2tnu8$1@dont-email.me> <jtpulcFdnn5U1@mid.individual.net>
<ZE6eL.6208$8875.499@fx13.iad> <2022Nov19.180146@mips.complang.tuwien.ac.at>
<cg9eL.65$zBQ2.17@fx40.iad> <2022Nov20.142035@mips.complang.tuwien.ac.at>
<aaQeL.22648$cVTf.10421@fx16.iad>
<63268483-e7d8-40ff-ac88-f2fa8b469853n@googlegroups.com>
<456fL.20570$ft35.6714@fx12.iad>
<ecf2b45a-d732-4b70-97e3-916d7cd1fc9dn@googlegroups.com>
<1149e18b-3df4-4dad-ad7e-73a4945586acn@googlegroups.com>
<e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 May 2023 15:08:49 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="299569eec61287a2813cc72eb0614622";
logging-data="332867"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18i73fsSMY7YDOB9KyOAfdvhdjHCJY4KyA="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.11.0
Cancel-Lock: sha1:5nVFANErdRxwOa/lvAKnFMm7SdM=
Content-Language: en-US
In-Reply-To: <e156aa9b-fa2d-44ec-9b4a-a898cabb727bn@googlegroups.com>
 by: Marcus - Thu, 18 May 2023 15:08 UTC

On 2023-05-14, MitchAlsup wrote:
> On Sunday, May 14, 2023 at 12:45:22 PM UTC-5, luke.l...@gmail.com wrote:
>> On Tuesday, November 22, 2022 at 5:36:11 PM UTC, MitchAlsup wrote:
>>
>>> Something the readers should be aware of:: Saturation makes the
>>> arithmetic slower (by about 2 gates) because adders are set up to
>>> wrap. Saturation requires the detection of wrap (easy enough) and
>>> then the output of the adder basically has to go through a 3-way
>>> multiplexer that chooses from {lbound, result, ubound}. So, you may
>>> have just made your frequency lower by 5%-6%.
> <
>> what about passing that to the next stage (after the add,
>> just before write-to-regfile)? a post-analysis was what i
>> was planning in the implementation of SVP64: pass enough
>> from an *unmodified* pipeline to an augmented CCode step.
> <
> If you pass the saturation off until the cycle after addition, you cannot
> use the result in the subsequent cycle--but only in the subsequent
> subsequent cycle (latency = 2).

I reckon that most uses of saturating arithmetic is in data processing,
where latency is not as much of an issue (there are usually plenty of
other parallelization opportunities - e.g. multiple concurrent data
chains).

In my implementation I have assumed that saturating arithmetic incur an
extra cycle of latency.

>>
>> given that Power ISA already has CCs (EQ,LT,GT) and Carry-in
>> and Carry-out i am not feeling it to be unreasonable.
>>
>> l.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor