Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"Being against torture ought to be sort of a bipartisan thing." -- Karl Lehenbauer


devel / comp.arch / Re: Memory encryption (was: Spectre)

SubjectAuthor
* Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?BGB
|`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?David Brown
| +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?BGB
| `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
|  `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
|`- Re: Why separate 32-bit arithmetic on a 64-bit architecture?BGB
+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
|`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Marcus
| +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Marcus
| `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?EricP
|+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
||`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
|| `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?EricP
||  `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
||   `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||    +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Terje Mathisen
||    |`* The cost of gradual underflow (was: Why separate 32-bit arithmetic on a 64-bit aStefan Monnier
||    | `- Re: The cost of gradual underflowTerje Mathisen
||    +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||    `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?antispam
||     +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Terje Mathisen
||     |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Terje Mathisen
||     | |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | | +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | | |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | | | `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | | |  `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | | |   +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | | |   `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
||     | | `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Terje Mathisen
||     | |  `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | |   `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | |    `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | |     `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | |      `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | |       `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     | |        `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     | |         +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
||     | |         |+- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     | |         |`- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     | |         `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Terje Mathisen
||     | `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  |+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||`- Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  |+* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  ||`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  || `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  ||  `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  ||   |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Thomas Koenig
||     |  ||   | `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     |  ||   |  +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
||     |  ||   |  |+- Re: Why separate 32-bit arithmetic on a 64-bit architecture?EricP
||     |  ||   |  |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
||     |  ||   |  | `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     |  ||   |  `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |   +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     |  ||   |   +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |   |`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?George Neuner
||     |  ||   |   | `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |   `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |    +- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |    +- Spectre ane EPIC (was: Why separate 32-bit arithmetic...)Anton Ertl
||     |  ||   |    +* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     |  ||   |    |`* Spectre (was: Why separate 32-bit arithmetic ...)Anton Ertl
||     |  ||   |    | +* Re: Spectre (was: Why separate 32-bit arithmetic ...)Michael S
||     |  ||   |    | |+* Re: SpectreEricP
||     |  ||   |    | ||+* Re: SpectreMitchAlsup
||     |  ||   |    | |||`* Re: SpectreEricP
||     |  ||   |    | ||| `- Re: SpectreMitchAlsup
||     |  ||   |    | ||`- Re: SpectreAnton Ertl
||     |  ||   |    | |`* Re: Spectre (was: Why separate 32-bit arithmetic ...)Anton Ertl
||     |  ||   |    | | +* Re: Spectre (was: Why separate 32-bit arithmetic ...)MitchAlsup
||     |  ||   |    | | |`- Re: Spectre (was: Why separate 32-bit arithmetic ...)Thomas Koenig
||     |  ||   |    | | `- Re: Spectre (was: Why separate 32-bit arithmetic ...)Anton Ertl
||     |  ||   |    | +* Re: SpectreEricP
||     |  ||   |    | |`* Re: SpectreAnton Ertl
||     |  ||   |    | | +* Memory encryption (was: Spectre)Thomas Koenig
||     |  ||   |    | | |`* Re: Memory encryption (was: Spectre)Anton Ertl
||     |  ||   |    | | | `* Re: Memory encryption (was: Spectre)Elijah Stone
||     |  ||   |    | | |  +- Re: Memory encryption (was: Spectre)Michael S
||     |  ||   |    | | |  `* Re: Memory encryption (was: Spectre)Anton Ertl
||     |  ||   |    | | |   +- Re: Memory encryption (was: Spectre)MitchAlsup
||     |  ||   |    | | |   `* Re: Memory encryption (was: Spectre)Thomas Koenig
||     |  ||   |    | | |    `- Re: Memory encryption (was: Spectre)Anton Ertl
||     |  ||   |    | | `* Re: SpectreTerje Mathisen
||     |  ||   |    | |  `* Re: SpectreThomas Koenig
||     |  ||   |    | |   +* Re: SpectreAnton Ertl
||     |  ||   |    | |   |`* Re: SpectreThomas Koenig
||     |  ||   |    | |   | +- Re: SpectreAnton Ertl
||     |  ||   |    | |   | `- Re: SpectreMichael S
||     |  ||   |    | |   `- Re: SpectreMitchAlsup
||     |  ||   |    | `* Re: Spectre (was: Why separate 32-bit arithmetic ...)MitchAlsup
||     |  ||   |    |  `- Re: Spectre (was: Why separate 32-bit arithmetic ...)Anton Ertl
||     |  ||   |    `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   |     `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc
||     |  ||   `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
||     |  |+- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Bill Findlay
||     |  |`* Re: Imprecision, was Why separate 32-bit arithmetic on a 64-bit architecture?John Levine
||     |  `- Re: Why separate 32-bit arithmetic on a 64-bit architecture?Michael S
||     `* Re: Why separate 32-bit arithmetic on a 64-bit architecture?MitchAlsup
|`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Anton Ertl
`* Re: Why separate 32-bit arithmetic on a 64-bit architecture?Quadibloc

Pages:1234567
Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<4a5ecd08-3c3c-408d-93b6-75b60096f1e8n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:1c3:: with SMTP id t3mr21286747qtw.564.1643219108256;
Wed, 26 Jan 2022 09:45:08 -0800 (PST)
X-Received: by 2002:a05:6830:43a6:: with SMTP id s38mr3776otv.94.1643219107959;
Wed, 26 Jan 2022 09:45:07 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!3.eu.feeder.erje.net!feeder.erje.net!border1.nntp.dca1.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: Wed, 26 Jan 2022 09:45:07 -0800 (PST)
In-Reply-To: <0cf5023d-3458-46d2-ad3d-fa0e6ecb18dfn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<ssplm7$1sv$1@newsreader4.netcologne.de> <sspnd8$3d6$1@newsreader4.netcologne.de>
<tJZHJ.10626$8Q.353@fx19.iad> <ssqrr7$ptr$1@newsreader4.netcologne.de> <0cf5023d-3458-46d2-ad3d-fa0e6ecb18dfn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4a5ecd08-3c3c-408d-93b6-75b60096f1e8n@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 26 Jan 2022 17:45:08 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 69
 by: MitchAlsup - Wed, 26 Jan 2022 17:45 UTC

On Wednesday, January 26, 2022 at 2:13:21 AM UTC-6, Quadibloc wrote:
> On Wednesday, January 26, 2022 at 12:05:13 AM UTC-7, Thomas Koenig wrote:
>
> > I especially like the sentence
> >
> > DEC’s main advocate on the IEEE p754 Committee was a Mathematician
> > and Numerical Analyst Dr. Mary H. Payne. She was experienced,
> > fully competent,
> >
> > and misled by DEC’s hardware engineers
> >
> > when they assured her that Gradual Underflow was unimplementable
> > as the default (no trap) of any computer arithmetic aspiring to
> > high performance.
<
> That is true, but, although I may be mistaken, it appeared to me that
> while one certainly _could_ have a high-performance floating-point
> implementation which fully supported IEEE 754 gradual underflow,
<
The amount of logic to "deal with" gradual underflow from a calculation
is on the order of a decoder and an vector of OR gates*. The decoder works
off the intermediate exponent and inserts a synthetic bit in the intermediate
result sent into the normalizer. This prevents over-normalization--if a result
is going to gradual underflow, stop shifting when the resulting exponent
will be zero.
{decoder of 11-bits is an AND gate on the upper 5-bits (can't be a denorm)
and a insert position decoder on the lower 6-bits (64+ln4(64) = 67) plus
the bit inserter 64-gates} that starts running immediately after the
intermediate exponent has been calculated (even before the fraction
field has begun to resolve) so it adds no delay.}
<
The amount of logic to deal with gradual underflow of operands is a decoder
that looks at the exponent and does not insert the hidden-bit. This is simply
an 11-bit in 1-bit out AND gate. 4 total gates per operand.
<
Total amount of delay added to the calculation: 1 gate of delay.
<
In this day an age, with what we know about 754 there is no particular
reason to treat denorms as "difficult".
<
>
> one would have to do it by representing floating-point numbers in an
> "internal form" when they're in registers, like the way the 8087 did it,
> where the internal form was like an old-style plain floating-point format,
> but with a range larger than the architectural floating-point format, so
> that it covered all the gradual underflow territory.
>
> And, of course, if you do it that way, you can't properly and accurately
> trap when a register-to-register calculation underflows, because that isn't
> easily visible any longer. Instead, you find out when you store the result
> in memory.
>
> So if you _exclude_ the idea of doing calculations on an internal form
> of numbers, because it's problematic, then indeed gradual underflow will
> obstruct high performance.
>
> John Savard

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sss30f$io0$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 18:13:35 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sss30f$io0$1@newsreader4.netcologne.de>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<5NdIJ.15873$mS1.13257@fx10.iad>
Injection-Date: Wed, 26 Jan 2022 18:13:35 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:b65:0:7285:c2ff:fe6c:992d";
logging-data="19200"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 26 Jan 2022 18:13 UTC

EricP <ThatWouldBeTelling@thevillage.com> schrieb:
> Anton Ertl wrote:
>> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>> Alpha didn't have SEXT/ZEXT sign/zero extend instructions
>>> so it would have required a pair of shifts.
>>
>> Alpha uses addl for sign extension and some zap instruction for zero
>> extension. If they had not added addl, they could have added an sext
>> instruction instead.
>
> There were lots of instructions they could have had, but they seemed
> almost obsessive that the R in RISC means reduced instruction _count_.
>
> They left out the byte and word load and stores, supposedly because
> that would require the byte shifter network on the critical path.

Alpha also had the highest frequencies at the time. This sort of
decision might have been taken to reduce gate delays.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<16cde84938b68340$4$644821$6d54c64@news.newsdemon.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Newsgroups: comp.arch
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
From: inva...@invalid.invalid (Nemo)
Date: Wed, 26 Jan 2022 14:20:39 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.13.0
MIME-Version: 1.0
In-Reply-To: <2022Jan25.235313@mips.complang.tuwien.ac.at>
Content-Type: text/plain; charset=windows-1252; format=flowed
Content-Language: en-CA
Content-Transfer-Encoding: 7bit
Lines: 21
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!news.newsdemon.com!not-for-mail
NNTP-Posting-Date: Wed, 26 Jan 2022 19:20:40 +0000
X-Received-Bytes: 1255
Organization: NewsDemon - www.newsdemon.com
X-Complaints-To: abuse@newsdemon.com
Message-ID: <16cde84938b68340$4$644821$6d54c64@news.newsdemon.com>
 by: Nemo - Wed, 26 Jan 2022 19:20 UTC

On 2022-01-25 17:53, Anton Ertl wrote (in part):
> EricP <ThatWouldBeTelling@thevillage.com> writes (in part):
>> MIPS probably faced similar situation going from MIPS32 to MIPS64.
>
> MIPS already had a 32-bit software base, and AFAIK wanted (and
> succeeded) in having a modeless extension to 64 bits.

UNIX distributions, and resulting software, were based on ILP32.
Manufacturers that expanded to 64 bits (such as MIPS, SPARC, and others)
needed to support the existing base.

There was a paper on the X/Open website that explained this but I am
unable to find it since they became Opengroup.

N.

>
> - anton
>

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<3a90c85b-1371-481b-bf81-574e3c0af68en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:1394:: with SMTP id k20mr279630qki.689.1643227982392;
Wed, 26 Jan 2022 12:13:02 -0800 (PST)
X-Received: by 2002:a4a:a408:: with SMTP id v8mr342091ool.93.1643227982043;
Wed, 26 Jan 2022 12:13:02 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 12:13:01 -0800 (PST)
In-Reply-To: <sss30f$io0$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <5NdIJ.15873$mS1.13257@fx10.iad>
<sss30f$io0$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3a90c85b-1371-481b-bf81-574e3c0af68en@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 26 Jan 2022 20:13:02 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 47
 by: MitchAlsup - Wed, 26 Jan 2022 20:13 UTC

On Wednesday, January 26, 2022 at 12:13:38 PM UTC-6, Thomas Koenig wrote:
> EricP <ThatWould...@thevillage.com> schrieb:
> > Anton Ertl wrote:
> >> EricP <ThatWould...@thevillage.com> writes:
> >>> Alpha didn't have SEXT/ZEXT sign/zero extend instructions
> >>> so it would have required a pair of shifts.
> >>
> >> Alpha uses addl for sign extension and some zap instruction for zero
> >> extension. If they had not added addl, they could have added an sext
> >> instruction instead.
> >
> > There were lots of instructions they could have had, but they seemed
> > almost obsessive that the R in RISC means reduced instruction _count_.
> >
> > They left out the byte and word load and stores, supposedly because
> > that would require the byte shifter network on the critical path.
<
> Alpha also had the highest frequencies at the time. This sort of
> decision might have been taken to reduce gate delays.
<
Squeezing DCache access into 2 cycles, Requiring tiny L1s.
<
Now, fast GBOoO machines have allowed Load latency to slip on out to 4
cycles as available technology only allows for SRAM macros that take
1 entire cycle from address (registered at the rising edge of clock) to
data (not visible until after the rising edge of the subsequent clock.
<
A long time ago we could get from address in to data out in ½ cycle. And
by making use of the fact that the lower address bits resolved before
the higher address bits, these lower bits could be routed to the SRAMs
while the higher bits resolved. Along with the ½ cycle SRAMs meant
that 2 cycle LDs were feasible. Alpha, pushing frequency, dropped the
2 gate-delay alignment shifter to fit LDs into 2 cycles. MIPS, not pushing
frequency as hard, got the aligner to fit. In both cases, Alpha and MIPS
performed hit detection while used the forwarded data.
<
Now, with Meltdown and Spectré, and with SRAMs no faster than "a bit
more than" 1 full cycle, and with wire delay a lot harder, and the need
for non-tiny L1 caches, designers cannot make the LD latency less than
3-cycles, and if we push frequency, these invariably become 4-cycles.
3-cycles is enough that you know at forwarding time if the LD is got a
hit--so you are not flying blind with data--the exact exploit meltdown
and Spectré abuse.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sssb8h$qm2$1@gal.iecc.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: joh...@taugh.com (John Levine)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 20:34:25 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <sssb8h$qm2$1@gal.iecc.com>
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
Injection-Date: Wed, 26 Jan 2022 20:34:25 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970";
logging-data="27330"; mail-complaints-to="abuse@iecc.com"
In-Reply-To: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: johnl@iecc.com (John Levine)
 by: John Levine - Wed, 26 Jan 2022 20:34 UTC

According to Anton Ertl <anton@mips.complang.tuwien.ac.at>:
>MIPS already had a 32-bit software base, and AFAIK wanted (and
>succeeded) in having a modeless extension to 64 bits. Which makes
>RISC-V's moded approach quite surprising.

Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
I can see why RISC-V might have looked at them and said, naaah.

Software ends up being modal in practice since you still need glue code if
you want to call a 32-bit routine from code that is using 64 bit addresses.

--
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:5be8:: with SMTP id k8mr712683qvc.118.1643229560660;
Wed, 26 Jan 2022 12:39:20 -0800 (PST)
X-Received: by 2002:aca:3fc3:: with SMTP id m186mr203167oia.309.1643229560332;
Wed, 26 Jan 2022 12:39:20 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 12:39:20 -0800 (PST)
In-Reply-To: <sssb8h$qm2$1@gal.iecc.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 26 Jan 2022 20:39:20 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 26
 by: MitchAlsup - Wed, 26 Jan 2022 20:39 UTC

On Wednesday, January 26, 2022 at 2:34:28 PM UTC-6, John Levine wrote:
> According to Anton Ertl <an...@mips.complang.tuwien.ac.at>:
> >MIPS already had a 32-bit software base, and AFAIK wanted (and
> >succeeded) in having a modeless extension to 64 bits. Which makes
> >RISC-V's moded approach quite surprising.
> Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
> I can see why RISC-V might have looked at them and said, naaah.
>
> Software ends up being modal in practice since you still need glue code if
> you want to call a 32-bit routine from code that is using 64 bit addresses.
<
These are the expected outcomes when technology arrives at just the wrong
moment in time. Had Mc 88K been designed when 1μ was available instead
of 1.5μ, the 88K would have been 64-bit from the get-go. Yet the design world
was abuzz with RISC from just after the first tape-out capabilities of 2μ. This
timing is what lead to I32LP64 problems.
>
> --
> Regards,
> John Levine, jo...@taugh.com, Primary Perpetrator of "The Internet for Dummies",
> Please consider the environment before reading this e-mail. https://jl.ly

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sssbj2$qm2$2@gal.iecc.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!rocksolid2!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: joh...@taugh.com (John Levine)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 20:40:02 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <sssbj2$qm2$2@gal.iecc.com>
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <16cde84938b68340$4$644821$6d54c64@news.newsdemon.com>
Injection-Date: Wed, 26 Jan 2022 20:40:02 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970";
logging-data="27330"; mail-complaints-to="abuse@iecc.com"
In-Reply-To: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <16cde84938b68340$4$644821$6d54c64@news.newsdemon.com>
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: johnl@iecc.com (John Levine)
 by: John Levine - Wed, 26 Jan 2022 20:40 UTC

According to Nemo <invalid@invalid.invalid>:
>On 2022-01-25 17:53, Anton Ertl wrote (in part):
>> EricP <ThatWouldBeTelling@thevillage.com> writes (in part):
>>> MIPS probably faced similar situation going from MIPS32 to MIPS64.
>>
>> MIPS already had a 32-bit software base, and AFAIK wanted (and
>> succeeded) in having a modeless extension to 64 bits.
>
>UNIX distributions, and resulting software, were based on ILP32.
>Manufacturers that expanded to 64 bits (such as MIPS, SPARC, and others)
>needed to support the existing base.

They still do. You can run 32 bit linux and BSD code on 64 bit i86 systems.
They have 32 bit versions of the libraries that the 32 bit programs need
and the O/S supports both the 32 and 64 bit modes. It is a minor pain
but not as much as you might think.

--
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sssdjr$p6n$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 21:14:35 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sssdjr$p6n$1@newsreader4.netcologne.de>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 26 Jan 2022 21:14:35 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:b65:0:7285:c2ff:fe6c:992d";
logging-data="25815"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 26 Jan 2022 21:14 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Wednesday, January 26, 2022 at 2:34:28 PM UTC-6, John Levine wrote:
>> According to Anton Ertl <an...@mips.complang.tuwien.ac.at>:
>> >MIPS already had a 32-bit software base, and AFAIK wanted (and
>> >succeeded) in having a modeless extension to 64 bits. Which makes
>> >RISC-V's moded approach quite surprising.
>> Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
>> I can see why RISC-V might have looked at them and said, naaah.
>>
>> Software ends up being modal in practice since you still need glue code if
>> you want to call a 32-bit routine from code that is using 64 bit addresses.
><
> These are the expected outcomes when technology arrives at just the wrong
> moment in time. Had Mc 88K been designed when 1μ was available instead
> of 1.5μ, the 88K would have been 64-bit from the get-go. Yet the design world
> was abuzz with RISC from just after the first tape-out capabilities of 2μ. This
> timing is what lead to I32LP64 problems.

If a program is small enough to easily fit into a 32-bit address
space, there is often no advantage to using 64 bit pointers,
they use more memory and cache.

SPARC defaults to 32 bit-mode even on processors which have
64 bit registers, AFAIK for this reason (Jörg Schilling argued
this on de.comp.lang.c shortly before his untimely death).

There are a few applications where 64 bit data makes sense,
crypto being among them.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:45a8:: with SMTP id bp40mr655845qkb.48.1643233279265;
Wed, 26 Jan 2022 13:41:19 -0800 (PST)
X-Received: by 2002:aca:acce:: with SMTP id v197mr386957oie.272.1643233278952;
Wed, 26 Jan 2022 13:41:18 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 13:41:18 -0800 (PST)
In-Reply-To: <sssdjr$p6n$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com> <sssdjr$p6n$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 26 Jan 2022 21:41:19 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 56
 by: MitchAlsup - Wed, 26 Jan 2022 21:41 UTC

On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
> MitchAlsup <Mitch...@aol.com> schrieb:
> > On Wednesday, January 26, 2022 at 2:34:28 PM UTC-6, John Levine wrote:
> >> According to Anton Ertl <an...@mips.complang.tuwien.ac.at>:
> >> >MIPS already had a 32-bit software base, and AFAIK wanted (and
> >> >succeeded) in having a modeless extension to 64 bits. Which makes
> >> >RISC-V's moded approach quite surprising.
> >> Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
> >> I can see why RISC-V might have looked at them and said, naaah.
> >>
> >> Software ends up being modal in practice since you still need glue code if
> >> you want to call a 32-bit routine from code that is using 64 bit addresses.
> ><
> > These are the expected outcomes when technology arrives at just the wrong
> > moment in time. Had Mc 88K been designed when 1μ was available instead
> > of 1.5μ, the 88K would have been 64-bit from the get-go. Yet the design world
> > was abuzz with RISC from just after the first tape-out capabilities of 2μ. This
> > timing is what lead to I32LP64 problems.
<
> If a program is small enough to easily fit into a 32-bit address
> space, there is often no advantage to using 64 bit pointers,
> they use more memory and cache.
<
Having an application that can fit into a 32-bit memory model is a compiler
thing, not a requirement on HW. For example, a purely 64-bit machine like
My 66000 can leave pointers as 32-bits in memory should that be a reasonable
choice for that piece of SW. The SW ensemble just needs to arrange all of
the memory be addressable in 32-bits {stack, heap, code, data, bss, and library
load points.} The compiled code is then free to use 32-bit containers for pointers
and still use the std ABI.
<
>
> SPARC defaults to 32 bit-mode even on processors which have
> 64 bit registers, AFAIK for this reason (Jörg Schilling argued
> this on de.comp.lang.c shortly before his untimely death).
<
SPARC had modes, any RISC-done-Right® would not.
>
> There are a few applications where 64 bit data makes sense,
> crypto being among them.
<
data base,
galaxy modeling,
Quantum [electro,chroma]dynamics simulations
And strangely NOT
3D Navier-Stokes CFD

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sssg6u$ftb$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 13:58:54 -0800
Organization: A noiseless patient Spider
Lines: 37
Message-ID: <sssg6u$ftb$1@dont-email.me>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 26 Jan 2022 21:58:55 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="cd57e7c70d5a7bb44bf64aeacecac6e7";
logging-data="16299"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+WBToVz9BAUvx9nZHBVPGT"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.5.0
Cancel-Lock: sha1:vybHzz3np/YLv4rUUajuh1hfgBk=
In-Reply-To: <9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Wed, 26 Jan 2022 21:58 UTC

On 1/26/2022 1:41 PM, MitchAlsup wrote:
> On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
>> MitchAlsup <Mitch...@aol.com> schrieb:
>>> On Wednesday, January 26, 2022 at 2:34:28 PM UTC-6, John Levine wrote:
>>>> According to Anton Ertl <an...@mips.complang.tuwien.ac.at>:
>>>>> MIPS already had a 32-bit software base, and AFAIK wanted (and
>>>>> succeeded) in having a modeless extension to 64 bits. Which makes
>>>>> RISC-V's moded approach quite surprising.
>>>> Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
>>>> I can see why RISC-V might have looked at them and said, naaah.
>>>>
>>>> Software ends up being modal in practice since you still need glue code if
>>>> you want to call a 32-bit routine from code that is using 64 bit addresses.
>>> <
>>> These are the expected outcomes when technology arrives at just the wrong
>>> moment in time. Had Mc 88K been designed when 1μ was available instead
>>> of 1.5μ, the 88K would have been 64-bit from the get-go. Yet the design world
>>> was abuzz with RISC from just after the first tape-out capabilities of 2μ. This
>>> timing is what lead to I32LP64 problems.
> <
>> If a program is small enough to easily fit into a 32-bit address
>> space, there is often no advantage to using 64 bit pointers,
>> they use more memory and cache.
> <
> Having an application that can fit into a 32-bit memory model is a compiler
> thing, not a requirement on HW. For example, a purely 64-bit machine like
> My 66000 can leave pointers as 32-bits in memory should that be a reasonable
> choice for that piece of SW. The SW ensemble just needs to arrange all of
> the memory be addressable in 32-bits {stack, heap, code, data, bss, and library
> load points.} The compiled code is then free to use 32-bit containers for pointers
> and still use the std ABI.

We're I32LP64, and can't use your trick due to having a shared SAS,
which would overflow 32 bits. But as a compiler guy, I really wouldn't
like to have to use 32-bit pointers on a 64-bit address space - too much
nuisance with extending, and libraries, and software assumptions.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<36a115da-2701-4476-ad0f-29ba05767fa9n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:594b:: with SMTP id 11mr614228qtz.463.1643235238813;
Wed, 26 Jan 2022 14:13:58 -0800 (PST)
X-Received: by 2002:a4a:e20a:: with SMTP id b10mr568361oot.5.1643235238445;
Wed, 26 Jan 2022 14:13:58 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 14:13:58 -0800 (PST)
In-Reply-To: <sssg6u$ftb$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com> <sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com> <sssg6u$ftb$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <36a115da-2701-4476-ad0f-29ba05767fa9n@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Wed, 26 Jan 2022 22:13:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 57
 by: MitchAlsup - Wed, 26 Jan 2022 22:13 UTC

On Wednesday, January 26, 2022 at 3:58:57 PM UTC-6, Ivan Godard wrote:
> On 1/26/2022 1:41 PM, MitchAlsup wrote:
> > On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
> >> MitchAlsup <Mitch...@aol.com> schrieb:
> >>> On Wednesday, January 26, 2022 at 2:34:28 PM UTC-6, John Levine wrote:
> >>>> According to Anton Ertl <an...@mips.complang.tuwien.ac.at>:
> >>>>> MIPS already had a 32-bit software base, and AFAIK wanted (and
> >>>>> succeeded) in having a modeless extension to 64 bits. Which makes
> >>>>> RISC-V's moded approach quite surprising.
> >>>> Having seen a few modeless extensions to larger word sizes (remember Soul of a New Machine?)
> >>>> I can see why RISC-V might have looked at them and said, naaah.
> >>>>
> >>>> Software ends up being modal in practice since you still need glue code if
> >>>> you want to call a 32-bit routine from code that is using 64 bit addresses.
> >>> <
> >>> These are the expected outcomes when technology arrives at just the wrong
> >>> moment in time. Had Mc 88K been designed when 1μ was available instead
> >>> of 1.5μ, the 88K would have been 64-bit from the get-go. Yet the design world
> >>> was abuzz with RISC from just after the first tape-out capabilities of 2μ. This
> >>> timing is what lead to I32LP64 problems.
> > <
> >> If a program is small enough to easily fit into a 32-bit address
> >> space, there is often no advantage to using 64 bit pointers,
> >> they use more memory and cache.
> > <
> > Having an application that can fit into a 32-bit memory model is a compiler
> > thing, not a requirement on HW. For example, a purely 64-bit machine like
> > My 66000 can leave pointers as 32-bits in memory should that be a reasonable
> > choice for that piece of SW. The SW ensemble just needs to arrange all of
> > the memory be addressable in 32-bits {stack, heap, code, data, bss, and library
> > load points.} The compiled code is then free to use 32-bit containers for pointers
> > and still use the std ABI.
<
> We're I32LP64, and can't use your trick due to having a shared SAS,
> which would overflow 32 bits. But as a compiler guy, I really wouldn't
> like to have to use 32-bit pointers on a 64-bit address space - too much
> nuisance with extending, and libraries, and software assumptions.
<
Yes, SAS creates its own issues.
<
But this verifies that "its a SW problem".

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<ssshan$t4o$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 22:17:59 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <ssshan$t4o$1@newsreader4.netcologne.de>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
Injection-Date: Wed, 26 Jan 2022 22:17:59 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:b65:0:7285:c2ff:fe6c:992d";
logging-data="29848"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Wed, 26 Jan 2022 22:17 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:

>> There are a few applications where 64 bit data makes sense,
>> crypto being among them.
><
> data base,
> galaxy modeling,
> Quantum [electro,chroma]dynamics simulations
> And strangely NOT
> 3D Navier-Stokes CFD

I was talking about integer only :-)

32-bit floating point is woefully inadequate for what passes for
large-scale CFD these days.

32bit pointers in a 64bit ISA (was: Why separate 32-bit arithmetic on a 64-bit architecture?)

<jwvh79q9k3r.fsf-monnier+comp.arch@gnu.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: 32bit pointers in a 64bit ISA (was: Why separate 32-bit arithmetic on a 64-bit architecture?)
Date: Wed, 26 Jan 2022 18:07:35 -0500
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <jwvh79q9k3r.fsf-monnier+comp.arch@gnu.org>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
<sssg6u$ftb$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="69f665033b1d43bb6086f2a69fc141e4";
logging-data="17477"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18jOXPvRsZYsuxM38EInlbj"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
Cancel-Lock: sha1:HlDJe+H7fPtYW0txOUGcmoGvPSE=
sha1:wUl9BkALes36tJv1Rk7NNlD9+wM=
 by: Stefan Monnier - Wed, 26 Jan 2022 23:07 UTC

> We're I32LP64, and can't use your trick due to having a shared SAS, which
> would overflow 32 bits. But as a compiler guy, I really wouldn't like to
> have to use 32-bit pointers on a 64-bit address space - too much nuisance
> with extending, and libraries, and software assumptions.

It can be a PITA, indeed. But it's probably OK in the case where your
machine is small enough that you can limit the total virtual memory
to 32bit.

Of course, if you want to play games like Mill's stacklets and its
fork-trick, which eat up into the bits of your address space, then
32bits-total will probably translate to less than 1GB of virtual memory.
Whether there are still systems in this corner of the world to justify
such a development, I don't know (seems unlikely: those applications
are probably not pointer heavy and would thus work just as well with
64bit pointers).

Stefan

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<sssnak$s4l$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Wed, 26 Jan 2022 16:00:22 -0800
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <sssnak$s4l$1@dont-email.me>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
<ssshan$t4o$1@newsreader4.netcologne.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 27 Jan 2022 00:00:20 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="5eba3a068417600d975b3f62a6b3aba5";
logging-data="28821"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19BUVo8UbAJyjDIJCi3xaPA"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.5.0
Cancel-Lock: sha1:Iui7BZK+jDTj6SRQhHpfMGYLx2g=
In-Reply-To: <ssshan$t4o$1@newsreader4.netcologne.de>
Content-Language: en-US
 by: Ivan Godard - Thu, 27 Jan 2022 00:00 UTC

On 1/26/2022 2:17 PM, Thomas Koenig wrote:
> MitchAlsup <MitchAlsup@aol.com> schrieb:
>> On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
>
>>> There are a few applications where 64 bit data makes sense,
>>> crypto being among them.
>> <
>> data base,
>> galaxy modeling,
>> Quantum [electro,chroma]dynamics simulations
>> And strangely NOT
>> 3D Navier-Stokes CFD
>
> I was talking about integer only :-)
>
> 32-bit floating point is woefully inadequate for what passes for
> large-scale CFD these days.

FP seems to migrate in both directions these days: more precise physical
quantities, and less precise mesh weights.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<b6994ded-1be8-4f30-b8d3-15a44422fdcbn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:7f02:: with SMTP id f2mr1100520qtk.601.1643246026290;
Wed, 26 Jan 2022 17:13:46 -0800 (PST)
X-Received: by 2002:a05:6808:689:: with SMTP id k9mr805053oig.281.1643246025984;
Wed, 26 Jan 2022 17:13:45 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 17:13:45 -0800 (PST)
In-Reply-To: <ssshan$t4o$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com> <sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com> <ssshan$t4o$1@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b6994ded-1be8-4f30-b8d3-15a44422fdcbn@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 27 Jan 2022 01:13:46 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 21
 by: MitchAlsup - Thu, 27 Jan 2022 01:13 UTC

On Wednesday, January 26, 2022 at 4:18:01 PM UTC-6, Thomas Koenig wrote:
> MitchAlsup <Mitch...@aol.com> schrieb:
> > On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
>
> >> There are a few applications where 64 bit data makes sense,
> >> crypto being among them.
> ><
> > data base,
> > galaxy modeling,
> > Quantum [electro,chroma]dynamics simulations
> > And strangely NOT
> > 3D Navier-Stokes CFD
> I was talking about integer only :-)
>
> 32-bit floating point is woefully inadequate for what passes for
> large-scale CFD these days.
<
I guess you missed my subtle point::
<
When the dataset being crunched in CFD becomes bigger than is easily
supported in 32-bit address space, the CPU time has already become longer
then the expected lifetime of the system doing the calculations.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<ssst1s$pk9$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ggt...@yahoo.com (Brett)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Thu, 27 Jan 2022 01:38:04 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <ssst1s$pk9$1@dont-email.me>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at>
<5NdIJ.15873$mS1.13257@fx10.iad>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 27 Jan 2022 01:38:04 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="32aff9adcac67beece3a0e45d70d9b1b";
logging-data="26249"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19uz+gIpGx+V8t6a2DZRE/i"
User-Agent: NewsTap/5.5 (iPad)
Cancel-Lock: sha1:tlgGt5m6jylhz3GLQODna7mvvyc=
sha1:ls+pgugmWN30Ulc3u+ZwdN7T9vQ=
 by: Brett - Thu, 27 Jan 2022 01:38 UTC

EricP <ThatWouldBeTelling@thevillage.com> wrote:
> Anton Ertl wrote:
>> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>> Alpha didn't have SEXT/ZEXT sign/zero extend instructions
>>> so it would have required a pair of shifts.
>>
>> Alpha uses addl for sign extension and some zap instruction for zero
>> extension. If they had not added addl, they could have added an sext
>> instruction instead.
>
> There were lots of instructions they could have had, but they seemed
> almost obsessive that the R in RISC means reduced instruction _count_.
>
> They left out the byte and word load and stores, supposedly because
> that would require the byte shifter network on the critical path.
> I think that was a disastrous decision that contributed greatly
> to porting difficulties and lack of wide market acceptance.
> Once it established in peoples minds that it is difficult to work with
> or more trouble than its worth, it is tough to come back from.
> In effect, they created a market barrier to themselves.
>
> And when they finally did add byte and word load and store,
> load byte and word only did zero extend not sign extend
> supposedly because they did not want to put the sign extension
> logic into the load critical path. But still, WTF!

Loads are so variable that they should have bit the bullet and supported 2
cycle signed loads in addition to 1 cycle unsigned loads. RISC religion
stupidity.

> Anyway, SEXT and ZEXT to sign or zero extend a register from
> a bit position would not have affected the cycle time.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<c7537b99-c3f7-45ad-a40f-2c38904b2a4cn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:128c:: with SMTP id w12mr1229476qki.464.1643249070697;
Wed, 26 Jan 2022 18:04:30 -0800 (PST)
X-Received: by 2002:a05:6830:439e:: with SMTP id s30mr1016620otv.96.1643249070408;
Wed, 26 Jan 2022 18:04:30 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.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: Wed, 26 Jan 2022 18:04:30 -0800 (PST)
In-Reply-To: <ssst1s$pk9$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:241f:af35:8f67:6f7f;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:241f:af35:8f67:6f7f
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad>
<2022Jan25.235313@mips.complang.tuwien.ac.at> <5NdIJ.15873$mS1.13257@fx10.iad>
<ssst1s$pk9$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c7537b99-c3f7-45ad-a40f-2c38904b2a4cn@googlegroups.com>
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Thu, 27 Jan 2022 02:04:30 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 35
 by: MitchAlsup - Thu, 27 Jan 2022 02:04 UTC

On Wednesday, January 26, 2022 at 7:38:07 PM UTC-6, gg...@yahoo.com wrote:
> EricP <ThatWould...@thevillage.com> wrote:
> > Anton Ertl wrote:
> >> EricP <ThatWould...@thevillage.com> writes:
> >>> Alpha didn't have SEXT/ZEXT sign/zero extend instructions
> >>> so it would have required a pair of shifts.
> >>
> >> Alpha uses addl for sign extension and some zap instruction for zero
> >> extension. If they had not added addl, they could have added an sext
> >> instruction instead.
> >
> > There were lots of instructions they could have had, but they seemed
> > almost obsessive that the R in RISC means reduced instruction _count_.
> >
> > They left out the byte and word load and stores, supposedly because
> > that would require the byte shifter network on the critical path.
> > I think that was a disastrous decision that contributed greatly
> > to porting difficulties and lack of wide market acceptance.
> > Once it established in peoples minds that it is difficult to work with
> > or more trouble than its worth, it is tough to come back from.
> > In effect, they created a market barrier to themselves.
> >
> > And when they finally did add byte and word load and store,
> > load byte and word only did zero extend not sign extend
> > supposedly because they did not want to put the sign extension
> > logic into the load critical path. But still, WTF!
<
> Loads are so variable that they should have bit the bullet and supported 2
> cycle signed loads in addition to 1 cycle unsigned loads. RISC religion
> stupidity.
<
How do you do this when an ADD takes 3/4 of a cycle and an SRAM
access takes 1+1/8 cycle, and the sign extension aligner takes 3/8 cycle ?
<
> > Anyway, SEXT and ZEXT to sign or zero extend a register from
> > a bit position would not have affected the cycle time.

The cost of gradual underflow (was: Why separate 32-bit arithmetic on a 64-bit architecture?)

<jwv7dalyaju.fsf-monnier+comp.arch@gnu.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: monn...@iro.umontreal.ca (Stefan Monnier)
Newsgroups: comp.arch
Subject: The cost of gradual underflow (was: Why separate 32-bit arithmetic on a 64-bit architecture?)
Date: Thu, 27 Jan 2022 01:13:12 -0500
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <jwv7dalyaju.fsf-monnier+comp.arch@gnu.org>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <ssplm7$1sv$1@newsreader4.netcologne.de>
<sspnd8$3d6$1@newsreader4.netcologne.de> <tJZHJ.10626$8Q.353@fx19.iad>
<ssqrr7$ptr$1@newsreader4.netcologne.de>
<0cf5023d-3458-46d2-ad3d-fa0e6ecb18dfn@googlegroups.com>
<ssr9sm$c55$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="d4c7264edc9fb73bf29a0866fb49ae93";
logging-data="2997"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/GpxA7n3AxZUFB2WG8QlsX"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)
Cancel-Lock: sha1:CIv+2hudoL09Bm9l70TJP9dDKmQ=
sha1:H0URaLLQg9+3mVg1ZAY+4yGQSpo=
 by: Stefan Monnier - Thu, 27 Jan 2022 06:13 UTC

> Please go back to the several rounds where primarily Mitch and I have
> discussed how zero-cycle handling of subnormal numbers can fall out of
> having the large normalization network needed to support FMAC, which you
> need to do anyway.

IIRC, FMAC wasn't part of IEEE back in the DEC days.

Stefan

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<ssth28$gr5$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Thu, 27 Jan 2022 07:19:37 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <ssth28$gr5$1@newsreader4.netcologne.de>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
<ssshan$t4o$1@newsreader4.netcologne.de>
<b6994ded-1be8-4f30-b8d3-15a44422fdcbn@googlegroups.com>
Injection-Date: Thu, 27 Jan 2022 07:19:37 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:b65:0:7285:c2ff:fe6c:992d";
logging-data="17253"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 27 Jan 2022 07:19 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Wednesday, January 26, 2022 at 4:18:01 PM UTC-6, Thomas Koenig wrote:
>> MitchAlsup <Mitch...@aol.com> schrieb:
>> > On Wednesday, January 26, 2022 at 3:14:39 PM UTC-6, Thomas Koenig wrote:
>>
>> >> There are a few applications where 64 bit data makes sense,
>> >> crypto being among them.
>> ><
>> > data base,
>> > galaxy modeling,
>> > Quantum [electro,chroma]dynamics simulations
>> > And strangely NOT
>> > 3D Navier-Stokes CFD
>> I was talking about integer only :-)
>>
>> 32-bit floating point is woefully inadequate for what passes for
>> large-scale CFD these days.
><
> I guess you missed my subtle point::
><
> When the dataset being crunched in CFD becomes bigger than is easily
> supported in 32-bit address space, the CPU time has already become longer
> then the expected lifetime of the system doing the calculations.

Huh?

My CFD machine at work has 512 GB main memory. This may be a
bit excessive, 256 GB might have done. I have certainly have
run CFD jobs using 128 GB on occasion. (This rather high memory
requirements comes from using Finite Elements and sometimes direct
solvers, which are much more stable and use far more memory).

But even with iterative solvers and finite volume codes, 32 bits
stopped being enough for the kind industrial CFD done at the
company I worked for around 20 years ago.

These days, you will want around 8 GB per core of main memory
(rough rule of thumb) for CFD.

Re: 32bit pointers in a 64bit ISA (was: Why separate 32-bit arithmetic on a 64-bit architecture?)

<sstj0a$hoh$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: 32bit pointers in a 64bit ISA (was: Why separate 32-bit
arithmetic on a 64-bit architecture?)
Date: Thu, 27 Jan 2022 07:52:42 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <sstj0a$hoh$1@newsreader4.netcologne.de>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at>
<sssb8h$qm2$1@gal.iecc.com>
<590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com>
<sssdjr$p6n$1@newsreader4.netcologne.de>
<9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com>
<sssg6u$ftb$1@dont-email.me> <jwvh79q9k3r.fsf-monnier+comp.arch@gnu.org>
Injection-Date: Thu, 27 Jan 2022 07:52:42 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-b65-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:b65:0:7285:c2ff:fe6c:992d";
logging-data="18193"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Thu, 27 Jan 2022 07:52 UTC

Stefan Monnier <monnier@iro.umontreal.ca> schrieb:
>> We're I32LP64, and can't use your trick due to having a shared SAS, which
>> would overflow 32 bits. But as a compiler guy, I really wouldn't like to
>> have to use 32-bit pointers on a 64-bit address space - too much nuisance
>> with extending, and libraries, and software assumptions.
>
> It can be a PITA, indeed. But it's probably OK in the case where your
> machine is small enough that you can limit the total virtual memory
> to 32bit.

Linux still has the x32 ABI, and a program which has a known memory
footprint can profit from that. A lot of system utilities fall into
that category - even given the recent tendency for software bloat,
I very much doubt that "cat" will use mutiple gigabytes of memory.

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<2022Jan27.103742@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
Date: Thu, 27 Jan 2022 09:37:42 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 61
Message-ID: <2022Jan27.103742@mips.complang.tuwien.ac.at>
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <5NdIJ.15873$mS1.13257@fx10.iad> <sss30f$io0$1@newsreader4.netcologne.de> <3a90c85b-1371-481b-bf81-574e3c0af68en@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="df00b91258d925986056b62bd2d5bc82";
logging-data="22840"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+VeHAQnjALvbSnC3iLUnUz"
Cancel-Lock: sha1:Pyed1KlrgNQ2dwp6njpjHQue+eY=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Thu, 27 Jan 2022 09:37 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>On Wednesday, January 26, 2022 at 12:13:38 PM UTC-6, Thomas Koenig wrote:
>> EricP <ThatWould...@thevillage.com> schrieb:
>> > They left out the byte and word load and stores, supposedly because=20
>> > that would require the byte shifter network on the critical path.

The story I have heard is that they required ECC for write-back caches
(and parity for write-through caches); while the first implementations
had write-through D-caches, they designed the architecture for
implementations with write-back D-caches, and there byte stores would
have cost either ECC on the byte level (50% overhead compared to ~20%
for ECC on 32-bit units) or implementing stores by performing a
read-modify-write of a larger unit.

Funnily, they introduced byte stores before they introduced an
implementation with a write-back D-cache.

I guess that these days, with a relatively large write-combining store
buffer, the RMW cost is acceptable.

>> Alpha also had the highest frequencies at the time. This sort of=20
>> decision might have been taken to reduce gate delays.
><
>Squeezing DCache access into 2 cycles, Requiring tiny L1s.

The 21064 has 3 cycles of load latency, but they achieved two cycles
in the 21164. And then they added byte loads (and stores) in the
21164a without increasing the latency.

>Now, fast GBOoO machines have allowed Load latency to slip on out to 4
>cycles

Intel has been at 5 cycles load latency since Tiger Lake.

>Now, with Meltdown and Spectr=C3=A9, and with SRAMs no faster than "a bit
>more than" 1 full cycle, and with wire delay a lot harder, and the need=20
>for non-tiny L1 caches, designers cannot make the LD latency less than=20
>3-cycles, and if we push frequency, these invariably become 4-cycles.

Yes, Apple does 3 cycles at 3GHz (for IIRC a 128KB D-cache), Intel
does 5 cycles at 5GHz (for a 48KB D-cache), or 4 cycles at 5GHz for a
32KB D-cache. AFAIK ARM does 2 cycles at ~2GHz for the Cortex-A53.

>3-cycles is enough that you know at forwarding time if the LD is got a
>hit--so you are not flying blind with data--the exact exploit meltdown
>and Spectr=C3=A9 abuse.

It's Meltdown, not Spectre. Either vulnerability requires using the
result in another instruction to reveal the data through a side
channel, so you can fly blind if you cancel the followup before the
followup reveals the result through a side channel. With the Spectre
fix by not letting microarchitectural updates out of the speculative
part, canceling the followup always happens as far as
microarchitectural state is concerned; one still may want to squash
the resulting data early as defense in depth, if someone overlooked
some other side channel.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

32-bit applications (was: Why separate 32-bit arithmetic on a 64-bit architecture?)

<2022Jan27.110830@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: 32-bit applications (was: Why separate 32-bit arithmetic on a 64-bit architecture?)
Date: Thu, 27 Jan 2022 10:08:30 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 28
Message-ID: <2022Jan27.110830@mips.complang.tuwien.ac.at>
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com> <590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com> <sssdjr$p6n$1@newsreader4.netcologne.de> <9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com> <sssg6u$ftb$1@dont-email.me>
Injection-Info: reader02.eternal-september.org; posting-host="df00b91258d925986056b62bd2d5bc82";
logging-data="22840"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19+DsCb6KMad7iEbVHnWPXS"
Cancel-Lock: sha1:0GfSpp0WYAqwj/IIFrsOyE9trw4=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Thu, 27 Jan 2022 10:08 UTC

Ivan Godard <ivan@millcomputing.com> writes:
>We're I32LP64, and can't use your trick due to having a shared SAS,
>which would overflow 32 bits. But as a compiler guy, I really wouldn't
>like to have to use 32-bit pointers on a 64-bit address space - too much
>nuisance with extending, and libraries, and software assumptions.

No need to. There has been a lot of noise about how great 32-bit is
for efficiency of applications that fit into 4GB, and that has led to
the x32 ABI effort to get the real performance benefits of AMD64
(e.g., having more registers) together with the supposed performance
benefits of 32-bit stuff. But the reality is that it's so rare to see
significant benefits from 32 bits that x32 never really took off.

Ok, you might say, that's because Linux already has support for
running IA-32 (i386) binaries, so the critical mass for x32 was
missing. But nowadays Linux distributions are in the process of
dropping IA-32 support; there is still support for running old IA-32
binaries, but that's pretty much all; not really support for compiling
new binaries, so apparently nobody is keen to use the supposed 32-bit
advantage, neither with the x32 ABI, nor with i386 ABI.

So I think you don't need to worry about that for the Mill. Other
deviations from convention are more likely to become a problem.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: 32bit pointers in a 64bit ISA (was: Why separate 32-bit arithmetic on a 64-bit architecture?)

<2022Jan27.113344@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: 32bit pointers in a 64bit ISA (was: Why separate 32-bit arithmetic on a 64-bit architecture?)
Date: Thu, 27 Jan 2022 10:33:44 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 36
Distribution: world
Message-ID: <2022Jan27.113344@mips.complang.tuwien.ac.at>
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <sssb8h$qm2$1@gal.iecc.com> <590d3581-6d9a-481a-9241-bc6f29f019dcn@googlegroups.com> <sssdjr$p6n$1@newsreader4.netcologne.de> <9216b37a-91a9-40ae-8f9d-2b754b787dcan@googlegroups.com> <sssg6u$ftb$1@dont-email.me> <jwvh79q9k3r.fsf-monnier+comp.arch@gnu.org> <sstj0a$hoh$1@newsreader4.netcologne.de>
Injection-Info: reader02.eternal-september.org; posting-host="df00b91258d925986056b62bd2d5bc82";
logging-data="12353"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+t/QsCo+T6aZ4V7BJI4cs0"
Cancel-Lock: sha1:Jsbi6U1dFxii12NxxF3r2hsxnKs=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Thu, 27 Jan 2022 10:33 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:
>Linux still has the x32 ABI,

Not really.

>and a program which has a known memory
>footprint can profit from that.

That was the justification for x32, but the benefit/cost ratio was too
low for it to take off. And unlike the undefined-behaviour-based
"optimizations" that are justified with similar arguments, x32 was not
force-fed to the developers, and as a result, it did not gain
traction. Maybe it would have fared better if it had become the
default of all major compilers, requiring an obscure and ever-growing
list of options to avoid (like we need to avoid "optimizations").

>I very much doubt that "cat" will use mutiple gigabytes of memory.

Maybe (see below), but where is the supposed profit of avoiding 64-bit
pointers in cat?

As for not "using" multiple GBs of memory: If you cat a multi-GB file,
why not? mmap() the file into the address space, which avoids one
copy, and then write out the result. Of course, with
copy_file_range() on Linux, I guess you can do it with zero copies and
without using a lot of address space. That being said, a test of

strace cat bigfile >/dev/null

produces a sequence of 128KB read()s alternating with 128KB write()s
(cat (GNU coreutils) 8.32).

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: The cost of gradual underflow

<ssuam9$14r4$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!rd9pRsUZyxkRLAEK7e/Uzw.user.46.165.242.91.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: The cost of gradual underflow
Date: Thu, 27 Jan 2022 15:36:58 +0100
Organization: Aioe.org NNTP Server
Message-ID: <ssuam9$14r4$1@gioia.aioe.org>
References: <sso6aq$37b$1@newsreader4.netcologne.de>
<UPXHJ.6202$9O.4300@fx12.iad> <ssplm7$1sv$1@newsreader4.netcologne.de>
<sspnd8$3d6$1@newsreader4.netcologne.de> <tJZHJ.10626$8Q.353@fx19.iad>
<ssqrr7$ptr$1@newsreader4.netcologne.de>
<0cf5023d-3458-46d2-ad3d-fa0e6ecb18dfn@googlegroups.com>
<ssr9sm$c55$1@gioia.aioe.org> <jwv7dalyaju.fsf-monnier+comp.arch@gnu.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: gioia.aioe.org; logging-data="37732"; posting-host="rd9pRsUZyxkRLAEK7e/Uzw.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Firefox/68.0 SeaMonkey/2.53.10.2
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Thu, 27 Jan 2022 14:36 UTC

Stefan Monnier wrote:
>> Please go back to the several rounds where primarily Mitch and I have
>> discussed how zero-cycle handling of subnormal numbers can fall out of
>> having the large normalization network needed to support FMAC, which you
>> need to do anyway.
>
> IIRC, FMAC wasn't part of IEEE back in the DEC days.

That is correct, and I was hoping to slip one past you. :-)

More seriously: If you start with the assumption that you have to live
with a single shifter of up to 57/58/64 bits, and this one must handle
all fp normalization, then the only fast path is to keep all variables
normalized both before and after each operation.

I.e. you need to pre-normalize all subnormal inputs, each such will best
case cause a single-cycle stall, worst case a trap.

If otoh you have seen the great use you can get out of a double-wide
shifter (allowing things like arbitrarily aligned bit field extraction
from a pair of 64-bit registers), then you have already bit this
particular bullet and at this point the world is wide open:

You can handle all subnormal inputs without any pre-normalization step,
and you can also handle the near-catastrophic cancellations which are
typical whenever you use FMAC to provide better precision.

Terje

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

Re: Why separate 32-bit arithmetic on a 64-bit architecture?

<7PyIJ.359540$aF1.217448@fx98.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!npeer.as286.net!npeer-ng0.as286.net!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx98.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Why separate 32-bit arithmetic on a 64-bit architecture?
References: <sso6aq$37b$1@newsreader4.netcologne.de> <UPXHJ.6202$9O.4300@fx12.iad> <2022Jan25.235313@mips.complang.tuwien.ac.at> <5NdIJ.15873$mS1.13257@fx10.iad> <sss30f$io0$1@newsreader4.netcologne.de> <3a90c85b-1371-481b-bf81-574e3c0af68en@googlegroups.com> <2022Jan27.103742@mips.complang.tuwien.ac.at>
In-Reply-To: <2022Jan27.103742@mips.complang.tuwien.ac.at>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 79
Message-ID: <7PyIJ.359540$aF1.217448@fx98.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Thu, 27 Jan 2022 15:24:51 UTC
Date: Thu, 27 Jan 2022 10:24:20 -0500
X-Received-Bytes: 4799
 by: EricP - Thu, 27 Jan 2022 15:24 UTC

Anton Ertl wrote:
> MitchAlsup <MitchAlsup@aol.com> writes:
>> On Wednesday, January 26, 2022 at 12:13:38 PM UTC-6, Thomas Koenig wrote:
>>> EricP <ThatWould...@thevillage.com> schrieb:
>>>> They left out the byte and word load and stores, supposedly because=20
>>>> that would require the byte shifter network on the critical path.
>
> The story I have heard is that they required ECC for write-back caches
> (and parity for write-through caches); while the first implementations
> had write-through D-caches, they designed the architecture for
> implementations with write-back D-caches, and there byte stores would
> have cost either ECC on the byte level (50% overhead compared to ~20%
> for ECC on 32-bit units) or implementing stores by performing a
> read-modify-write of a larger unit.

That seems reasonable too, except Alpha has 32 bit stores and,
assuming they used the standard off-the-shelf 64+8 bit ECC DRAM,
those dword stores would require a read-modify-write memory cycle
and recomputing SECDED ECC. From the text below, it would seem
that they used a different ECC applied to 32 bit words,
which implies they did not used standard 72 bit DRAM DIMMs
(which in turn would have hit them on main memory cost).

Richard Sites, credited as an Alpha co-architect, gives reasons in
"Alpha AXP Architecture" 1993 and supports both views:

"The byte load/store instructions and unaligned accesses found in
some RISC architectures can be a performance bottleneck. They require
an extra byte shifter in the speed-critical load and store paths,
and they force a hard choice in fast cache design."
....
"On a previous project involving a MIPS implementation, we found the
shifter for the load-left/load-right instructions to be a direct
cycle-time bottleneck. Also, the VAX 8700 implementation (circa 1986)
removed the byte shifter in the load/store hardware in favor of a faster
microcycle, with 2 cycles for a byte load and 6 cycles for an unaligned
32-bit access. This decision achieved a net performance gain.
Our experience encouraged us to avoid byte load/store.

An additional problem with byte stores is that an implementer may easily
choose only two of the three design features: fast write-back cache,
single-bit error correction code (ECC), or byte stores.

Byte stores are straightforward in simple byte parity write-through cache
implementations. Except for the expensive design of four or five ECC bits
for every eight bits of data, a byte store to a fast ECC write-back cache
involves
1. Reading an entire cache word
2. Checking the ECC bits and correcting any single bit error
3. Modifying the byte
4. Calculating the new ECC bits
5. Writing the entire cache word

This read-modify-write sequence requires hidden sequencer hardware and
hidden state to hold the cache word temporarily. The sequencer tends to
slow down ordinary full-cache-word stores. The need for byte stores tends
to ripple throughout the memory subsystem design, making each piece a
little more complicated and a little slower. With non-replicated
hidden state, it is difficult to issue another byte store until the
first one finishes."

> Funnily, they introduced byte stores before they introduced an
> implementation with a write-back D-cache.

And according to DEC benchmarks, code got faster and smaller
so it would seem that many of the assumptions used to
justify leaving out byte/word were not correct.

Maybe later implementations switched to using 72 bit DIMMs
so it was doing the RMW for 32-bit dwords anyway.

> I guess that these days, with a relatively large write-combining store
> buffer, the RMW cost is acceptable.

x86 has its virtually tagged write combine buffers.
I don't know if anyone else does.

Pages:1234567
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor