Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

"Ahead warp factor 1" -- Captain Kirk


devel / comp.arch / Re: Modern ignorance ---- apologies!

SubjectAuthor
* Modern ignorance ---- apologies!gareth evans
`* Re: Modern ignorance ---- apologies!MitchAlsup
 +- Re: Modern ignorance ---- apologies!EricP
 +- Re: Modern ignorance ---- apologies!Stephen Fuld
 +* Re: Modern ignorance ---- apologies!Anton Ertl
 |+* Re: Modern ignorance ---- apologies!Thomas Koenig
 ||`- Re: Modern ignorance ---- apologies!Quadibloc
 |`* Re: Modern ignorance ---- apologies!Ivan Godard
 | `* Re: Modern ignorance ---- apologies!MitchAlsup
 |  `* Re: Modern ignorance ---- apologies!Ivan Godard
 |   `* Re: Modern ignorance ---- apologies!Stephen Fuld
 |    +- Re: Modern ignorance ---- apologies!Quadibloc
 |    `- Re: Modern ignorance ---- apologies!MitchAlsup
 +* Re: Modern ignorance ---- apologies!BGB
 |+* Re: Modern ignorance ---- apologies!Thomas Koenig
 ||`* Re: Modern ignorance ---- apologies!MitchAlsup
 || `* Re: Modern ignorance ---- apologies!Thomas Koenig
 ||  +* Re: Modern ignorance ---- apologies!mac
 ||  |`* Re: Modern ignorance ---- apologies!Quadibloc
 ||  | +- Re: Modern ignorance ---- apologies!MitchAlsup
 ||  | `* Re: Modern ignorance ---- apologies!John Dallman
 ||  |  +* Re: Modern ignorance ---- apologies!MitchAlsup
 ||  |  |`- Re: Modern ignorance ---- apologies!Quadibloc
 ||  |  `* Re: Modern ignorance ---- apologies!Anton Ertl
 ||  |   `* Re: Modern ignorance ---- apologies!John Dallman
 ||  |    +* Re: Modern ignorance ---- apologies!Tom Gardner
 ||  |    |`* Re: Modern ignorance ---- apologies!Quadibloc
 ||  |    | `- Re: Modern ignorance ---- apologies!John Dallman
 ||  |    `- Re: Modern ignorance ---- apologies!Anton Ertl
 ||  `* Re: Modern ignorance ---- apologies!Quadibloc
 ||   `* Re: Modern ignorance ---- apologies!MitchAlsup
 ||    `* Re: Modern ignorance ---- apologies!Paul A. Clayton
 ||     +- Re: Modern ignorance ---- apologies!Stefan Monnier
 ||     `* Re: Modern ignorance ---- apologies!MitchAlsup
 ||      +* Re: Modern ignorance ---- apologies!Quadibloc
 ||      |+- Re: Modern ignorance ---- apologies!John Dallman
 ||      |`* Re: Modern ignorance ---- apologies!MitchAlsup
 ||      | `* Re: Modern ignorance ---- apologies!Quadibloc
 ||      |  `- Re: Modern ignorance ---- apologies!MitchAlsup
 ||      +* Re: Modern ignorance ---- apologies!Michael S
 ||      |`* Re: Modern ignorance ---- apologies!BGB
 ||      | `* Re: Modern ignorance ---- apologies!MitchAlsup
 ||      |  +- Re: Modern ignorance ---- apologies!Quadibloc
 ||      |  +- Re: Modern ignorance ---- apologies!Quadibloc
 ||      |  +- Re: Modern ignorance ---- apologies!Terje Mathisen
 ||      |  `* Re: Modern ignorance ---- apologies!Marcus
 ||      |   +* Re: Modern ignorance ---- apologies!MitchAlsup
 ||      |   |+* Re: Modern ignorance ---- apologies!Quadibloc
 ||      |   ||`- Re: Modern ignorance ---- apologies!MitchAlsup
 ||      |   |`* Re: Modern ignorance ---- apologies!Marcus
 ||      |   | +* Re: Modern ignorance ---- apologies!Ivan Godard
 ||      |   | |`* Re: Modern ignorance ---- apologies!Marcus
 ||      |   | | `* Re: Modern ignorance ---- apologies!Ivan Godard
 ||      |   | |  `- Re: Modern ignorance ---- apologies!Marcus
 ||      |   | `- Re: Modern ignorance ---- apologies!MitchAlsup
 ||      |   `* Re: Modern ignorance ---- apologies!BGB
 ||      |    `* Re: Modern ignorance ---- apologies!MitchAlsup
 ||      |     `* Re: Modern ignorance ---- apologies!BGB
 ||      |      `- Re: Modern ignorance ---- apologies!MitchAlsup
 ||      `- Re: Modern ignorance ---- apologies!Paul A. Clayton
 |`* Re: Modern ignorance ---- apologies!MitchAlsup
 | `* Re: Modern ignorance ---- apologies!BGB
 |  `* Re: Modern ignorance ---- apologies!MitchAlsup
 |   `* Re: Modern ignorance ---- apologies!Quadibloc
 |    +- Re: Modern ignorance ---- apologies!MitchAlsup
 |    `* Re: Modern ignorance ---- apologies!Quadibloc
 |     +* Re: Modern ignorance ---- apologies!Quadibloc
 |     |+* Re: Modern ignorance ---- apologies!BGB
 |     ||`* Re: Modern ignorance ---- apologies!MitchAlsup
 |     || `- Re: Modern ignorance ---- apologies!BGB
 |     |+* Re: Modern ignorance ---- apologies!gareth evans
 |     ||`* Re: Modern ignorance ---- apologies!Quadibloc
 |     || +* Re: Modern ignorance ---- apologies!Stephen Fuld
 |     || |+* Re: Modern ignorance ---- apologies!Quadibloc
 |     || ||`- Re: Modern ignorance ---- apologies!MitchAlsup
 |     || |`- Re: Modern ignorance ---- apologies!George Neuner
 |     || `* Re: registers and such, was Modern ignorance ---- apologies!John Levine
 |     ||  `* Re: registers and such, was Modern ignorance ---- apologies!MitchAlsup
 |     ||   +* Re: registers and such, was Modern ignorance ---- apologies!John Levine
 |     ||   |`- Re: registers and such, was Modern ignorance ---- apologies!MitchAlsup
 |     ||   `- Re: registers and such, was Modern ignorance ---- apologies!BGB
 |     |`- Re: Modern ignorance ---- apologies!Andy Valencia
 |     `* Re: Modern ignorance ---- apologies!MitchAlsup
 |      `- Re: Modern ignorance ---- apologies!Quadibloc
 `- Re: Modern ignorance ---- apologies!Chris M. Thomasson

Pages:1234
Re: Modern ignorance ---- apologies!

<5c547f9a-15ae-4dab-aca8-2e46eb521eb6n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:2d2:: with SMTP id a18mr10348254qtx.296.1622926882922;
Sat, 05 Jun 2021 14:01:22 -0700 (PDT)
X-Received: by 2002:a9d:63cd:: with SMTP id e13mr8862584otl.206.1622926882687;
Sat, 05 Jun 2021 14:01:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 14:01:22 -0700 (PDT)
In-Reply-To: <s9ftfg$v0q$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:6460:a8e:fdb9:4564;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:6460:a8e:fdb9:4564
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>
<s7mkdg$73d$1@dont-email.me> <c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>
<b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com> <36362475-5d3d-45a8-bf05-9e4a29dcf3den@googlegroups.com>
<190644aa-3c99-4cb6-be0e-95046d13cdb0n@googlegroups.com> <s9fi1l$1kj$1@dont-email.me>
<bdd7bd6f-89aa-4436-b3b8-e082a0ea5149n@googlegroups.com> <s9ftfg$v0q$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5c547f9a-15ae-4dab-aca8-2e46eb521eb6n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sat, 05 Jun 2021 21:01:22 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Sat, 5 Jun 2021 21:01 UTC

On Saturday, June 5, 2021 at 7:16:34 AM UTC-6, Stephen Fuld wrote:

> In general, ISTM that having different sets of registers with different
> capabilities is not a good idea. You invariably want more of one type
> than there are and don't use all of another type. It also complicates
> the compiler.

That is certainly true. However, I don't think that what I have done is
_too_ bad in *that* respect, although it could be bad for other reasons.

There are 32 general registers. You will want to use maybe two or three
of them as base registers in normal code, so as not to take away too many
registers from normal use.

All that changes here is that, depending on the memory model you use,
those base registers may be drawn from a different group of 8 out of
the 32 registers.

John Savard

Re: Modern ignorance ---- apologies!

<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:d88:: with SMTP id s8mr2666726qti.186.1622927540577;
Sat, 05 Jun 2021 14:12:20 -0700 (PDT)
X-Received: by 2002:a05:6830:a:: with SMTP id c10mr9207583otp.114.1622927540333;
Sat, 05 Jun 2021 14:12:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 14:12:20 -0700 (PDT)
In-Reply-To: <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=166.141.160.124; posting-account=6JNn0QoAAAD-Scrkl0ClrfutZTkrOS9S
NNTP-Posting-Host: 166.141.160.124
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: paaroncl...@gmail.com (Paul A. Clayton)
Injection-Date: Sat, 05 Jun 2021 21:12:20 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Paul A. Clayton - Sat, 5 Jun 2021 21:12 UTC

On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
>> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
>>
>>> It killed off too many RISC architectures. There would eventually
>>> have been a consolidation, but x86_64 was not the right architecture
>>> to consolidate to...
>> So true, but there was little choice then. Now we have a second chance,
>> ARM.
> <
> Not much of a choice:
> a) mud pie
> b) mud pudding

Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)

Re: Modern ignorance ---- apologies!

<9tpnbg1hgg0pultvtbrgdeg71903oo6kr5@4ax.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: gneun...@comcast.net (George Neuner)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Sat, 05 Jun 2021 17:17:32 -0400
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <9tpnbg1hgg0pultvtbrgdeg71903oo6kr5@4ax.com>
References: <s7mbni$5q8$1@dont-email.me> <aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com> <s7mkdg$73d$1@dont-email.me> <c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com> <b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com> <36362475-5d3d-45a8-bf05-9e4a29dcf3den@googlegroups.com> <190644aa-3c99-4cb6-be0e-95046d13cdb0n@googlegroups.com> <s9fi1l$1kj$1@dont-email.me> <bdd7bd6f-89aa-4436-b3b8-e082a0ea5149n@googlegroups.com> <s9ftfg$v0q$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="3d1448b2bd85c59fb4f3bacd2afcbd11";
logging-data="21501"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18SwvGd6tYtSUmayd4V9oHrZmHGNVQpKDg="
User-Agent: ForteAgent/8.00.32.1272
Cancel-Lock: sha1:taGr7anX5eJdMlZr3wtrJdpgHgw=
 by: George Neuner - Sat, 5 Jun 2021 21:17 UTC

On Sat, 5 Jun 2021 06:16:30 -0700, Stephen Fuld
<sfuld@alumni.cmu.edu.invalid> wrote:

>On 6/5/2021 6:07 AM, Quadibloc wrote:
>> On Saturday, June 5, 2021 at 4:01:28 AM UTC-6, gareth evans wrote:
>>> On 04/06/2021 23:39, Quadibloc wrote:
>>>> ... since such a subroutine
>>>> jump would specify a particular register as the location of the return
>>>> address, ...
>>
>>> Shades of the nightmare that is / was the 1802 microprocessor where
>>> you changed the register that was the current program counter,
>>> a contrivance that suggests to me that that the designer of that
>>> ISA had very limited programming experience, maybe simple programs
>>> with no nested subroutines!
>>
>> On the ARM, a _fixed_ register is the program counter.
>>
>> On my architecture, the program counter is the program counter, and not
>> one of the general registers.
>>
>> But there is no stack.
>>
>> Subroutine calls save the return address in one of the registers according
>> to whatever calling convention the user may choose. I imagine that a common
>> choice will be to place the return address in a register that the called program
>> uses as a base register, so that a return can be made by a conditional jump
>> instruction with that register as the base, a displacement of zero, and a condition
>> of always.
>>
>> This is how it was done on the IBM System/360.
>>
>> My architecture, however, _differs_ from the IBM System/360 in the following
>> respect: there are families of addressing modes which use different registers
>> as base registers.
>
>In general, ISTM that having different sets of registers with different
>capabilities is not a good idea. You invariably want more of one type
>than there are and don't use all of another type. It also complicates
>the compiler.

And when the architecture (or convention) doesn't define something
important - like which register to use for a stack - you can end up
with competing and incompatible ABIs.

Recall the joys of trying to mix code from various 68K Macintosh
toolchains that differed in using A5 or A6 for the stack.

George

Re: Modern ignorance ---- apologies!

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

  copy mid

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

  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: Re: Modern ignorance ---- apologies!
Date: Sat, 05 Jun 2021 17:21:47 -0400
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <jwvo8ckuhzj.fsf-monnier+comp.arch@gnu.org>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
<s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: reader02.eternal-september.org; posting-host="86686ce1c783904920ebf36c82c88f20";
logging-data="21669"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Y11IqLVuVyRR///Q1llTg"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Cancel-Lock: sha1:OaC3IY0gAqC2jecemtjFesfVXcg=
sha1:kY9OrlONdzZSxE3+8N+CXMDXK04=
 by: Stefan Monnier - Sat, 5 Jun 2021 21:21 UTC

> Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and
> that ARM is no longer developing high-performance A-profile cores that
> support the 32-bit ISAs?

Actually, it seems they also dropped support for the 32bit ISA in the
A5x line of CPUs (at least in the Cortex-A510).

Stefan

Re: registers and such, was Modern ignorance ---- apologies!

<df782ff9-4e57-466f-b7a3-060551a4f22en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:1481:: with SMTP id t1mr10812076qtx.14.1622931252780;
Sat, 05 Jun 2021 15:14:12 -0700 (PDT)
X-Received: by 2002:a05:6808:117:: with SMTP id b23mr6971160oie.7.1622931252542;
Sat, 05 Jun 2021 15:14:12 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 15:14:12 -0700 (PDT)
In-Reply-To: <s9gnqb$2c9b$1@gal.iecc.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f4c7:4bd5:d9e0:1891;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f4c7:4bd5:d9e0:1891
References: <s7c7jn$10l$1@dont-email.me> <bdd7bd6f-89aa-4436-b3b8-e082a0ea5149n@googlegroups.com>
<s9g4m1$19pr$2@gal.iecc.com> <3eb8cadd-9699-443d-8634-ec554d41e0bbn@googlegroups.com>
<s9gnqb$2c9b$1@gal.iecc.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <df782ff9-4e57-466f-b7a3-060551a4f22en@googlegroups.com>
Subject: Re: registers and such, was Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 05 Jun 2021 22:14:12 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Sat, 5 Jun 2021 22:14 UTC

On Saturday, June 5, 2021 at 3:46:05 PM UTC-5, John Levine wrote:
> According to MitchAlsup <Mitch...@aol.com>:
> >On Saturday, June 5, 2021 at 10:19:31 AM UTC-5, John Levine wrote:
> >> According to Quadibloc <jsa...@ecn.ab.ca>:
> >> >On the ARM, a _fixed_ register is the program counter.
> >> That's what the PDP-11 did. I don't know if it was the first architecture to put the PC
> >> in a register but it was certainly the most famous.
> >>
> >> It made relative addressing the same as indexed addressing, using the PC as the index register.
> >> It had a (R)+ and @(R)+ modes, use the register as the address and then inrement it by the address and
> >> then in the second case, use that as the indirect address.
> >> Hence (PC)+ was an immediate operand and @(PC)+ was absolute addressing.
> ><
> >It was a cute trick, but made pipelineing difficult.
> Was there ever a PDP-11 that was pipelined? This was quite a while ago.
>
> Also, the address modes were all fixed places in the first word of the
> instruction so I would think it'd be simple enough to recognize those
> two and take the words out of the instruction stream. It has to do
> roughly the same thing for the index words in indexed address modes.
<
Not nearly as hard to pipeline as VAX, but you could have a mem=mem op mem
instruction (2 mem addresses)m along with 3 register updates (not in the same
instruction, though).
<
So to achieve 1 I/C instruction rates, you had to be setup to perform 2 memory
reads and 1 memory write per cycle and up to 2 register results per cycle.
<
Basically, PDP-11, VAX, and Intel 432 taught us what NOT TO DO ! More so
VAX and 432 than PDP-11.
<
The converse is that S/360 is "Not bad at all" in a pipeline sense.
<
PDP-11 taught us that memory mapped I/O was the thing to do and in a sense
was the father of PCI.....
<
> --
> 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: Modern ignorance ---- apologies!

<3f03f790-8956-4486-b316-c112c7c64cabn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:4484:: with SMTP id r126mr10339912qka.18.1622931803429;
Sat, 05 Jun 2021 15:23:23 -0700 (PDT)
X-Received: by 2002:aca:4a4f:: with SMTP id x76mr7053299oia.157.1622931803209;
Sat, 05 Jun 2021 15:23:23 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 15:23:23 -0700 (PDT)
In-Reply-To: <5c547f9a-15ae-4dab-aca8-2e46eb521eb6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f4c7:4bd5:d9e0:1891;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f4c7:4bd5:d9e0:1891
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>
<s7mkdg$73d$1@dont-email.me> <c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>
<b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com> <36362475-5d3d-45a8-bf05-9e4a29dcf3den@googlegroups.com>
<190644aa-3c99-4cb6-be0e-95046d13cdb0n@googlegroups.com> <s9fi1l$1kj$1@dont-email.me>
<bdd7bd6f-89aa-4436-b3b8-e082a0ea5149n@googlegroups.com> <s9ftfg$v0q$1@dont-email.me>
<5c547f9a-15ae-4dab-aca8-2e46eb521eb6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3f03f790-8956-4486-b316-c112c7c64cabn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 05 Jun 2021 22:23:23 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Sat, 5 Jun 2021 22:23 UTC

On Saturday, June 5, 2021 at 4:01:23 PM UTC-5, Quadibloc wrote:
> On Saturday, June 5, 2021 at 7:16:34 AM UTC-6, Stephen Fuld wrote:
>
> > In general, ISTM that having different sets of registers with different
> > capabilities is not a good idea. You invariably want more of one type
> > than there are and don't use all of another type. It also complicates
> > the compiler.
> That is certainly true. However, I don't think that what I have done is
> _too_ bad in *that* respect, although it could be bad for other reasons.
>
> There are 32 general registers. You will want to use maybe two or three
> of them as base registers in normal code, so as not to take away too many
> registers from normal use.
<
/*
*******************************************************************
* Kernel 13 -- 2-D PIC (Particle In Cell)
*******************************************************************
* DO 13 L= 1,Loop
* DO 13 ip= 1,n
* i1= P(1,ip)
* j1= P(2,ip)
* i1= 1 + MOD2N(i1,64)
* j1= 1 + MOD2N(j1,64)
* P(3,ip)= P(3,ip) + B(i1,j1)
* P(4,ip)= P(4,ip) + C(i1,j1)
* P(1,ip)= P(1,ip) + P(3,ip)
* P(2,ip)= P(2,ip) + P(4,ip)
* i2= P(1,ip)
* j2= P(2,ip)
* i2= MOD2N(i2,64)
* j2= MOD2N(j2,64)
* P(1,ip)= P(1,ip) + Y(i2+32)
* P(2,ip)= P(2,ip) + Z(j2+32)
* i2= i2 + E(i2+32)
* j2= j2 + F(j2+32)
* H(i2,j2)= H(i2,j2) + 1.0
* 13 CONTINUE
*/
>
> All that changes here is that, depending on the memory model you use,
> those base registers may be drawn from a different group of 8 out of
> the 32 registers.
>
> John Savard

Re: Modern ignorance ---- apologies!

<e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2988:: with SMTP id r8mr10639797qkp.499.1622931866313;
Sat, 05 Jun 2021 15:24:26 -0700 (PDT)
X-Received: by 2002:aca:2107:: with SMTP id 7mr15379840oiz.110.1622931866052;
Sat, 05 Jun 2021 15:24:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 15:24:25 -0700 (PDT)
In-Reply-To: <a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:f4c7:4bd5:d9e0:1891;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:f4c7:4bd5:d9e0:1891
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sat, 05 Jun 2021 22:24:26 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Sat, 5 Jun 2021 22:24 UTC

On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
> On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> > On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
> >> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
> >>
> >>> It killed off too many RISC architectures. There would eventually
> >>> have been a consolidation, but x86_64 was not the right architecture
> >>> to consolidate to...
> >> So true, but there was little choice then. Now we have a second chance,
> >> ARM.
> > <
> > Not much of a choice:
> > a) mud pie
> > b) mud pudding
>
> Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)
<
While I value your opinion, you, too, will come to a different conclusion in a few years.

Re: Modern ignorance ---- apologies!

<s9gvde$qsp$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Sat, 5 Jun 2021 17:54:29 -0500
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <s9gvde$qsp$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me>
<aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>
<s7mkdg$73d$1@dont-email.me>
<c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>
<b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com>
<36362475-5d3d-45a8-bf05-9e4a29dcf3den@googlegroups.com>
<190644aa-3c99-4cb6-be0e-95046d13cdb0n@googlegroups.com>
<s9etmb$76o$1@dont-email.me>
<68e55342-39e1-4716-bc82-0bc8b31e2b8bn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 5 Jun 2021 22:55:42 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="e1e083d1e40ac29bac5c6fd8933e1d51";
logging-data="27545"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IEl5ea865Dcd7hbPhDth1"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
Cancel-Lock: sha1:1OF8FEUPhu+KxJ2G2KZgULhYmlM=
In-Reply-To: <68e55342-39e1-4716-bc82-0bc8b31e2b8bn@googlegroups.com>
Content-Language: en-US
 by: BGB - Sat, 5 Jun 2021 22:54 UTC

On 6/5/2021 10:05 AM, MitchAlsup wrote:
> On Friday, June 4, 2021 at 11:14:16 PM UTC-5, BGB wrote:
>> On 6/4/2021 5:39 PM, Quadibloc wrote:
>
>>> While that would be easy enough to remedy, since such a subroutine
>>> jump would specify a particular register as the location of the return
>>> address, that would distort the architecture, essentially warping the
>>> choice of calling conventions.
>>>
>> I used a Link Register (LR).
>>
>>
>> Implicitly, some contexts are using R1 as a secondary/stand-in Link
>> Register, and some instructions like "JMP R1" have been defined to
>> behave as-if R1 were the link register.
> <
> In Mc 88120, we used the jump-predict-table for JMP R~=0
> and we used the call-return-stack for JMP R0
>>
>

OK.

I don't have a call/return stack, but do have a special case in the
branch predictor to deal with RTSU. It is possible though that RTS and
RTSU could be merged though (with the relevant pipeline checks being
handled in hardware rather than by the compiler).

In my case it is R1 partly because that is what had ended up being used
already in this case. R1 was defined as being freely stomped and was not
otherwise used by the C ABI, but was also not used much as a stomp
register in practice, and some of the cases for which it existed as such
originally no longer exist.

While similar behavior could have also been applied to R0, the use of R0
was more often as an escape-case for encoding out-of-range branches.
Though, this later case is likely to end up subsumed into the newer "JMP
Abs48" encoding.

It can also be noted though that using R0 as a stomp register is itself
greatly reduced with the existence of a jumbo prefix.

And, at this point the main properties which R0 and R1 have are:
Special cases for Load/Store ops (eg: PC Rel, GBR Rel);
Not allowed with MOV.X or other 128-bit ops;
R0 and R1 are fixed registers for some ops (CPUID, LDTLB, ...);
R1 may be used as a stand-in for LR (or as a secondary LR);
...

Re: registers and such, was Modern ignorance ---- apologies!

<s9h8qq$ahc$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: registers and such, was Modern ignorance ---- apologies!
Date: Sat, 5 Jun 2021 20:35:14 -0500
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <s9h8qq$ahc$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<190644aa-3c99-4cb6-be0e-95046d13cdb0n@googlegroups.com>
<s9fi1l$1kj$1@dont-email.me>
<bdd7bd6f-89aa-4436-b3b8-e082a0ea5149n@googlegroups.com>
<s9g4m1$19pr$2@gal.iecc.com>
<3eb8cadd-9699-443d-8634-ec554d41e0bbn@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 6 Jun 2021 01:36:26 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="e1e083d1e40ac29bac5c6fd8933e1d51";
logging-data="10796"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18zvMum3BKqUuXQRamYdAm7"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
Cancel-Lock: sha1:a0Aidpr6QY1LbHM6xeMoOng/gVc=
In-Reply-To: <3eb8cadd-9699-443d-8634-ec554d41e0bbn@googlegroups.com>
Content-Language: en-US
 by: BGB - Sun, 6 Jun 2021 01:35 UTC

On 6/5/2021 2:07 PM, MitchAlsup wrote:
> On Saturday, June 5, 2021 at 10:19:31 AM UTC-5, John Levine wrote:
>> According to Quadibloc <jsa...@ecn.ab.ca>:
>>> On the ARM, a _fixed_ register is the program counter.
>> That's what the PDP-11 did. I don't know if it was the first architecture to put the PC
>> in a register but it was certainly the most famous.
>>
>> It made relative addressing the same as indexed addressing, using the PC as the index register.
>> It had a (R)+ and @(R)+ modes, use the register as the address and then inrement it by the address and
>> then in the second case, use that as the indirect address.
>> Hence (PC)+ was an immediate operand and @(PC)+ was absolute addressing.
> <
> It was a cute trick, but made pipelineing difficult.

The MSP430 also did this.

To me, it seemed functionally equivalent to a variable-length
instruction, just with a more awkward encoding.

AFAIK, the MSP430 was pipelined.

>>
>> Considering how expensive transistors were in 1969, it was a cute hack to simplify the architecture
>> and remove what otherwise would have been special cases.
>>
>> The IBM 360 made you use a general register to address your code. In
>> retrospect that was a mistake which they fixed by adding relative
>> branches much later.
>>
>> --
>> 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: Modern ignorance ---- apologies!

<5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:690f:: with SMTP id e15mr11734863qtr.143.1622961081066;
Sat, 05 Jun 2021 23:31:21 -0700 (PDT)
X-Received: by 2002:a4a:d781:: with SMTP id c1mr9467600oou.23.1622961080871;
Sat, 05 Jun 2021 23:31:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sat, 5 Jun 2021 23:31:20 -0700 (PDT)
In-Reply-To: <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:dd7d:a1c6:609a:ae4c;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:dd7d:a1c6:609a:ae4c
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sun, 06 Jun 2021 06:31:21 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Sun, 6 Jun 2021 06:31 UTC

On Saturday, June 5, 2021 at 4:24:27 PM UTC-6, MitchAlsup wrote:
> On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
> > On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> > > On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:

> > >> So true, but there was little choice then. Now we have a second chance,
> > >> ARM.

> > > Not much of a choice:
> > > a) mud pie
> > > b) mud pudding

> > Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC
> > and that ARM is no longer developing high-performance A-profile cores
> > that support the 32-bit ISAs? (I think an abstraction layer would be better
> > than a traditional ISA, but the business case for such is weaker. My 66000
> > is better than AArch64, but AArch64 does not seem like mud pudding.)

> While I value your opinion, you, too, will come to a different conclusion in a few years.

Your point is, perhaps, that experience has already proven that the people
responsible for ARM are sufficiently market-driven that as the years go on,
they will not resist the temptation to add features to future iterations of
their architecture?

John Savard

Re: Modern ignorance ---- apologies!

<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:c792:: with SMTP id k18mr12922640qvj.26.1622975695031;
Sun, 06 Jun 2021 03:34:55 -0700 (PDT)
X-Received: by 2002:a9d:6345:: with SMTP id y5mr2115589otk.240.1622975694739;
Sun, 06 Jun 2021 03:34:54 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 03:34:54 -0700 (PDT)
In-Reply-To: <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=199.203.251.52; posting-account=ow8VOgoAAAAfiGNvoH__Y4ADRwQF1hZW
NNTP-Posting-Host: 199.203.251.52
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: already5...@yahoo.com (Michael S)
Injection-Date: Sun, 06 Jun 2021 10:34:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Michael S - Sun, 6 Jun 2021 10:34 UTC

On Sunday, June 6, 2021 at 1:24:27 AM UTC+3, MitchAlsup wrote:
> On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
> > On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> > > On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
> > >> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
> > >>
> > >>> It killed off too many RISC architectures. There would eventually
> > >>> have been a consolidation, but x86_64 was not the right architecture
> > >>> to consolidate to...
> > >> So true, but there was little choice then. Now we have a second chance,
> > >> ARM.
> > > <
> > > Not much of a choice:
> > > a) mud pie
> > > b) mud pudding
> >
> > Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)
> <
> While I value your opinion, you, too, will come to a different conclusion in a few years.

Does it mean that you expect that in few years (how many?) the best available (== shipping, sold and bought, *not* paper) high-performance CPU would be neither mud pie nor mud pudding nor mud pastry (i.e. POWER) ?

Re: Modern ignorance ---- apologies!

<memo.20210606113720.5316b@jgd.cix.co.uk>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: jgd...@cix.co.uk (John Dallman)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Sun, 6 Jun 2021 11:37 +0100 (BST)
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <memo.20210606113720.5316b@jgd.cix.co.uk>
References: <5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>
Reply-To: jgd@cix.co.uk
Injection-Info: reader02.eternal-september.org; posting-host="f7e90e708b63e3d4bd8aef0b7844ec90";
logging-data="19320"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ifeUGhfTClelHL2OYHO6yr+niH3boiY8="
Cancel-Lock: sha1:LV23A9syyzNXuAw/JXcaNu96+lc=
 by: John Dallman - Sun, 6 Jun 2021 10:37 UTC

In article <5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>,
jsavard@ecn.ab.ca (Quadibloc) wrote:

> Your point is, perhaps, that experience has already proven that the
> people responsible for ARM are sufficiently market-driven that as
> the years go on, they will not resist the temptation to add features
> to future iterations of their architecture?

They are engaged in doing this. ARM v8 has had levels v8.1 to v8.5, and
now v9 added.

A hopefully-significant difference is that they aren't doing this in the
manner of 32-bit ARM, where there were large numbers of unconnected
additions. Those were intended for embedded use, where broad software
compatibility was seen as irrelevant.

With 64-bit ARM, the baseline instruction set is quite capable, and the
additions are compatible: v8.3 includes v8.1 and v8.2, so software people
only have to cope with changes along a single path, AFAIK.

John

Re: Modern ignorance ---- apologies!

<eca46468-0256-4c0f-a317-7c2a727a87abn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:e4d:: with SMTP id o13mr13919126qvc.19.1622990362146;
Sun, 06 Jun 2021 07:39:22 -0700 (PDT)
X-Received: by 2002:a05:6808:f94:: with SMTP id o20mr16505992oiw.30.1622990361850;
Sun, 06 Jun 2021 07:39:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 07:39:21 -0700 (PDT)
In-Reply-To: <5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:e5e4:e83c:b137:82ed;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:e5e4:e83c:b137:82ed
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eca46468-0256-4c0f-a317-7c2a727a87abn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 06 Jun 2021 14:39:22 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Sun, 6 Jun 2021 14:39 UTC

On Sunday, June 6, 2021 at 1:31:22 AM UTC-5, Quadibloc wrote:
> On Saturday, June 5, 2021 at 4:24:27 PM UTC-6, MitchAlsup wrote:
> > On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
> > > On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> > > > On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
>
> > > >> So true, but there was little choice then. Now we have a second chance,
> > > >> ARM.
>
> > > > Not much of a choice:
> > > > a) mud pie
> > > > b) mud pudding
>
> > > Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC
> > > and that ARM is no longer developing high-performance A-profile cores
> > > that support the 32-bit ISAs? (I think an abstraction layer would be better
> > > than a traditional ISA, but the business case for such is weaker. My 66000
> > > is better than AArch64, but AArch64 does not seem like mud pudding.)
>
> > While I value your opinion, you, too, will come to a different conclusion in a few years.
> Your point is, perhaps, that experience has already proven that the people
> responsible for ARM are sufficiently market-driven that as the years go on,
> they will not resist the temptation to add features to future iterations of
> their architecture?
<
No my point is/was that the words "relative" and "clean" are not appropriate
in describing AArch64.
>
> John Savard

Re: Modern ignorance ---- apologies!

<9d7046e1-618d-4fba-8ff2-580d1a59da7an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:6884:: with SMTP id d126mr12685713qkc.497.1622992022601; Sun, 06 Jun 2021 08:07:02 -0700 (PDT)
X-Received: by 2002:aca:4a4f:: with SMTP id x76mr8710189oia.157.1622992022389; Sun, 06 Jun 2021 08:07:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr3.iad1.usenetexpress.com!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: Sun, 6 Jun 2021 08:07:02 -0700 (PDT)
In-Reply-To: <eca46468-0256-4c0f-a317-7c2a727a87abn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:dd8f:87d8:eab2:518c; posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:dd8f:87d8:eab2:518c
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com> <s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de> <2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de> <ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com> <a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com> <5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com> <eca46468-0256-4c0f-a317-7c2a727a87abn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9d7046e1-618d-4fba-8ff2-580d1a59da7an@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Sun, 06 Jun 2021 15:07:02 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Quadibloc - Sun, 6 Jun 2021 15:07 UTC

On Sunday, June 6, 2021 at 8:39:23 AM UTC-6, MitchAlsup wrote:

> No my point is/was that the words "relative" and "clean" are not appropriate
> in describing AArch64.

Ah. So you find it to be _already_ as bad as x86, and just think that he will
eventually see that too. But then I would ask - how is it that it can be as bad
as x86 without being as _obviously_ bad as x86?

John Savard

Re: Modern ignorance ---- apologies!

<s9it8g$t2r$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Sun, 6 Jun 2021 11:29:59 -0500
Organization: A noiseless patient Spider
Lines: 103
Message-ID: <s9it8g$t2r$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
<s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
<e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 6 Jun 2021 16:31:12 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="e1e083d1e40ac29bac5c6fd8933e1d51";
logging-data="29787"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19DKqsDOt5joIz7LYYnz8nO"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.2
Cancel-Lock: sha1:qmOwxULznIssSZPCe734zWKrgHE=
In-Reply-To: <0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
Content-Language: en-US
 by: BGB - Sun, 6 Jun 2021 16:29 UTC

On 6/6/2021 5:34 AM, Michael S wrote:
> On Sunday, June 6, 2021 at 1:24:27 AM UTC+3, MitchAlsup wrote:
>> On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
>>> On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
>>>> On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
>>>>> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
>>>>>
>>>>>> It killed off too many RISC architectures. There would eventually
>>>>>> have been a consolidation, but x86_64 was not the right architecture
>>>>>> to consolidate to...
>>>>> So true, but there was little choice then. Now we have a second chance,
>>>>> ARM.
>>>> <
>>>> Not much of a choice:
>>>> a) mud pie
>>>> b) mud pudding
>>>
>>> Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)
>> <
>> While I value your opinion, you, too, will come to a different conclusion in a few years.
>
>
> Does it mean that you expect that in few years (how many?) the best available (== shipping, sold and bought, *not* paper) high-performance CPU would be neither mud pie nor mud pudding nor mud pastry (i.e. POWER) ?
>

Weighing in with my opinions here...

It seems almost inevitable that an ISA will end up messy in some areas
absent frequent redesign efforts and which break binary compatibility.

Adding features, and trying to avoid breaking existing binaries, will
mean that new features don't necessarily mesh cleanly with older
features, ...

So, eg, AArch64 deals with 32 and 64 bit operations in a roughly similar
way to x86-64, but then has funkiness to deal with sign or zero
extending inputs (rather than keeping the values themselves in a sign or
zero extended form).

It also uses condition-code flags, which personally I am not
particularly a fan of (I consider the "1 bit predicate" to be a
different system).

One other drawback with most traditional RISC designs is that to run
multiple ops in parallel, it is necessary for the hardware to be able to
figure out whether or not parallel execution is possible, which is more
difficult and more resource intensive than encoding it explicitly.

Though it is a tradeoff, in that now compiled code needs to care about
things like how wide the target machine is, ...

So, a wider machine would likely need to fall back to using the
superscalar approach if compiling code specifically for that width is
not viable.

I was almost doing OK in my current ISA, though recent efforts towards
expanding the GPR space to R0..R63 haven't been super clean.

But, why? Mostly because when writing things like rasterizer and
edge-walking loops in my OpenGL rasterizer (in ASM) I was frequently
running into issues with running out of GPRs and needing to fall back to
(gasp) spilling variables to memory.

Initially, I did an extension which only worked on SIMD ops, which
worked well enough:
These ops only used even pairs, meaning one can do R0..R63 in a 5-bit
register field. However, this was still fairly limiting.

I had recently tried the Op24 experiment, where I carved off some of the
remaining (unused) 16-bit encoding space for 24-bit instructions (7zzz
and 9zzz). They are kinda terrible though, so I decided not to have them
in the main ISA.

More recently, I have reused the same encoding space for 'XGPR' encodings:
7wnm-ZeoZ (F0zz)
9wnm-Zeii (F2zz / F1zz)

Where the 'w' field is (wnmo):
w: WEX bit;
nm: Bit 5 for Rm/Rn
o: Bit 5 of Ro, or F2/F1 selector

Which expands the main GPR space, but with a few drawbacks:
It is not possible to predicate these instructions;
ADD?T R47, R31, R55 // N/E
The non-contiguous encoding space is fairly ugly;
Encodings are mutually exclusive with Op24.

At present, I will consider them an optional feature.

It is possible that predicated forms could have been added which also
encode the full R0..R63 range, but this would basically "eat" the entire
16-bit encoding space (and effectively require the instruction decoder
to be modal, which is undesirable).

Re: Modern ignorance ---- apologies!

<06c7bc48-988a-4762-8a2d-8d8050127cb0n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:7903:: with SMTP id u3mr2748152qkc.329.1623013181857;
Sun, 06 Jun 2021 13:59:41 -0700 (PDT)
X-Received: by 2002:aca:f452:: with SMTP id s79mr7931912oih.84.1623013181666;
Sun, 06 Jun 2021 13:59:41 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 13:59:41 -0700 (PDT)
In-Reply-To: <9d7046e1-618d-4fba-8ff2-580d1a59da7an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:4090:14da:74c1:963;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:4090:14da:74c1:963
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<5c085551-bbe4-4e26-9ca2-a2d9c8cabc99n@googlegroups.com> <eca46468-0256-4c0f-a317-7c2a727a87abn@googlegroups.com>
<9d7046e1-618d-4fba-8ff2-580d1a59da7an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <06c7bc48-988a-4762-8a2d-8d8050127cb0n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 06 Jun 2021 20:59:41 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Sun, 6 Jun 2021 20:59 UTC

On Sunday, June 6, 2021 at 10:07:03 AM UTC-5, Quadibloc wrote:
> On Sunday, June 6, 2021 at 8:39:23 AM UTC-6, MitchAlsup wrote:
>
> > No my point is/was that the words "relative" and "clean" are not appropriate
> > in describing AArch64.
<
> Ah. So you find it to be _already_ as bad as x86, and just think that he will
> eventually see that too. But then I would ask - how is it that it can be as bad
> as x86 without being as _obviously_ bad as x86?
<
It is not as bad as x86 which is significantly better than 432.
<
But it is far from as clean as <say> MIPS in the R3000 days.
>
> John Savard

Re: Modern ignorance ---- apologies!

<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:6c4:: with SMTP id 187mr14370369qkg.95.1623014407642;
Sun, 06 Jun 2021 14:20:07 -0700 (PDT)
X-Received: by 2002:a9d:27a1:: with SMTP id c30mr10976979otb.342.1623014407390;
Sun, 06 Jun 2021 14:20:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 14:20:07 -0700 (PDT)
In-Reply-To: <s9it8g$t2r$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:4090:14da:74c1:963;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:4090:14da:74c1:963
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Sun, 06 Jun 2021 21:20:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: MitchAlsup - Sun, 6 Jun 2021 21:20 UTC

On Sunday, June 6, 2021 at 11:31:15 AM UTC-5, BGB wrote:
> On 6/6/2021 5:34 AM, Michael S wrote:
> > On Sunday, June 6, 2021 at 1:24:27 AM UTC+3, MitchAlsup wrote:
> >> On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
> >>> On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
> >>>> On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
> >>>>> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
> >>>>>
> >>>>>> It killed off too many RISC architectures. There would eventually
> >>>>>> have been a consolidation, but x86_64 was not the right architecture
> >>>>>> to consolidate to...
> >>>>> So true, but there was little choice then. Now we have a second chance,
> >>>>> ARM.
> >>>> <
> >>>> Not much of a choice:
> >>>> a) mud pie
> >>>> b) mud pudding
> >>>
> >>> Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)
> >> <
> >> While I value your opinion, you, too, will come to a different conclusion in a few years.
> >
> >
> > Does it mean that you expect that in few years (how many?) the best available (== shipping, sold and bought, *not* paper) high-performance CPU would be neither mud pie nor mud pudding nor mud pastry (i.e. POWER) ?
> >
> Weighing in with my opinions here...
>
> It seems almost inevitable that an ISA will end up messy in some areas
> absent frequent redesign efforts and which break binary compatibility.
<
This is one of the BIG reasons My 66000 has about 30% of the major OpCode space
unallocated at present. This gives plenty of room to grow, without having to squirrel
things into odd corners.
>
> Adding features, and trying to avoid breaking existing binaries, will
> mean that new features don't necessarily mesh cleanly with older
> features, ...
<
This is another BIG reason I ended up preferring instruction modifiers over instructions
when extending the ISA to cover seldom used features (CARRY is the prime example).
>
>
> So, eg, AArch64 deals with 32 and 64 bit operations in a roughly similar
> way to x86-64, but then has funkiness to deal with sign or zero
> extending inputs (rather than keeping the values themselves in a sign or
> zero extended form).
<
I completely agree
>
> It also uses condition-code flags, which personally I am not
> particularly a fan of (I consider the "1 bit predicate" to be a
> different system).
<
I completely agree, here, too.
>
>
> One other drawback with most traditional RISC designs is that to run
> multiple ops in parallel, it is necessary for the hardware to be able to
> figure out whether or not parallel execution is possible, which is more
> difficult and more resource intensive than encoding it explicitly.
<
When I built the "wide" machine, we configured the instruction cache to
have more bits per instruction to encode the intra instruction dependencies..
If an instruction in the packet consumed a result as an operand, the register
specifier had the HoB set and the lower part of the field pointed at the
instruction which would deliver said result. When an instruction produces
a result that did not survive the end of the packet, we marked it as dead
so we did not even allocate a destination register for it.
<
This isolated all of this fairly hard BigO( n^3-to-n^3 ) into the packet builder;
which had execution window cycles to build packets and write the instruction
cache. When running out-of-Icache we only decoded 1 instruction per cycle
and used the inter-packet dependency logic to deal with dependencies. We
remembered these dependencies while the instruction(!) executed, and then
we used the info when packing instructions into the packet.
<
When running in-packet, you get 6-8 instructions per access and can transfer
control to 2 (or 3) different target addresses for the next fetch. There is no
arithmetic in the selection process, merely a "tag" from the packet and "take"
(or "agree") bits from the predictor(s).
<
Were I to do this today, I would do 2 instruction per cycle running out-of Icache.
>
> Though it is a tradeoff, in that now compiled code needs to care about
> things like how wide the target machine is, ...
<
The major thing the compiler should be concerned with is generating the
fewest instructions possible to calculate the semantics of the program;
AND the fewest control transfers possible (i.e., use PRED instead of Branch).
>
> So, a wider machine would likely need to fall back to using the
> superscalar approach if compiling code specifically for that width is
> not viable.
<
I want code compiled for a 1-wide in-order machine to run within spitting
distance (10%-ish) of the best code possible for the Great Big Out-of-Order
Machine.
>
>
>
>
> I was almost doing OK in my current ISA, though recent efforts towards
> expanding the GPR space to R0..R63 haven't been super clean.
>
> But, why? Mostly because when writing things like rasterizer and
> edge-walking loops in my OpenGL rasterizer (in ASM) I was frequently
> running into issues with running out of GPRs and needing to fall back to
> (gasp) spilling variables to memory.
<
I consider a rasterizer to be a dedicated unit that spits out long vectors
of pixels needed to be passed through a pixel processing kernel. you feed
it triangles, it feeds you vectors of pixels with interpolated coordinates.
That is: this is really one of those things you want dedicated HW for if
you want to run fast.
<
I understand the the HW BGB is working with does not provide the area
to be able to do this.
>
> Initially, I did an extension which only worked on SIMD ops, which
> worked well enough:
> These ops only used even pairs, meaning one can do R0..R63 in a 5-bit
> register field. However, this was still fairly limiting.
>
> I had recently tried the Op24 experiment, where I carved off some of the
> remaining (unused) 16-bit encoding space for 24-bit instructions (7zzz
> and 9zzz). They are kinda terrible though, so I decided not to have them
> in the main ISA.
>
>
> More recently, I have reused the same encoding space for 'XGPR' encodings:
> 7wnm-ZeoZ (F0zz)
> 9wnm-Zeii (F2zz / F1zz)
>
> Where the 'w' field is (wnmo):
> w: WEX bit;
> nm: Bit 5 for Rm/Rn
> o: Bit 5 of Ro, or F2/F1 selector
>
> Which expands the main GPR space, but with a few drawbacks:
> It is not possible to predicate these instructions;
> ADD?T R47, R31, R55 // N/E
> The non-contiguous encoding space is fairly ugly;
> Encodings are mutually exclusive with Op24.
>
> At present, I will consider them an optional feature.
>
>
>
> It is possible that predicated forms could have been added which also
> encode the full R0..R63 range, but this would basically "eat" the entire
> 16-bit encoding space (and effectively require the instruction decoder
> to be modal, which is undesirable).

Re: Modern ignorance ---- apologies!

<249fb073-9397-481c-b787-43817cf381e5n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:576e:: with SMTP id r14mr15971239qvx.61.1623037322513;
Sun, 06 Jun 2021 20:42:02 -0700 (PDT)
X-Received: by 2002:a9d:704b:: with SMTP id x11mr6208126otj.110.1623037322286;
Sun, 06 Jun 2021 20:42:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 20:42:02 -0700 (PDT)
In-Reply-To: <35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:127:dbda:21a3:5004;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:127:dbda:21a3:5004
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <249fb073-9397-481c-b787-43817cf381e5n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Mon, 07 Jun 2021 03:42:02 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Mon, 7 Jun 2021 03:42 UTC

On Sunday, June 6, 2021 at 3:20:08 PM UTC-6, MitchAlsup wrote:

> This is one of the BIG reasons My 66000 has about 30% of the major OpCode space
> unallocated at present. This gives plenty of room to grow, without having to squirrel
> things into odd corners.

That certainly makes it vastly better than the current iteration of my Concertina II
architecture in that respect. While there is indeed a vast amount of unallocated opcode
space in the _secondary_ opcode space... the _main_ opcode space is starting life with
things squirreled into odd corners. (However, a _part_ of the main opcode space actually
does have room to grow, the register-to-register operate instructions. Only the
memory-reference instructions are squeezed so tightly no real room is left.)

Since things like carry and full base-index addressing are found on _historical_
architectures, I've included them in the standard instruction set, not concerning
myself about whether they're "rarely used". Saturating multiply, on the other hand,
is not common on historical architectures, so I wasn't familiar with any requirement
for it.

John Savard

Re: Modern ignorance ---- apologies!

<1f653cab-f118-4079-98ef-09051c5f7a23n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:7903:: with SMTP id u3mr3699681qkc.329.1623037687449;
Sun, 06 Jun 2021 20:48:07 -0700 (PDT)
X-Received: by 2002:a9d:2287:: with SMTP id y7mr11792983ota.22.1623037687212;
Sun, 06 Jun 2021 20:48:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Sun, 6 Jun 2021 20:48:06 -0700 (PDT)
In-Reply-To: <35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:127:dbda:21a3:5004;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:127:dbda:21a3:5004
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <1f653cab-f118-4079-98ef-09051c5f7a23n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Mon, 07 Jun 2021 03:48:07 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Mon, 7 Jun 2021 03:48 UTC

On Sunday, June 6, 2021 at 3:20:08 PM UTC-6, MitchAlsup wrote:

> I want code compiled for a 1-wide in-order machine to run within spitting
> distance (10%-ish) of the best code possible for the Great Big Out-of-Order
> Machine.

If you mean that you want the code _compiled_ for 1-wide in-order to
run within 10% of code specifically tailored to the GBOoO machine...
*also on the same GBOoO machine*, that's actually a very conventional
design goal.

In fact, that's partly _why_ we _have_ out-of-order machines instead of
VLIW or similar techniques being common. Cache and OoO are both
ways of making programs run faster without forcing existing code to
be re-written. That was what IBM was up to back when it came up with
the Model 85 with cache and the Model 91 with OoO.

When I first read that sentence, though, I thought you might have been
talking about code compiled for a 1-wide in-order machine running within
10%... while it was running on the 1-wide in-order machine. That, of course,
is flat-out impossible (unless the 1-wide in-order machine has faster
transistors) but I have no doubt that you know that perfectly well.

John Savard

Re: Modern ignorance ---- apologies!

<s9kcel$1tf9$1@gioia.aioe.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!/FKOcGQMirZgkZJCo9x3IA.user.gioia.aioe.org.POSTED!not-for-mail
From: terje.ma...@tmsw.no (Terje Mathisen)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Mon, 7 Jun 2021 07:56:37 +0200
Organization: Aioe.org NNTP Server
Lines: 28
Message-ID: <s9kcel$1tf9$1@gioia.aioe.org>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
<s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
<e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
<s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
NNTP-Posting-Host: /FKOcGQMirZgkZJCo9x3IA.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-Complaints-To: abuse@aioe.org
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101
Firefox/60.0 SeaMonkey/2.53.7.1
X-Notice: Filtered by postfilter v. 0.9.2
 by: Terje Mathisen - Mon, 7 Jun 2021 05:56 UTC

MitchAlsup wrote:
> On Sunday, June 6, 2021 at 11:31:15 AM UTC-5, BGB wrote:
>> Though it is a tradeoff, in that now compiled code needs to care about
>> things like how wide the target machine is, ...
> <
> The major thing the compiler should be concerned with is generating the
> fewest instructions possible to calculate the semantics of the program;
> AND the fewest control transfers possible (i.e., use PRED instead of Branch).

Totally by coincidence (?), that's almost exactly the same heuristic I
use when writing (i.e. optimizing) asm. :-)

Keep it short _and_ branchless if possible.

Since I often end up with some funky lookup tables to handle the most
complicated logic, I also try to minimize the (working set) size of
those tables. My word counter is a good example:

Count characters, words and lines, with user-specified word and line
separator sets. 256 bytes processed in a straight unrolled block using
just 2 or 3 instructions/byte.

Terje

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

Re: Modern ignorance ---- apologies!

<s9l4g1$vr8$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Mon, 7 Jun 2021 14:46:56 +0200
Organization: A noiseless patient Spider
Lines: 168
Message-ID: <s9l4g1$vr8$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
<s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
<e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
<s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 7 Jun 2021 12:46:57 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="1d9d970b75a30f75627d2d8bcb10b11a";
logging-data="32616"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/AvFFXOZTIeVkCG3J2gTTVTp3kYYVmD+4="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:Pgd8zSuCr7LXLU3pNCQBKxGS9Tg=
In-Reply-To: <35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
Content-Language: en-US
 by: Marcus - Mon, 7 Jun 2021 12:46 UTC

On 2021-06-06, MitchAlsup wrote:
> On Sunday, June 6, 2021 at 11:31:15 AM UTC-5, BGB wrote:
>> On 6/6/2021 5:34 AM, Michael S wrote:
>>> On Sunday, June 6, 2021 at 1:24:27 AM UTC+3, MitchAlsup wrote:
>>>> On Saturday, June 5, 2021 at 4:12:21 PM UTC-5, Paul A. Clayton wrote:
>>>>> On Friday, June 4, 2021 at 1:20:59 PM UTC-4, MitchAlsup wrote:
>>>>>> On Friday, June 4, 2021 at 12:01:09 PM UTC-5, Quadibloc wrote:
>>>>>>> On Friday, May 14, 2021 at 1:21:26 PM UTC-6, Thomas Koenig wrote:
>>>>>>>
>>>>>>>> It killed off too many RISC architectures. There would eventually
>>>>>>>> have been a consolidation, but x86_64 was not the right architecture
>>>>>>>> to consolidate to...
>>>>>>> So true, but there was little choice then. Now we have a second chance,
>>>>>>> ARM.
>>>>>> <
>>>>>> Not much of a choice:
>>>>>> a) mud pie
>>>>>> b) mud pudding
>>>>>
>>>>> Are you aware that AArch64 (64-bit ARM ISA) is a relatively clean RISC and that ARM is no longer developing high-performance A-profile cores that support the 32-bit ISAs? (I think an abstraction layer would be better than a traditional ISA, but the business case for such is weaker. My 66000 is better than AArch64, but AArch64 does not seem like mud pudding.)
>>>> <
>>>> While I value your opinion, you, too, will come to a different conclusion in a few years.
>>>
>>>
>>> Does it mean that you expect that in few years (how many?) the best available (== shipping, sold and bought, *not* paper) high-performance CPU would be neither mud pie nor mud pudding nor mud pastry (i.e. POWER) ?
>>>
>> Weighing in with my opinions here...
>>
>> It seems almost inevitable that an ISA will end up messy in some areas
>> absent frequent redesign efforts and which break binary compatibility.
> <
> This is one of the BIG reasons My 66000 has about 30% of the major OpCode space
> unallocated at present. This gives plenty of room to grow, without having to squirrel
> things into odd corners.

Opcode space usage (and hence extensibility) was a main concern when
designing the MRISC32 ISA. I currently have almost 40% of the major
opcode space unallocated (and that's _with_ support for vector
operations, packed/SIMD operations as well as DSP-style fixed point
operations such as saturating arithmetic). In addition to that I also
have two unallocated 28-bit pages for future extensions (e.g. for
new instruction encoding formats, or for extending the existing
formats with more opcode space).

Granted, this is only for the user space ISA, but I expect that
supervisor mode instructions will not eat up too much of the opcode
space.

>>
>> Adding features, and trying to avoid breaking existing binaries, will
>> mean that new features don't necessarily mesh cleanly with older
>> features, ...
> <
> This is another BIG reason I ended up preferring instruction modifiers over instructions
> when extending the ISA to cover seldom used features (CARRY is the prime example).
>>
>>
>> So, eg, AArch64 deals with 32 and 64 bit operations in a roughly similar
>> way to x86-64, but then has funkiness to deal with sign or zero
>> extending inputs (rather than keeping the values themselves in a sign or
>> zero extended form).
> <
> I completely agree
>>
>> It also uses condition-code flags, which personally I am not
>> particularly a fan of (I consider the "1 bit predicate" to be a
>> different system).
> <
> I completely agree, here, too.
>>
>>
>> One other drawback with most traditional RISC designs is that to run
>> multiple ops in parallel, it is necessary for the hardware to be able to
>> figure out whether or not parallel execution is possible, which is more
>> difficult and more resource intensive than encoding it explicitly.
> <
> When I built the "wide" machine, we configured the instruction cache to
> have more bits per instruction to encode the intra instruction dependencies.
> If an instruction in the packet consumed a result as an operand, the register
> specifier had the HoB set and the lower part of the field pointed at the
> instruction which would deliver said result. When an instruction produces
> a result that did not survive the end of the packet, we marked it as dead
> so we did not even allocate a destination register for it.
> <
> This isolated all of this fairly hard BigO( n^3-to-n^3 ) into the packet builder;
> which had execution window cycles to build packets and write the instruction
> cache. When running out-of-Icache we only decoded 1 instruction per cycle
> and used the inter-packet dependency logic to deal with dependencies. We
> remembered these dependencies while the instruction(!) executed, and then
> we used the info when packing instructions into the packet.
> <
> When running in-packet, you get 6-8 instructions per access and can transfer
> control to 2 (or 3) different target addresses for the next fetch. There is no
> arithmetic in the selection process, merely a "tag" from the packet and "take"
> (or "agree") bits from the predictor(s).
> <
> Were I to do this today, I would do 2 instruction per cycle running out-of Icache.
>>
>> Though it is a tradeoff, in that now compiled code needs to care about
>> things like how wide the target machine is, ...
> <
> The major thing the compiler should be concerned with is generating the
> fewest instructions possible to calculate the semantics of the program;
> AND the fewest control transfers possible (i.e., use PRED instead of Branch).
>>
>> So, a wider machine would likely need to fall back to using the
>> superscalar approach if compiling code specifically for that width is
>> not viable.
> <
> I want code compiled for a 1-wide in-order machine to run within spitting
> distance (10%-ish) of the best code possible for the Great Big Out-of-Order
> Machine.
>>
>>
>>
>>
>> I was almost doing OK in my current ISA, though recent efforts towards
>> expanding the GPR space to R0..R63 haven't been super clean.
>>
>> But, why? Mostly because when writing things like rasterizer and
>> edge-walking loops in my OpenGL rasterizer (in ASM) I was frequently
>> running into issues with running out of GPRs and needing to fall back to
>> (gasp) spilling variables to memory.
> <
> I consider a rasterizer to be a dedicated unit that spits out long vectors
> of pixels needed to be passed through a pixel processing kernel. you feed
> it triangles, it feeds you vectors of pixels with interpolated coordinates.
> That is: this is really one of those things you want dedicated HW for if
> you want to run fast.
> <
> I understand the the HW BGB is working with does not provide the area
> to be able to do this.
>>
>> Initially, I did an extension which only worked on SIMD ops, which
>> worked well enough:
>> These ops only used even pairs, meaning one can do R0..R63 in a 5-bit
>> register field. However, this was still fairly limiting.
>>
>> I had recently tried the Op24 experiment, where I carved off some of the
>> remaining (unused) 16-bit encoding space for 24-bit instructions (7zzz
>> and 9zzz). They are kinda terrible though, so I decided not to have them
>> in the main ISA.
>>
>>
>> More recently, I have reused the same encoding space for 'XGPR' encodings:
>> 7wnm-ZeoZ (F0zz)
>> 9wnm-Zeii (F2zz / F1zz)
>>
>> Where the 'w' field is (wnmo):
>> w: WEX bit;
>> nm: Bit 5 for Rm/Rn
>> o: Bit 5 of Ro, or F2/F1 selector
>>
>> Which expands the main GPR space, but with a few drawbacks:
>> It is not possible to predicate these instructions;
>> ADD?T R47, R31, R55 // N/E
>> The non-contiguous encoding space is fairly ugly;
>> Encodings are mutually exclusive with Op24.
>>
>> At present, I will consider them an optional feature.
>>
>>
>>
>> It is possible that predicated forms could have been added which also
>> encode the full R0..R63 range, but this would basically "eat" the entire
>> 16-bit encoding space (and effectively require the instruction decoder
>> to be modal, which is undesirable).

Re: Modern ignorance ---- apologies!

<fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:a703:: with SMTP id q3mr17639740qke.269.1623088147386;
Mon, 07 Jun 2021 10:49:07 -0700 (PDT)
X-Received: by 2002:aca:5755:: with SMTP id l82mr235541oib.44.1623088147113;
Mon, 07 Jun 2021 10:49:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.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: Mon, 7 Jun 2021 10:49:06 -0700 (PDT)
In-Reply-To: <s9l4g1$vr8$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:3983:6a8e:bd5c:deac;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:3983:6a8e:bd5c:deac
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com> <s9l4g1$vr8$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 07 Jun 2021 17:49:07 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 3694
 by: MitchAlsup - Mon, 7 Jun 2021 17:49 UTC

On Monday, June 7, 2021 at 7:47:00 AM UTC-5, Marcus wrote:
> On 2021-06-06, MitchAlsup wrote:
> > On Sunday, June 6, 2021 at 11:31:15 AM UTC-5, BGB wrote:

> > This is one of the BIG reasons My 66000 has about 30% of the major OpCode space
> > unallocated at present. This gives plenty of room to grow, without having to squirrel
> > things into odd corners.
<
> Opcode space usage (and hence extensibility) was a main concern when
> designing the MRISC32 ISA. I currently have almost 40% of the major
> opcode space unallocated (and that's _with_ support for vector
> operations, packed/SIMD operations as well as DSP-style fixed point
> operations such as saturating arithmetic). In addition to that I also
> have two unallocated 28-bit pages for future extensions (e.g. for
> new instruction encoding formats, or for extending the existing
> formats with more opcode space).
<
The Major Opcode space in My 66000 is chopped into 4 regions: 00 OpCode
expansion, 01 Control Transfer, 10 memory ref with 16-bit immediate, 11
integer and logical with 16-bit immediate.
<
The OpCode expansion is further partitioned into 2 sub regions 000 OpCode
expansion with immediates, 001 OpCOde expansion without immediate.
There are 2 of 8 in 000, and 4 of 8 in 001. All large constants are accessed
through 001.
<
Control transfer is partitioned into 2 sub regions, one 010 is empty, and
011 has 5 branch and call instructions in it.
<
Now, from this Major OpCOde region, certain major opcodes are reserved
indefinitely, so that there is a very high probability of taking an ILLEGAL
OpCode exception if one transfers control into integer of floating point
data. {The MMU tables can also prevent this.}
>
> Granted, this is only for the user space ISA, but I expect that
> supervisor mode instructions will not eat up too much of the opcode
> space.
<
My 66000 has no (zero, nada, zilch) supervisor instructions.
>

Re: Modern ignorance ---- apologies!

<7bf6b3ba-061d-4f41-ba5a-8483f6b186a0n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ad4:424b:: with SMTP id l11mr20069348qvq.58.1623096440249;
Mon, 07 Jun 2021 13:07:20 -0700 (PDT)
X-Received: by 2002:a05:6830:118c:: with SMTP id u12mr7979992otq.82.1623096440117;
Mon, 07 Jun 2021 13:07:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 7 Jun 2021 13:07:19 -0700 (PDT)
In-Reply-To: <fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:d94:c9b3:6345:d6b3;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:d94:c9b3:6345:d6b3
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com> <s9l4g1$vr8$1@dont-email.me>
<fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7bf6b3ba-061d-4f41-ba5a-8483f6b186a0n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Mon, 07 Jun 2021 20:07:20 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Mon, 7 Jun 2021 20:07 UTC

On Monday, June 7, 2021 at 11:49:08 AM UTC-6, MitchAlsup wrote:

> My 66000 has no (zero, nada, zilch) supervisor instructions.

No doubt it uses some other mechanism for allowing the operating
system to enforce stuff on user processes, such as doing everything
by means of memory mapping. (How you avoid having supervisor
instructions to *manage the memory map*, though, is perhaps the
question.)

My only potential concern might be that system software writers might
experience difficulty in adapting to a novel approach.

John Savard

Re: Modern ignorance ---- apologies!

<cce02030-41c1-4093-bd3d-5c24108783ean@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:4484:: with SMTP id r126mr18165862qka.18.1623099528300;
Mon, 07 Jun 2021 13:58:48 -0700 (PDT)
X-Received: by 2002:a9d:6345:: with SMTP id y5mr7536512otk.240.1623099528068;
Mon, 07 Jun 2021 13:58:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 7 Jun 2021 13:58:47 -0700 (PDT)
In-Reply-To: <7bf6b3ba-061d-4f41-ba5a-8483f6b186a0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:3983:6a8e:bd5c:deac;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:3983:6a8e:bd5c:deac
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com> <s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com> <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com> <e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com> <s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com> <s9l4g1$vr8$1@dont-email.me>
<fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com> <7bf6b3ba-061d-4f41-ba5a-8483f6b186a0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <cce02030-41c1-4093-bd3d-5c24108783ean@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 07 Jun 2021 20:58:48 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Mon, 7 Jun 2021 20:58 UTC

On Monday, June 7, 2021 at 3:07:21 PM UTC-5, Quadibloc wrote:
> On Monday, June 7, 2021 at 11:49:08 AM UTC-6, MitchAlsup wrote:
>
> > My 66000 has no (zero, nada, zilch) supervisor instructions.
<
> No doubt it uses some other mechanism for allowing the operating
> system to enforce stuff on user processes, such as doing everything
> by means of memory mapping. (How you avoid having supervisor
> instructions to *manage the memory map*, though, is perhaps the
> question.)
<
If your MMU tables allow you to read an write, then you can control
something--like enabling a thread to run, disabling a thread from
running,..... There will be some threads in the system with permission
to read and write your {or his or hers} MMU tables. These control access
to memory and thus to all things contained in memory--and all registers
and thread state have a "place" in memory. HW is more like a cache
in spilling and filling machine registers.
>
> My only potential concern might be that system software writers might
> experience difficulty in adapting to a novel approach.
<
The *visor merely has to enable the thread, and then disable itself and
the machine does the rest. No saving registers, and state, no restoring
registers and state. All state associated with a thread/task is HW
managed at context switch time and software managed at all other
times.
<
Since the *visor has access to the enable bit of the thread, it also has
access to the register file and can thus read arguments to system calls
or deliver return values back to the caller.
<
If/when a debugger assesses your register file and the thread is running,
the thread comes to a quiescent point, the register is read, and the thread
resumes. Same for thread state registers. Use the same address whether
the thread is running or quiescent.
>
> John Savard

Re: Modern ignorance ---- apologies!

<s9n6i5$rjo$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: m.del...@this.bitsnbites.eu (Marcus)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 8 Jun 2021 09:34:28 +0200
Organization: A noiseless patient Spider
Lines: 9
Message-ID: <s9n6i5$rjo$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me> <s7mc6g$tei$1@newsreader4.netcologne.de>
<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
<s7mijk$29m$1@newsreader4.netcologne.de>
<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
<a1c85c09-30cd-417a-8156-7fa82a266655n@googlegroups.com>
<e95c2fce-ed18-475b-b991-db0fe9419bcbn@googlegroups.com>
<0f1f9a0f-17be-4a98-baa7-3fae24a77653n@googlegroups.com>
<s9it8g$t2r$1@dont-email.me>
<35032bd8-1892-42e0-adf3-2bc26f5af7can@googlegroups.com>
<s9l4g1$vr8$1@dont-email.me>
<fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 8 Jun 2021 07:34:29 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="415002d3ec42008cb634c2c21f2f3ab5";
logging-data="28280"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+cFOazEZJPMfbW22Tinb8A4O9FZVM+URE="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.8.1
Cancel-Lock: sha1:3yjnVK0cXGnLjrL6ElOKG5b8K50=
In-Reply-To: <fb8a55b0-39c9-4610-b1a4-92d5c0ad6873n@googlegroups.com>
Content-Language: en-US
 by: Marcus - Tue, 8 Jun 2021 07:34 UTC

On 2021-06-07, MitchAlsup wrote:
> My 66000 has no (zero, nada, zilch) supervisor instructions.

Interesting. I read your explanation about MMU tables. How about other
things, like cache control and interrupt & exception control? Machine
status & feature registers? Is that handled via protected memory mapped
registers?

/Marcus


devel / comp.arch / Re: Modern ignorance ---- apologies!

Pages:1234
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor