Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Thufir's a Harkonnen now.


devel / comp.arch / 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
Modern ignorance ---- apologies!

<s7c7jn$10l$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: headston...@yahoo.com (gareth evans)
Newsgroups: comp.arch
Subject: Modern ignorance ---- apologies!
Date: Mon, 10 May 2021 22:12:18 +0100
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <s7c7jn$10l$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 10 May 2021 21:12:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="beec01af8990aa2ced4d6a76cce65625";
logging-data="1045"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Q6lMY4KOkQVAWjZWEHf/0"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:uR+flBcHm/aLpl1lBgfZhDYSfnM=
X-Mozilla-News-Host: snews://news.eternal-september.org:563
 by: gareth evans - Mon, 10 May 2021 21:12 UTC

Did my assembler apprenticeship 40 years ago on a PDP11/20,
long before any cache or pipelining.

In, say, the ARMv8 architecture, with its pipelining and
branch prediction, does one have to pad out instructions
following a branch so that the pipeline gets flushed?

Also, if the branch is not taken, should there be a string of NOPs
inlineso that if the branch is taken, there have not been
any speculative instructions already executed that would
affect the logic of a program?

Re: Modern ignorance ---- apologies!

<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:59ce:: with SMTP id f14mr25680587qtf.346.1620681575297;
Mon, 10 May 2021 14:19:35 -0700 (PDT)
X-Received: by 2002:a9d:70c1:: with SMTP id w1mr3960348otj.276.1620681575059;
Mon, 10 May 2021 14:19:35 -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, 10 May 2021 14:19:34 -0700 (PDT)
In-Reply-To: <s7c7jn$10l$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <s7c7jn$10l$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Mon, 10 May 2021 21:19:35 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Mon, 10 May 2021 21:19 UTC

On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
> Did my assembler apprenticeship 40 years ago on a PDP11/20,
> long before any cache or pipelining.
>
> In, say, the ARMv8 architecture, with its pipelining and
> branch prediction, does one have to pad out instructions
> following a branch so that the pipeline gets flushed?
<
No, no modern machine is requiring NoOp padding.
>
> Also, if the branch is not taken, should there be a string of NOPs
> inline so that if the branch is taken, there have not been
> any speculative instructions already executed that would
> affect the logic of a program?
<
Only MIPS, SPARC, 88K, and Alpha had branch delay slots.

Re: Modern ignorance ---- apologies!

<qdimI.30146$AU5.26134@fx29.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!peer02.ams4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx29.iad.POSTED!not-for-mail
From: ThatWoul...@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
In-Reply-To: <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 18
Message-ID: <qdimI.30146$AU5.26134@fx29.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Mon, 10 May 2021 22:12:38 UTC
Date: Mon, 10 May 2021 18:12:38 -0400
X-Received-Bytes: 1612
 by: EricP - Mon, 10 May 2021 22:12 UTC

MitchAlsup wrote:
> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>> long before any cache or pipelining.
>>
>> In, say, the ARMv8 architecture, with its pipelining and
>> branch prediction, does one have to pad out instructions
>> following a branch so that the pipeline gets flushed?
> <
> No, no modern machine is requiring NoOp padding.
>> Also, if the branch is not taken, should there be a string of NOPs
>> inline so that if the branch is taken, there have not been
>> any speculative instructions already executed that would
>> affect the logic of a program?
> <
> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.

Not Alpha - the ISA guarantees no branch or load delay slots.

Re: Modern ignorance ---- apologies!

<s7cbqn$jem$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Mon, 10 May 2021 15:24:23 -0700
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <s7cbqn$jem$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 10 May 2021 22:24:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="d291f65b192254a3f48b4557d18e5032";
logging-data="19926"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+GzKSbd8ayT5GGoOhAmZ2WcVcoV2zpJwU="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.1
Cancel-Lock: sha1:V29aPW1KReipX6up45ziCo99mJI=
In-Reply-To: <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Content-Language: en-US
 by: Stephen Fuld - Mon, 10 May 2021 22:24 UTC

On 5/10/2021 2:19 PM, MitchAlsup wrote:
> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>> long before any cache or pipelining.
>>
>> In, say, the ARMv8 architecture, with its pipelining and
>> branch prediction, does one have to pad out instructions
>> following a branch so that the pipeline gets flushed?
> <
> No, no modern machine is requiring NoOp padding.
>>
>> Also, if the branch is not taken, should there be a string of NOPs
>> inline so that if the branch is taken, there have not been
>> any speculative instructions already executed that would
>> affect the logic of a program?
> <
> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.

AMD 29000 had branch delay slots.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: Modern ignorance ---- apologies!

<2021May11.110939@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 11 May 2021 09:09:39 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 12
Message-ID: <2021May11.110939@mips.complang.tuwien.ac.at>
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Injection-Info: reader02.eternal-september.org; posting-host="02e96990a4a520aa202191ff30918326";
logging-data="8643"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/fgrusyvAyk0ZykCB+F+K+"
Cancel-Lock: sha1:lx/wbqoRq8aygBjFjzdyu0xuCqY=
X-newsreader: xrn 10.00-beta-3
 by: Anton Ertl - Tue, 11 May 2021 09:09 UTC

MitchAlsup <MitchAlsup@aol.com> writes:
>Only MIPS, SPARC, 88K, and Alpha had branch delay slots.

Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
from TI, and Trimedia from Philips) elevated branch delay slot to an
art form: the had several branch delay slots, and several nops, some
of which where for filling multiple delay slots.

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

Re: Modern ignorance ---- apologies!

<s7dn8a$78r$2@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2001-4dd7-6262-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 11 May 2021 10:45:30 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <s7dn8a$78r$2@newsreader4.netcologne.de>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at>
Injection-Date: Tue, 11 May 2021 10:45:30 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2001-4dd7-6262-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2001:4dd7:6262:0:7285:c2ff:fe6c:992d";
logging-data="7451"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Tue, 11 May 2021 10:45 UTC

Anton Ertl <anton@mips.complang.tuwien.ac.at> schrieb:
> MitchAlsup <MitchAlsup@aol.com> writes:
>>Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>
> Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
> from TI, and Trimedia from Philips) elevated branch delay slot to an
> art form: the had several branch delay slots, and several nops, some
> of which where for filling multiple delay slots.

IIRC, the 801 had branch instructions with and without delay slots,
so the compiler could chose.

Re: Modern ignorance ---- apologies!

<c0880aa7-c37d-4325-bea6-c6f10fca9fccn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:aa44:: with SMTP id e4mr28960193qvb.41.1620735047866;
Tue, 11 May 2021 05:10:47 -0700 (PDT)
X-Received: by 2002:a05:6830:1605:: with SMTP id g5mr25175680otr.22.1620735047397;
Tue, 11 May 2021 05:10:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed7.news.xs4all.nl!news-out.netnews.com!news.alt.net!fdc3.netnews.com!peer03.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: Tue, 11 May 2021 05:10:47 -0700 (PDT)
In-Reply-To: <s7dn8a$78r$2@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:64ec:ee26:c6b6:9d4a;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:64ec:ee26:c6b6:9d4a
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at> <s7dn8a$78r$2@newsreader4.netcologne.de>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c0880aa7-c37d-4325-bea6-c6f10fca9fccn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Tue, 11 May 2021 12:10:47 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1633
 by: Quadibloc - Tue, 11 May 2021 12:10 UTC

On Tuesday, May 11, 2021 at 4:45:32 AM UTC-6, Thomas Koenig wrote:

> IIRC, the 801 had branch instructions with and without delay slots,
> so the compiler could chose.

So if useful instructions can be placed in them, the one with delay
slots is used; otherwise, no need to waste memory on no-operation
instructions.

John Savard

Re: Modern ignorance ---- apologies!

<s7epic$b9l$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 11 May 2021 13:31:07 -0700
Organization: A noiseless patient Spider
Lines: 17
Message-ID: <s7epic$b9l$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 11 May 2021 20:31:08 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="8d7b9135d963dcff083c5b1cfb1a474a";
logging-data="11573"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/jc+WCuEOjWcKcxfG/+BDj"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.0
Cancel-Lock: sha1:jvssbX0qr3RCUkk/nviYEngCM+k=
In-Reply-To: <2021May11.110939@mips.complang.tuwien.ac.at>
Content-Language: en-US
 by: Ivan Godard - Tue, 11 May 2021 20:31 UTC

On 5/11/2021 2:09 AM, Anton Ertl wrote:
> MitchAlsup <MitchAlsup@aol.com> writes:
>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>
> Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
> from TI, and Trimedia from Philips) elevated branch delay slot to an
> art form: the had several branch delay slots, and several nops, some
> of which where for filling multiple delay slots.
>
> - anton
>

Well put, Anton.

I was on the Trimedia architecture team. There were three branch delay
slots, and you could put branches in the delay slots, which gave you
what amounted to an EXEC instruction. Asm for it was indeed an art form.

Re: Modern ignorance ---- apologies!

<26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:66da:: with SMTP id m26mr18245941qtp.102.1620769854075; Tue, 11 May 2021 14:50:54 -0700 (PDT)
X-Received: by 2002:a05:6830:1605:: with SMTP id g5mr27261773otr.22.1620769853863; Tue, 11 May 2021 14:50:53 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!tr1.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: Tue, 11 May 2021 14:50:53 -0700 (PDT)
In-Reply-To: <s7epic$b9l$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com> <2021May11.110939@mips.complang.tuwien.ac.at> <s7epic$b9l$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Tue, 11 May 2021 21:50:54 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 19
 by: MitchAlsup - Tue, 11 May 2021 21:50 UTC

On Tuesday, May 11, 2021 at 3:31:10 PM UTC-5, Ivan Godard wrote:
> On 5/11/2021 2:09 AM, Anton Ertl wrote:
> > MitchAlsup <Mitch...@aol.com> writes:
> >> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
> >
> > Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
> > from TI, and Trimedia from Philips) elevated branch delay slot to an
> > art form: the had several branch delay slots, and several nops, some
> > of which where for filling multiple delay slots.
> >
> > - anton
> >
> Well put, Anton.
>
> I was on the Trimedia architecture team. There were three branch delay
> slots, and you could put branches in the delay slots, which gave you
> what amounted to an EXEC instruction. Asm for it was indeed an art form.
<
It gave you a semi-literate EXC instruction, but if the EXCed instruction was
a branch, you just lost control of where you were.

Re: Modern ignorance ---- apologies!

<s7f5ep$bs3$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: iva...@millcomputing.com (Ivan Godard)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 11 May 2021 16:54:01 -0700
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <s7f5ep$bs3$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at> <s7epic$b9l$1@dont-email.me>
<26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 11 May 2021 23:54:01 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="2a93c134b2eab2a6d6731853ca662d4f";
logging-data="12163"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX191jSKI3NjoUyMbXj9k54ws"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.0
Cancel-Lock: sha1:lyy1SXJ72Y9CDkKC7oiM5cJhK1I=
In-Reply-To: <26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com>
Content-Language: en-US
 by: Ivan Godard - Tue, 11 May 2021 23:54 UTC

On 5/11/2021 2:50 PM, MitchAlsup wrote:
> On Tuesday, May 11, 2021 at 3:31:10 PM UTC-5, Ivan Godard wrote:
>> On 5/11/2021 2:09 AM, Anton Ertl wrote:
>>> MitchAlsup <Mitch...@aol.com> writes:
>>>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>>>
>>> Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
>>> from TI, and Trimedia from Philips) elevated branch delay slot to an
>>> art form: the had several branch delay slots, and several nops, some
>>> of which where for filling multiple delay slots.
>>>
>>> - anton
>>>
>> Well put, Anton.
>>
>> I was on the Trimedia architecture team. There were three branch delay
>> slots, and you could put branches in the delay slots, which gave you
>> what amounted to an EXEC instruction. Asm for it was indeed an art form.
> <
> It gave you a semi-literate EXC instruction, but if the EXCed instruction was
> a branch, you just lost control of where you were.
>

Isn't that true of any EXEC? I don't know what other systems did about
that - do you?

Re: Modern ignorance ---- apologies!

<s7fcil$hjc$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: sfu...@alumni.cmu.edu.invalid (Stephen Fuld)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Tue, 11 May 2021 18:55:31 -0700
Organization: A noiseless patient Spider
Lines: 44
Message-ID: <s7fcil$hjc$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at> <s7epic$b9l$1@dont-email.me>
<26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com>
<s7f5ep$bs3$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 12 May 2021 01:55:33 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="d739de52a278ae873ef6fdb084a97aef";
logging-data="18028"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX196VC0I5aevCCb9MV/QvCilXUCOJRc/R14="
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.1
Cancel-Lock: sha1:PyKfaIBZfeEM48QUaUmHCSosUTE=
In-Reply-To: <s7f5ep$bs3$1@dont-email.me>
Content-Language: en-US
 by: Stephen Fuld - Wed, 12 May 2021 01:55 UTC

On 5/11/2021 4:54 PM, Ivan Godard wrote:
> On 5/11/2021 2:50 PM, MitchAlsup wrote:
>> On Tuesday, May 11, 2021 at 3:31:10 PM UTC-5, Ivan Godard wrote:
>>> On 5/11/2021 2:09 AM, Anton Ertl wrote:
>>>> MitchAlsup <Mitch...@aol.com> writes:
>>>>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>>>>
>>>> Alpha hadn't. 29K did AFAIK had. Various signal processors (IIRC
>>>> from TI, and Trimedia from Philips) elevated branch delay slot to an
>>>> art form: the had several branch delay slots, and several nops, some
>>>> of which where for filling multiple delay slots.
>>>>
>>>> - anton
>>>>
>>> Well put, Anton.
>>>
>>> I was on the Trimedia architecture team. There were three branch delay
>>> slots, and you could put branches in the delay slots, which gave you
>>> what amounted to an EXEC instruction. Asm for it was indeed an art form.
>> <
>> It gave you a semi-literate EXC instruction, but if the EXCed
>> instruction was
>> a branch, you just lost control of where you were.
>>
>
> Isn't that true of any EXEC?  I don't know what other systems did about
> that - do you?

On the Univac 1100 series there is an Execute instruction. If the
instruction executed is a jump, control is transferred to the "jump to"
address. Furthermore, if the executed instruction is a call type,
control is transferred as before, but the return address is set to the
instruction after the Execute instruction.

And, BTW, the effective address computed by the Execute instruction (the
address of the instruction being Executed), was went through normal
address calculation, including optional register contents addition, etc.

--
- Stephen Fuld
(e-mail address disguised to prevent spam)

Re: Modern ignorance ---- apologies!

<s7mbni$5q8$1@dont-email.me>

  copy mid

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

  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: Fri, 14 May 2021 12:22:35 -0500
Organization: A noiseless patient Spider
Lines: 104
Message-ID: <s7mbni$5q8$1@dont-email.me>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 14 May 2021 17:24:02 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="8402408f5e5cb57f2dd58c4bb7f0a0e2";
logging-data="5960"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/MfTWoVZwihR45JI7esbtn"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.1
Cancel-Lock: sha1:GeV7q0zcbD08onfqj3p/0NkLVpw=
In-Reply-To: <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
Content-Language: en-US
 by: BGB - Fri, 14 May 2021 17:22 UTC

On 5/10/2021 4:19 PM, MitchAlsup wrote:
> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>> long before any cache or pipelining.
>>
>> In, say, the ARMv8 architecture, with its pipelining and
>> branch prediction, does one have to pad out instructions
>> following a branch so that the pipeline gets flushed?
> <
> No, no modern machine is requiring NoOp padding.
>>
>> Also, if the branch is not taken, should there be a string of NOPs
>> inline so that if the branch is taken, there have not been
>> any speculative instructions already executed that would
>> affect the logic of a program?
> <
> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>

Adding to this list:
SuperH, TMS320, ...

I skipped out on them because:
They suck;
They would have exposed awkward implementation details (*);
Much of the time, they would just end up with NOPs anyways;
...

*: Say, one has an ISA where the bundling, handling of larger
instruction encodings, ...

May be handled as one of:
Read and decoded, and executed, all at once;
Read, decoded, and executed one instruction word at a time;
...

When I designed my ISA, I had a few design goals:
A single-wide core should still be able to execute wide-execute code;
A wider core should be able to execute code meant for a narrower core;
A core should be able to ignore the bundle encoding and use superscalar
if it wants;
....

Delay slots would have caused this to fall on its face.

For example, there is a single-wide profile for BJX2, which (provided
the same instructions are supported) can execute code intended to use WEX.

However, jumbo encodings use a different mechanism:
Jumbo prefixes are executed one at a time, initially behaving like NOPs;
On the final instruction, the larger immediate just sorta appears out of
nowhere.

Similarly, the emulator also checks and "lints" bundles for being
well-formed, and will decode instructions as "BREAK" if they violate
bundling rules (and thus lead to a behavioral divergence). This is
intended mostly to try to sanity-check the compiler output, but
sometimes detects ASM bugs as well (I recently tightened up a few of the
rules after I had noticed some evidence of behavioral divergence in the
Verilog implementation).

There are some features I had looked at which if-supported can also make
for possible issues:
Supporting a second (Load Only) memory-port in Lane 2;
Allowing scalar FPU ops to be executed in Lane 2 (*2);
...

Mostly in that, if used, these operations would break on a core which
does not support them (this code could only be safely executed in scalar
mode).

*2: I have experimentally allowed this. It does allow for a speedup in
floating-point intensive code, generally by allowing memory access or
similar to happen in parallel with FPU operations or "narrow" SIMD
operations (2xFP32 or 4xFP16). Still not formally allowed though.

Likewise, 3-wide code would have broken on a 2-wide core, and it would
have been possible to compose code on 2-wide which would have broken on
a 3-wide core. However, the differences in cost and capabilities favored
eliminating the 2-wide case entirely (the 3-wide was only slightly more
expensive; and was more capable in terms of what it could do with 2-wide
code).

Wider doesn't look likely at the moment, and it is likely if a 4+ core
were done, it would probably be based on OoO superscalar rather than VLIW.

I suspect for the most part, 3-wide is already mostly at the limits of
what level of usable ILP tends to exist for an in-order design, and that
going much wider would be essentially pointless.

....

Nevermind if DRAM bandwidth is still an issue:
Despite the much faster bus (and faster L2 speeds), the bandwidth to
external DRAM is still apparently only ~ 1/4 what is claimed for 72-pin
SIMM RAM on a 486 (seeing stuff claiming a 486 could memcpy 50MB/s in
external DRAM).

Re: Modern ignorance ---- apologies!

<s7mc6g$tei$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-2862-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Fri, 14 May 2021 17:32:00 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <s7mc6g$tei$1@newsreader4.netcologne.de>
References: <s7c7jn$10l$1@dont-email.me>
<3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<s7mbni$5q8$1@dont-email.me>
Injection-Date: Fri, 14 May 2021 17:32:00 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-2862-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:2862:0:7285:c2ff:fe6c:992d";
logging-data="30162"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 14 May 2021 17:32 UTC

BGB <cr88192@gmail.com> schrieb:
> On 5/10/2021 4:19 PM, MitchAlsup wrote:
>> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>>> long before any cache or pipelining.
>>>
>>> In, say, the ARMv8 architecture, with its pipelining and
>>> branch prediction, does one have to pad out instructions
>>> following a branch so that the pipeline gets flushed?
>> <
>> No, no modern machine is requiring NoOp padding.
>>>
>>> Also, if the branch is not taken, should there be a string of NOPs
>>> inline so that if the branch is taken, there have not been
>>> any speculative instructions already executed that would
>>> affect the logic of a program?
>> <
>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>>
>
> Adding to this list:
> SuperH, TMS320, ...

Don't forget HP-PA.

>
>
> I skipped out on them because:
> They suck;

I worked on HP-PA machines for a while, it was not too bad in
instructions per cycle.

Re: Modern ignorance ---- apologies!

<aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:b8b:: with SMTP id 133mr39115088qkl.433.1621015918449; Fri, 14 May 2021 11:11:58 -0700 (PDT)
X-Received: by 2002:aca:2107:: with SMTP id 7mr7868386oiz.110.1621015918253; Fri, 14 May 2021 11:11:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!tr3.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.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: Fri, 14 May 2021 11:11:58 -0700 (PDT)
In-Reply-To: <s7mbni$5q8$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com> <s7mbni$5q8$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 14 May 2021 18:11:58 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 116
 by: MitchAlsup - Fri, 14 May 2021 18:11 UTC

On Friday, May 14, 2021 at 12:24:04 PM UTC-5, BGB wrote:
> On 5/10/2021 4:19 PM, MitchAlsup wrote:
> > On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
> >> Did my assembler apprenticeship 40 years ago on a PDP11/20,
> >> long before any cache or pipelining.
> >>
> >> In, say, the ARMv8 architecture, with its pipelining and
> >> branch prediction, does one have to pad out instructions
> >> following a branch so that the pipeline gets flushed?
> > <
> > No, no modern machine is requiring NoOp padding.
> >>
> >> Also, if the branch is not taken, should there be a string of NOPs
> >> inline so that if the branch is taken, there have not been
> >> any speculative instructions already executed that would
> >> affect the logic of a program?
> > <
> > Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
> >
> Adding to this list:
> SuperH, TMS320, ...
>
>
> I skipped out on them because:
> They suck;
> They would have exposed awkward implementation details (*);
> Much of the time, they would just end up with NOPs anyways;
> ...
>
>
> *: Say, one has an ISA where the bundling, handling of larger
> instruction encodings, ...
<
Say one decided that this wastes more entropy that one wants to allow:
>
> May be handled as one of:
> Read and decoded, and executed, all at once;
> Read, decoded, and executed one instruction word at a time;
> ...
<
The Std RISC-like ISA allows for wide implementations where the compiler
can be rather ignorant of how wide the machine happens to be.
>
> When I designed my ISA, I had a few design goals:
> A single-wide core should still be able to execute wide-execute code;
> A wider core should be able to execute code meant for a narrower core;
> A core should be able to ignore the bundle encoding and use superscalar
> if it wants;
<
Is it NOT simpler simply not to have wide execute encoding, this lets narrow
machines execute as they see fit, and for machines that are significantly
wide, decide for themselves how to bundle instructions ?
> ...
>
> Delay slots would have caused this to fall on its face.
<
Absofriggenlutely ! Delay slots are a bad idea that in the heat of battle 1st
generation RISC could not afford to lose the perf they apparently bought,
but that created a large burden on all future implementatnions.
>
>
> For example, there is a single-wide profile for BJX2, which (provided
> the same instructions are supported) can execute code intended to use WEX.
>
> However, jumbo encodings use a different mechanism:
> Jumbo prefixes are executed one at a time, initially behaving like NOPs;
> On the final instruction, the larger immediate just sorta appears out of
> nowhere.
>
> Similarly, the emulator also checks and "lints" bundles for being
> well-formed, and will decode instructions as "BREAK" if they violate
> bundling rules (and thus lead to a behavioral divergence). This is
> intended mostly to try to sanity-check the compiler output, but
> sometimes detects ASM bugs as well (I recently tightened up a few of the
> rules after I had noticed some evidence of behavioral divergence in the
> Verilog implementation).
>
>
>
> There are some features I had looked at which if-supported can also make
> for possible issues:
> Supporting a second (Load Only) memory-port in Lane 2;
> Allowing scalar FPU ops to be executed in Lane 2 (*2);
> ...
>
> Mostly in that, if used, these operations would break on a core which
> does not support them (this code could only be safely executed in scalar
> mode).
>
> *2: I have experimentally allowed this. It does allow for a speedup in
> floating-point intensive code, generally by allowing memory access or
> similar to happen in parallel with FPU operations or "narrow" SIMD
> operations (2xFP32 or 4xFP16). Still not formally allowed though.
>
>
> Likewise, 3-wide code would have broken on a 2-wide core, and it would
> have been possible to compose code on 2-wide which would have broken on
> a 3-wide core. However, the differences in cost and capabilities favored
> eliminating the 2-wide case entirely (the 3-wide was only slightly more
> expensive; and was more capable in terms of what it could do with 2-wide
> code).
>
> Wider doesn't look likely at the moment, and it is likely if a 4+ core
> were done, it would probably be based on OoO superscalar rather than VLIW.
>
> I suspect for the most part, 3-wide is already mostly at the limits of
> what level of usable ILP tends to exist for an in-order design, and that
> going much wider would be essentially pointless.
>
> ...
>
>
> Nevermind if DRAM bandwidth is still an issue:
> Despite the much faster bus (and faster L2 speeds), the bandwidth to
> external DRAM is still apparently only ~ 1/4 what is claimed for 72-pin
> SIMM RAM on a 486 (seeing stuff claiming a 486 could memcpy 50MB/s in
> external DRAM).

Re: Modern ignorance ---- apologies!

<2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:2097:: with SMTP id e23mr46071960qka.98.1621015966820;
Fri, 14 May 2021 11:12:46 -0700 (PDT)
X-Received: by 2002:a9d:711a:: with SMTP id n26mr28311846otj.329.1621015966627;
Fri, 14 May 2021 11:12:46 -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: Fri, 14 May 2021 11:12:46 -0700 (PDT)
In-Reply-To: <s7mc6g$tei$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2091456b-24aa-4f3f-8ea6-0bdaddb40c5bn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 14 May 2021 18:12:46 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Fri, 14 May 2021 18:12 UTC

On Friday, May 14, 2021 at 12:32:02 PM UTC-5, Thomas Koenig wrote:
> BGB <cr8...@gmail.com> schrieb:
> > On 5/10/2021 4:19 PM, MitchAlsup wrote:
> >> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
> >>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
> >>> long before any cache or pipelining.
> >>>
> >>> In, say, the ARMv8 architecture, with its pipelining and
> >>> branch prediction, does one have to pad out instructions
> >>> following a branch so that the pipeline gets flushed?
> >> <
> >> No, no modern machine is requiring NoOp padding.
> >>>
> >>> Also, if the branch is not taken, should there be a string of NOPs
> >>> inline so that if the branch is taken, there have not been
> >>> any speculative instructions already executed that would
> >>> affect the logic of a program?
> >> <
> >> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
> >>
> >
> > Adding to this list:
> > SuperH, TMS320, ...
> Don't forget HP-PA.
> >
> >
> > I skipped out on them because:
> > They suck;
> I worked on HP-PA machines for a while, it was not too bad in
> instructions per cycle.
<
HP-PA was not nearly as bad as the machine that HP jumped onto
after HP-PA !!

Re: Modern ignorance ---- apologies!

<s7mijk$29m$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.dns-netz.com!news.freedyn.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-2862-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Fri, 14 May 2021 19:21:24 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <s7mijk$29m$1@newsreader4.netcologne.de>
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>
Injection-Date: Fri, 14 May 2021 19:21:24 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-2862-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de:2a0a:a540:2862:0:7285:c2ff:fe6c:992d";
logging-data="2358"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Fri, 14 May 2021 19:21 UTC

MitchAlsup <MitchAlsup@aol.com> schrieb:
> On Friday, May 14, 2021 at 12:32:02 PM UTC-5, Thomas Koenig wrote:
>> BGB <cr8...@gmail.com> schrieb:
>> > On 5/10/2021 4:19 PM, MitchAlsup wrote:
>> >> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>> >>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>> >>> long before any cache or pipelining.
>> >>>
>> >>> In, say, the ARMv8 architecture, with its pipelining and
>> >>> branch prediction, does one have to pad out instructions
>> >>> following a branch so that the pipeline gets flushed?
>> >> <
>> >> No, no modern machine is requiring NoOp padding.
>> >>>
>> >>> Also, if the branch is not taken, should there be a string of NOPs
>> >>> inline so that if the branch is taken, there have not been
>> >>> any speculative instructions already executed that would
>> >>> affect the logic of a program?
>> >> <
>> >> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>> >>
>> >
>> > Adding to this list:
>> > SuperH, TMS320, ...
>> Don't forget HP-PA.
>> >
>> >
>> > I skipped out on them because:
>> > They suck;
>> I worked on HP-PA machines for a while, it was not too bad in
>> instructions per cycle.
><
> HP-PA was not nearly as bad as the machine that HP jumped onto
> after HP-PA !!

Which was one of the worst aspects of Itanium.

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...

Re: Modern ignorance ---- apologies!

<s7mkdg$73d$1@dont-email.me>

  copy mid

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

  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: Fri, 14 May 2021 14:52:15 -0500
Organization: A noiseless patient Spider
Lines: 163
Message-ID: <s7mkdg$73d$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>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 14 May 2021 19:52:16 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="8402408f5e5cb57f2dd58c4bb7f0a0e2";
logging-data="7277"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/0zvseyxx57fmOrRndezXw"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
Thunderbird/78.10.1
Cancel-Lock: sha1:yr7YC1KS0QwJlVdH8PAIdPyI+FE=
In-Reply-To: <aaa963f3-1d71-4544-90f3-a43f635fb57fn@googlegroups.com>
Content-Language: en-US
 by: BGB - Fri, 14 May 2021 19:52 UTC

On 5/14/2021 1:11 PM, MitchAlsup wrote:
> On Friday, May 14, 2021 at 12:24:04 PM UTC-5, BGB wrote:
>> On 5/10/2021 4:19 PM, MitchAlsup wrote:
>>> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
>>>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
>>>> long before any cache or pipelining.
>>>>
>>>> In, say, the ARMv8 architecture, with its pipelining and
>>>> branch prediction, does one have to pad out instructions
>>>> following a branch so that the pipeline gets flushed?
>>> <
>>> No, no modern machine is requiring NoOp padding.
>>>>
>>>> Also, if the branch is not taken, should there be a string of NOPs
>>>> inline so that if the branch is taken, there have not been
>>>> any speculative instructions already executed that would
>>>> affect the logic of a program?
>>> <
>>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
>>>
>> Adding to this list:
>> SuperH, TMS320, ...
>>
>>
>> I skipped out on them because:
>> They suck;
>> They would have exposed awkward implementation details (*);
>> Much of the time, they would just end up with NOPs anyways;
>> ...
>>
>>
>> *: Say, one has an ISA where the bundling, handling of larger
>> instruction encodings, ...
> <
> Say one decided that this wastes more entropy that one wants to allow:
>>
>> May be handled as one of:
>> Read and decoded, and executed, all at once;
>> Read, decoded, and executed one instruction word at a time;
>> ...
> <
> The Std RISC-like ISA allows for wide implementations where the compiler
> can be rather ignorant of how wide the machine happens to be.

Possibly, though most of the "hard" parts of the work for the compiler
still apply to optimizing code for an in-order superscalar.

Namely, the compiler needs to figure out which instructions it can
shuffle around, and try to get them in an order that minimizes
interlocks and dependencies between instructions.

After this, scanning along and putting instructions into bundles is more
an "icing on the cake" thing. Compiler mostly has to verify that the
instructions can be safely executed in parallel according to the ISA
rules, and then flag those that can.

>>
>> When I designed my ISA, I had a few design goals:
>> A single-wide core should still be able to execute wide-execute code;
>> A wider core should be able to execute code meant for a narrower core;
>> A core should be able to ignore the bundle encoding and use superscalar
>> if it wants;
> <
> Is it NOT simpler simply not to have wide execute encoding, this lets narrow
> machines execute as they see fit, and for machines that are significantly
> wide, decide for themselves how to bundle instructions ?

A wider machine can ignore the wide-execute encoding and do its own
bundling if it wants.

It costs ~ 1 bit of encoding space, but doesn't add any additional
complexity for an implementation that just wants to ignore it.

The wide execute encoding is more intended for processors that are
effectively too limited to be able to figure this out themselves (yet
still capable enough to be able to afford it at all).

Besides the 3-wide profile, the other profile is currently 1 wide.

This is mostly because the 3-wide profile has little hope of fitting
into an XC7S25 or similar.

However, on the XC7S50 and XC7A100, I can to do this, but not that much
more than this.

I have not yet tried putting it in an ECP5 or similar (but, dev boards
with Lattice FPGAs seem to be a lot harder to find on Amazon than ones
with Xilinx or Altera FPGAs).

>> ...
>>
>> Delay slots would have caused this to fall on its face.
> <
> Absofriggenlutely ! Delay slots are a bad idea that in the heat of battle 1st
> generation RISC could not afford to lose the perf they apparently bought,
> but that created a large burden on all future implementatnions.

Yeah.

>>
>>
>> For example, there is a single-wide profile for BJX2, which (provided
>> the same instructions are supported) can execute code intended to use WEX.
>>
>> However, jumbo encodings use a different mechanism:
>> Jumbo prefixes are executed one at a time, initially behaving like NOPs;
>> On the final instruction, the larger immediate just sorta appears out of
>> nowhere.
>>
>> Similarly, the emulator also checks and "lints" bundles for being
>> well-formed, and will decode instructions as "BREAK" if they violate
>> bundling rules (and thus lead to a behavioral divergence). This is
>> intended mostly to try to sanity-check the compiler output, but
>> sometimes detects ASM bugs as well (I recently tightened up a few of the
>> rules after I had noticed some evidence of behavioral divergence in the
>> Verilog implementation).
>>
>>
>>
>> There are some features I had looked at which if-supported can also make
>> for possible issues:
>> Supporting a second (Load Only) memory-port in Lane 2;
>> Allowing scalar FPU ops to be executed in Lane 2 (*2);
>> ...
>>
>> Mostly in that, if used, these operations would break on a core which
>> does not support them (this code could only be safely executed in scalar
>> mode).
>>
>> *2: I have experimentally allowed this. It does allow for a speedup in
>> floating-point intensive code, generally by allowing memory access or
>> similar to happen in parallel with FPU operations or "narrow" SIMD
>> operations (2xFP32 or 4xFP16). Still not formally allowed though.
>>
>>
>> Likewise, 3-wide code would have broken on a 2-wide core, and it would
>> have been possible to compose code on 2-wide which would have broken on
>> a 3-wide core. However, the differences in cost and capabilities favored
>> eliminating the 2-wide case entirely (the 3-wide was only slightly more
>> expensive; and was more capable in terms of what it could do with 2-wide
>> code).
>>
>> Wider doesn't look likely at the moment, and it is likely if a 4+ core
>> were done, it would probably be based on OoO superscalar rather than VLIW.
>>
>> I suspect for the most part, 3-wide is already mostly at the limits of
>> what level of usable ILP tends to exist for an in-order design, and that
>> going much wider would be essentially pointless.
>>
>> ...
>>
>>
>> Nevermind if DRAM bandwidth is still an issue:
>> Despite the much faster bus (and faster L2 speeds), the bandwidth to
>> external DRAM is still apparently only ~ 1/4 what is claimed for 72-pin
>> SIMM RAM on a 486 (seeing stuff claiming a 486 could memcpy 50MB/s in
>> external DRAM).

Re: Modern ignorance ---- apologies!

<c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:620a:5fc:: with SMTP id z28mr45455430qkg.378.1621028539963;
Fri, 14 May 2021 14:42:19 -0700 (PDT)
X-Received: by 2002:aca:c64a:: with SMTP id w71mr8484547oif.44.1621028539731;
Fri, 14 May 2021 14:42:19 -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: Fri, 14 May 2021 14:42:19 -0700 (PDT)
In-Reply-To: <s7mkdg$73d$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=104.59.204.55; posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 104.59.204.55
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 14 May 2021 21:42:19 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Fri, 14 May 2021 21:42 UTC

On Friday, May 14, 2021 at 2:52:19 PM UTC-5, BGB wrote:
> On 5/14/2021 1:11 PM, MitchAlsup wrote:
> > On Friday, May 14, 2021 at 12:24:04 PM UTC-5, BGB wrote:
> >> On 5/10/2021 4:19 PM, MitchAlsup wrote:
> >>> On Monday, May 10, 2021 at 4:12:25 PM UTC-5, gareth evans wrote:
> >>>> Did my assembler apprenticeship 40 years ago on a PDP11/20,
> >>>> long before any cache or pipelining.
> >>>>
> >>>> In, say, the ARMv8 architecture, with its pipelining and
> >>>> branch prediction, does one have to pad out instructions
> >>>> following a branch so that the pipeline gets flushed?
> >>> <
> >>> No, no modern machine is requiring NoOp padding.
> >>>>
> >>>> Also, if the branch is not taken, should there be a string of NOPs
> >>>> inline so that if the branch is taken, there have not been
> >>>> any speculative instructions already executed that would
> >>>> affect the logic of a program?
> >>> <
> >>> Only MIPS, SPARC, 88K, and Alpha had branch delay slots.
> >>>
> >> Adding to this list:
> >> SuperH, TMS320, ...
> >>
> >>
> >> I skipped out on them because:
> >> They suck;
> >> They would have exposed awkward implementation details (*);
> >> Much of the time, they would just end up with NOPs anyways;
> >> ...
> >>
> >>
> >> *: Say, one has an ISA where the bundling, handling of larger
> >> instruction encodings, ...
> > <
> > Say one decided that this wastes more entropy that one wants to allow:
> >>
> >> May be handled as one of:
> >> Read and decoded, and executed, all at once;
> >> Read, decoded, and executed one instruction word at a time;
> >> ...
> > <
> > The Std RISC-like ISA allows for wide implementations where the compiler
> > can be rather ignorant of how wide the machine happens to be.
<
> Possibly, though most of the "hard" parts of the work for the compiler
> still apply to optimizing code for an in-order superscalar.
<
We actually found this not to be true in the case of the Mc 88120.
Pretty much anything compiled for Mc 88100 ran really well on the
'120--in fact we did not have access to a '120 compiler and used
the '100 simulator to pipe instructions to the '120 simulator.
<
Now could a bit more have been obtained--sure--but we were getting
5.99 ipc out of MATRIX300, and 2.05 ipc out of XLISP ! This seemed
to be "enough" for a 1991 design 1994 chip.
>
> Namely, the compiler needs to figure out which instructions it can
> shuffle around, and try to get them in an order that minimizes
> interlocks and dependencies between instructions.
<
We had the HW to do this--with a bit of annotation in the register
specification fields and the reservation station design. In a packet,
register specifiers ended up 6-bits wide, if the HoB was 0 the field
specified a register which was read from the file, forwarding,...
If the HoB was 1, we knew that the operand was delivered from
within the packet, and the field encoded the "slot" in the machine
that would deliver said result. We did similar tricks on the destination
register to say the result was delivered and became dead within the
packed.
<
The packet builder built packets AFTER the instructions retired from
the machine, so we have architectural (observed) order. unconditional
branches simply did not exist in the packet. Instruction under a shadow
of a branch were so annotated along with their position {Then-clause or
Else-clause}.
>
> After this, scanning along and putting instructions into bundles is more
> an "icing on the cake" thing. Compiler mostly has to verify that the
> instructions can be safely executed in parallel according to the ISA
> rules, and then flag those that can.
> >>
> >> When I designed my ISA, I had a few design goals:
> >> A single-wide core should still be able to execute wide-execute code;
> >> A wider core should be able to execute code meant for a narrower core;
> >> A core should be able to ignore the bundle encoding and use superscalar
> >> if it wants;
> > <
> > Is it NOT simpler simply not to have wide execute encoding, this lets narrow
> > machines execute as they see fit, and for machines that are significantly
> > wide, decide for themselves how to bundle instructions ?
<
> A wider machine can ignore the wide-execute encoding and do its own
> bundling if it wants.
<
But you burned those bits ! and thus wasted entropy.
>
> It costs ~ 1 bit of encoding space, but doesn't add any additional
> complexity for an implementation that just wants to ignore it.
>
>
> The wide execute encoding is more intended for processors that are
> effectively too limited to be able to figure this out themselves (yet
> still capable enough to be able to afford it at all).
>
> Besides the 3-wide profile, the other profile is currently 1 wide.
>
> This is mostly because the 3-wide profile has little hope of fitting
> into an XC7S25 or similar.
>
> However, on the XC7S50 and XC7A100, I can to do this, but not that much
> more than this.
<
I have been following this for a couple of years, and the 3-wide nature
appears to be due to the low clock frequency an a desire to run DOOM
and QUAKE at acceptable frame rates.
>
>
> I have not yet tried putting it in an ECP5 or similar (but, dev boards
> with Lattice FPGAs seem to be a lot harder to find on Amazon than ones
> with Xilinx or Altera FPGAs).
> >> ...
> >>
> >> Delay slots would have caused this to fall on its face.
> > <
> > Absofriggenlutely ! Delay slots are a bad idea that in the heat of battle 1st
> > generation RISC could not afford to lose the perf they apparently bought,
> > but that created a large burden on all future implementatnions.
<
> Yeah.
> >>
> >>
> >> For example, there is a single-wide profile for BJX2, which (provided
> >> the same instructions are supported) can execute code intended to use WEX.
> >>
> >> However, jumbo encodings use a different mechanism:
> >> Jumbo prefixes are executed one at a time, initially behaving like NOPs;
> >> On the final instruction, the larger immediate just sorta appears out of
> >> nowhere.
> >>
> >> Similarly, the emulator also checks and "lints" bundles for being
> >> well-formed, and will decode instructions as "BREAK" if they violate
> >> bundling rules (and thus lead to a behavioral divergence). This is
> >> intended mostly to try to sanity-check the compiler output, but
> >> sometimes detects ASM bugs as well (I recently tightened up a few of the
> >> rules after I had noticed some evidence of behavioral divergence in the
> >> Verilog implementation).
> >>
> >>
> >>
> >> There are some features I had looked at which if-supported can also make
> >> for possible issues:
> >> Supporting a second (Load Only) memory-port in Lane 2;
> >> Allowing scalar FPU ops to be executed in Lane 2 (*2);
> >> ...
> >>
> >> Mostly in that, if used, these operations would break on a core which
> >> does not support them (this code could only be safely executed in scalar
> >> mode).
> >>
> >> *2: I have experimentally allowed this. It does allow for a speedup in
> >> floating-point intensive code, generally by allowing memory access or
> >> similar to happen in parallel with FPU operations or "narrow" SIMD
> >> operations (2xFP32 or 4xFP16). Still not formally allowed though.
> >>
> >>
> >> Likewise, 3-wide code would have broken on a 2-wide core, and it would
> >> have been possible to compose code on 2-wide which would have broken on
> >> a 3-wide core. However, the differences in cost and capabilities favored
> >> eliminating the 2-wide case entirely (the 3-wide was only slightly more
> >> expensive; and was more capable in terms of what it could do with 2-wide
> >> code).
> >>
> >> Wider doesn't look likely at the moment, and it is likely if a 4+ core
> >> were done, it would probably be based on OoO superscalar rather than VLIW.
> >>
> >> I suspect for the most part, 3-wide is already mostly at the limits of
> >> what level of usable ILP tends to exist for an in-order design, and that
> >> going much wider would be essentially pointless.
> >>
> >> ...
> >>
> >>
> >> Nevermind if DRAM bandwidth is still an issue:
> >> Despite the much faster bus (and faster L2 speeds), the bandwidth to
> >> external DRAM is still apparently only ~ 1/4 what is claimed for 72-pin
> >> SIMM RAM on a 486 (seeing stuff claiming a 486 could memcpy 50MB/s in
> >> external DRAM).


Click here to read the complete article
Re: Modern ignorance ---- apologies!

<1621226318.642720216.472758.acolvin-efunct.com@news.eternal-september.org>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: acol...@efunct.com (mac)
Newsgroups: comp.arch
Subject: Re: Modern ignorance ---- apologies!
Date: Thu, 3 Jun 2021 13:40:56 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 8
Message-ID: <1621226318.642720216.472758.acolvin-efunct.com@news.eternal-september.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>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 3 Jun 2021 13:40:56 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="50c360fe8a7b5da7ea5d42d496c01c85";
logging-data="13090"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX182mVnxdov1NF1kmLaogSf9"
User-Agent: NewsTap/5.5 (iPad)
Cancel-Lock: sha1:WWnZEH9PT8dSZAQ8Ma7Y2TLPjw0=
sha1:Tx4MVTA8Hkoavi7P94HHf2JX/u0=
 by: mac - Thu, 3 Jun 2021 13:40 UTC

> Which was one of the worst aspects of Itanium.

> 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 it *was* a success.

Re: Modern ignorance ---- apologies!

<802c6022-0eea-4640-a7dd-0a7d5bb0da7dn@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:7306:: with SMTP id o6mr5505319qkc.38.1622825940586;
Fri, 04 Jun 2021 09:59:00 -0700 (PDT)
X-Received: by 2002:a4a:8111:: with SMTP id b17mr4351001oog.5.1622825935855;
Fri, 04 Jun 2021 09:58:55 -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: Fri, 4 Jun 2021 09:58:53 -0700 (PDT)
In-Reply-To: <s7fcil$hjc$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:eca4:8396:11d7:5173;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:eca4:8396:11d7:5173
References: <s7c7jn$10l$1@dont-email.me> <3d31b856-08f4-4334-a578-473087feea1an@googlegroups.com>
<2021May11.110939@mips.complang.tuwien.ac.at> <s7epic$b9l$1@dont-email.me>
<26c127fe-2267-48ca-b57e-7a5797ac967an@googlegroups.com> <s7f5ep$bs3$1@dont-email.me>
<s7fcil$hjc$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <802c6022-0eea-4640-a7dd-0a7d5bb0da7dn@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 04 Jun 2021 16:59:00 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Fri, 4 Jun 2021 16:58 UTC

On Tuesday, May 11, 2021 at 7:55:36 PM UTC-6, Stephen Fuld wrote:

> On the Univac 1100 series there is an Execute instruction. If the
> instruction executed is a jump, control is transferred to the "jump to"
> address. Furthermore, if the executed instruction is a call type,
> control is transferred as before, but the return address is set to the
> instruction after the Execute instruction.

That is the way to do it. That behaves as if the Execute instruction _is_
the instruction at the effective address. A branch, therefore, quite properly
loses control - but a subroutine call does not, the return is still to the code
sequence where the Execute instruction was.

So my question would be, were there instructions that got it wrong, so that
one couldn't use the Execute instruction on a Jump to Subroutine instruction
without getting a useless and dangerous result?

John Savard

Re: Modern ignorance ---- apologies!

<ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a37:4484:: with SMTP id r126mr5245589qka.18.1622826068401;
Fri, 04 Jun 2021 10:01:08 -0700 (PDT)
X-Received: by 2002:a05:6830:1bd3:: with SMTP id v19mr4470525ota.276.1622826068153;
Fri, 04 Jun 2021 10:01:08 -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: Fri, 4 Jun 2021 10:01:07 -0700 (PDT)
In-Reply-To: <s7mijk$29m$1@newsreader4.netcologne.de>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:eca4:8396:11d7:5173;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:eca4:8396:11d7:5173
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 04 Jun 2021 17:01:08 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Fri, 4 Jun 2021 17:01 UTC

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.

John Savard

Re: Modern ignorance ---- apologies!

<b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ac8:5351:: with SMTP id d17mr5500242qto.238.1622826519381;
Fri, 04 Jun 2021 10:08:39 -0700 (PDT)
X-Received: by 2002:a4a:d809:: with SMTP id f9mr4325169oov.71.1622826519134;
Fri, 04 Jun 2021 10:08:39 -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: Fri, 4 Jun 2021 10:08:38 -0700 (PDT)
In-Reply-To: <c3763ef4-a101-4e46-973f-335ae00f2a9an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:eca4:8396:11d7:5173;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:eca4:8396:11d7:5173
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 04 Jun 2021 17:08:39 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Fri, 4 Jun 2021 17:08 UTC

On Friday, May 14, 2021 at 3:42:21 PM UTC-6, MitchAlsup wrote:
> On Friday, May 14, 2021 at 2:52:19 PM UTC-5, BGB wrote:

> > A wider machine can ignore the wide-execute encoding and do its own
> > bundling if it wants.

> But you burned those bits ! and thus wasted entropy.

Now _there's_ a place where my Concertina II architecture shines.

It wastes entropy _elsewhere_. Lots of it, no doubt. Having full base-index
addressing like a CISC, and banks of 32 registers like a RISC, which shouldn't
even be _possible_, it has to resort to "every trick in the book" to make the
instructions fit at all.

So there's no room for putting one bit at the front of each instruction as a
'break' bit!

Yet, I offer a _fancy_ scheme of wide-execute encoding, which adds not just
one, but *three*, bits to every instruction! How do I do this? Well, I take a tiny
sliver of the opcode space, and use it for a program block header - only if I use
a block header do I have the bits available to do the wide-execute encoding.

John Savard

Re: Modern ignorance ---- apologies!

<3af33fa9-ee4e-4ab5-a800-0eab3f76eea4n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:622a:89:: with SMTP id o9mr5460958qtw.339.1622826801863;
Fri, 04 Jun 2021 10:13:21 -0700 (PDT)
X-Received: by 2002:aca:aacb:: with SMTP id t194mr10580237oie.155.1622826801693;
Fri, 04 Jun 2021 10:13:21 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.net!fdn.fr!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: Fri, 4 Jun 2021 10:13:21 -0700 (PDT)
In-Reply-To: <1621226318.642720216.472758.acolvin-efunct.com@news.eternal-september.org>
Injection-Info: google-groups.googlegroups.com; posting-host=2001:56a:f8e3:d700:eca4:8396:11d7:5173;
posting-account=1nOeKQkAAABD2jxp4Pzmx9Hx5g9miO8y
NNTP-Posting-Host: 2001:56a:f8e3:d700:eca4:8396:11d7:5173
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>
<1621226318.642720216.472758.acolvin-efunct.com@news.eternal-september.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <3af33fa9-ee4e-4ab5-a800-0eab3f76eea4n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: jsav...@ecn.ab.ca (Quadibloc)
Injection-Date: Fri, 04 Jun 2021 17:13:21 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Quadibloc - Fri, 4 Jun 2021 17:13 UTC

On Thursday, June 3, 2021 at 7:40:58 AM UTC-6, mac wrote:
> > Which was one of the worst aspects of Itanium.

> > 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 it *was* a success.

Not from a _sales_ point of view, but from a _strategic_ point of view,
yes. However, IBM was big and powerful enough that it managed to
keep the Power PC around, and indeed, Oracle kept SPARC around.

If, therefore, those designs had so much technical merit that they
were threats to x86-64 *on that basis*, Itanium would also have been
a strategic failure. However, the world doesn't work that way. Instead,
ARM is the only serious threat to x86 dominance - because it found
a niche - smartphones - big enough to finance development of the
architecture to the extent that there are implementations across a
range of performance levels, some worthy of the desktop and server
space.

So ARM exists as a challenger *for the same reason* that x86 is the
undisputed champion... it has a base of installed software.

John Savard

Re: Modern ignorance ---- apologies!

<9a0c5aaf-3cca-4837-a2a8-cdd704293ba2n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a05:6214:1791:: with SMTP id ct17mr5763081qvb.21.1622827228047;
Fri, 04 Jun 2021 10:20:28 -0700 (PDT)
X-Received: by 2002:a4a:b789:: with SMTP id a9mr4412344oop.45.1622827227805;
Fri, 04 Jun 2021 10:20:27 -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: Fri, 4 Jun 2021 10:20:27 -0700 (PDT)
In-Reply-To: <b7ccf65a-ba75-4afb-a7a6-baa63fe979ben@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:7d19:93b4:957f:8509;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:7d19:93b4:957f:8509
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9a0c5aaf-3cca-4837-a2a8-cdd704293ba2n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 04 Jun 2021 17:20:28 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Fri, 4 Jun 2021 17:20 UTC

On Friday, June 4, 2021 at 12:08:40 PM UTC-5, Quadibloc wrote:
> On Friday, May 14, 2021 at 3:42:21 PM UTC-6, MitchAlsup wrote:
> > On Friday, May 14, 2021 at 2:52:19 PM UTC-5, BGB wrote:
>
> > > A wider machine can ignore the wide-execute encoding and do its own
> > > bundling if it wants.
>
> > But you burned those bits ! and thus wasted entropy.
> Now _there's_ a place where my Concertina II architecture shines.
>
> It wastes entropy _elsewhere_. Lots of it, no doubt. Having full base-index
> addressing like a CISC, and banks of 32 registers like a RISC, which shouldn't
> even be _possible_,
<
My 66000 fit this one in::
a) Mem Rd,[Rbase+IMM16] is one 32-bit instruction
b) Mem Rd,[Rbase+Rindex<<scale] is one 32-bit instruction
c) Mem Rd,[Rbase+Rindex<<scale+imm32] is a 64-bit instruction.
<
> it has to resort to "every trick in the book" to make the
> instructions fit at all.
>
> So there's no room for putting one bit at the front of each instruction as a
> 'break' bit!
<
This is where PRED and CARRY and VEC-LOOP come in.........
>
> Yet, I offer a _fancy_ scheme of wide-execute encoding, which adds not just
> one, but *three*, bits to every instruction! How do I do this? Well, I take a tiny
> sliver of the opcode space, and use it for a program block header - only if I use
> a block header do I have the bits available to do the wide-execute encoding.
>
> John Savard

Re: Modern ignorance ---- apologies!

<ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:ee23:: with SMTP id l3mr5507704qvs.55.1622827258962;
Fri, 04 Jun 2021 10:20:58 -0700 (PDT)
X-Received: by 2002:a9d:27a1:: with SMTP id c30mr4356454otb.342.1622827258760;
Fri, 04 Jun 2021 10:20:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!feeder1.cambriumusenet.nl!feed.tweak.nl!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: Fri, 4 Jun 2021 10:20:58 -0700 (PDT)
In-Reply-To: <ea845673-30b1-4a75-8a6d-05e0ec50c46en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:7d19:93b4:957f:8509;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:7d19:93b4:957f:8509
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>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ccd0f238-898b-458d-a5f8-65e20ef08046n@googlegroups.com>
Subject: Re: Modern ignorance ---- apologies!
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Fri, 04 Jun 2021 17:20:58 +0000
Content-Type: text/plain; charset="UTF-8"
 by: MitchAlsup - Fri, 4 Jun 2021 17:20 UTC

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
>
> John Savard

Pages:1234
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor