Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

In specifications, Murphy's Law supersedes Ohm's.


devel / comp.arch / Re: Concertina II Progress

SubjectAuthor
* Concertina II ProgressQuadibloc
+- Re: Concertina II ProgressBGB
+* Re: Concertina II ProgressThomas Koenig
|+* Re: Concertina II ProgressBGB-Alt
||`* Re: Concertina II ProgressQuadibloc
|| `* Re: Concertina II ProgressBGB-Alt
||  +* Re: Concertina II ProgressQuadibloc
||  |+* Re: Concertina II ProgressBGB
||  ||`- Re: Concertina II ProgressMitchAlsup
||  |+* Re: Concertina II ProgressScott Lurndal
||  ||`* Re: Concertina II ProgressBGB
||  || +* Re: Concertina II ProgressStephen Fuld
||  || |`* Re: Concertina II ProgressMitchAlsup
||  || | +- Re: Concertina II ProgressBGB-Alt
||  || | `* Re: Concertina II ProgressStephen Fuld
||  || |  `* Re: Concertina II ProgressMitchAlsup
||  || |   `* Re: Concertina II ProgressStephen Fuld
||  || |    `* Re: Concertina II ProgressMitchAlsup
||  || |     `* Re: Concertina II ProgressStephen Fuld
||  || |      `* Re: Concertina II ProgressBGB
||  || |       `* Re: Concertina II ProgressMitchAlsup
||  || |        +* Re: Concertina II ProgressBGB
||  || |        |`* Re: Concertina II ProgressMitchAlsup
||  || |        | +* Re: Concertina II ProgressStefan Monnier
||  || |        | |`* Re: Concertina II ProgressMitchAlsup
||  || |        | | `* Re: Concertina II ProgressScott Lurndal
||  || |        | |  `* Re: Concertina II ProgressMitchAlsup
||  || |        | |   +- Re: Concertina II ProgressPaul A. Clayton
||  || |        | |   `* Re: Concertina II ProgressStefan Monnier
||  || |        | |    +- Re: Concertina II ProgressMitchAlsup
||  || |        | |    `* Re: Concertina II ProgressScott Lurndal
||  || |        | |     `* Re: Concertina II ProgressBGB
||  || |        | |      +* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |`* Re: Concertina II ProgressBGB
||  || |        | |      | +- Re: Concertina II ProgressMitchAlsup
||  || |        | |      | `* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |  +* Re: Concertina II ProgressBGB
||  || |        | |      |  |`* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |  | `* Re: Concertina II ProgressBGB
||  || |        | |      |  |  +* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |  |  |+- Re: Concertina II ProgressMitchAlsup
||  || |        | |      |  |  |`* Re: Concertina II ProgressBGB
||  || |        | |      |  |  | `- Re: Concertina II ProgressScott Lurndal
||  || |        | |      |  |  `* Re: Concertina II ProgressRobert Finch
||  || |        | |      |  |   `- Re: Concertina II ProgressBGB
||  || |        | |      |  `* Re: Concertina II ProgressMitchAlsup
||  || |        | |      |   `* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |    `* Re: Concertina II ProgressMitchAlsup
||  || |        | |      |     +* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |     |`- Re: Concertina II ProgressMitchAlsup
||  || |        | |      |     `* Re: Concertina II ProgressScott Lurndal
||  || |        | |      |      `- Re: Concertina II ProgressMitchAlsup
||  || |        | |      `* Re: Concertina II ProgressMitchAlsup
||  || |        | |       +- Re: Concertina II ProgressRobert Finch
||  || |        | |       `* Re: Concertina II ProgressScott Lurndal
||  || |        | |        `* Re: Concertina II ProgressMitchAlsup
||  || |        | |         `* Re: Concertina II ProgressChris M. Thomasson
||  || |        | |          `* Re: Concertina II ProgressMitchAlsup
||  || |        | |           `* Re: Concertina II ProgressMitchAlsup
||  || |        | |            `- Re: Concertina II ProgressChris M. Thomasson
||  || |        | `* Re: Concertina II ProgressBGB
||  || |        |  `* Re: Concertina II ProgressMitchAlsup
||  || |        |   `* Re: Concertina II ProgressBGB
||  || |        |    `* Re: Concertina II ProgressMitchAlsup
||  || |        |     +* Re: Concertina II ProgressRobert Finch
||  || |        |     |`* Re: Concertina II ProgressMitchAlsup
||  || |        |     | +- Re: Concertina II ProgressRobert Finch
||  || |        |     | `* Re: Concertina II ProgressQuadibloc
||  || |        |     |  +* Re: Concertina II ProgressQuadibloc
||  || |        |     |  |`* Re: Concertina II ProgressMitchAlsup
||  || |        |     |  | +* Re: Concertina II ProgressScott Lurndal
||  || |        |     |  | |`* Re: Concertina II ProgressMitchAlsup
||  || |        |     |  | | +- Re: Concertina II ProgressScott Lurndal
||  || |        |     |  | | `* Re: Concertina II ProgressQuadibloc
||  || |        |     |  | |  `* Re: Concertina II ProgressMitchAlsup
||  || |        |     |  | |   `* Re: Concertina II ProgressQuadibloc
||  || |        |     |  | |    `- Re: Concertina II ProgressQuadibloc
||  || |        |     |  | `* Re: Concertina II ProgressQuadibloc
||  || |        |     |  |  `- Re: Concertina II ProgressMitchAlsup
||  || |        |     |  `- Re: Concertina II ProgressMitchAlsup
||  || |        |     +- Re: Concertina II ProgressBGB
||  || |        |     `* Re: Concertina II ProgressPaul A. Clayton
||  || |        |      +* Re: Concertina II ProgressRobert Finch
||  || |        |      |`* Re: Concertina II ProgressPaul A. Clayton
||  || |        |      | +* Re: Concertina II ProgressMitchAlsup
||  || |        |      | |`* Re: Concertina II ProgressPaul A. Clayton
||  || |        |      | | `- Re: Concertina II ProgressBGB
||  || |        |      | `* Computer architecture (was: Concertina II Progress)Anton Ertl
||  || |        |      |  +* Re: Computer architectureEricP
||  || |        |      |  |`* Re: Computer architectureAnton Ertl
||  || |        |      |  | `* Re: Computer architectureScott Lurndal
||  || |        |      |  |  +* Re: Computer architectureStefan Monnier
||  || |        |      |  |  |`* Re: Computer architectureScott Lurndal
||  || |        |      |  |  | `* Re: Computer architectureStefan Monnier
||  || |        |      |  |  |  +* Re: Computer architectureScott Lurndal
||  || |        |      |  |  |  |`* Re: Computer architectureStefan Monnier
||  || |        |      |  |  |  | `* Re: Computer architectureBGB
||  || |        |      |  |  |  |  `- Re: Computer architectureStefan Monnier
||  || |        |      |  |  |  `* Re: Computer architectureBGB
||  || |        |      |  |  |   `- Re: Computer architectureScott Lurndal
||  || |        |      |  |  `* Re: Computer architectureAnton Ertl
||  || |        |      |  `* Re: Computer architecturePaul A. Clayton
||  || |        |      `* Re: Concertina II ProgressMitchAlsup
||  || |        `* Re: Concertina II ProgressRobert Finch
||  || `* Re: Concertina II ProgressMitchAlsup
||  |+- Re: Concertina II ProgressMitchAlsup
||  |`* Re: Concertina II ProgressThomas Koenig
||  +- Re: Concertina II ProgressQuadibloc
||  `* Re: Concertina II ProgressQuadibloc
|`* Re: Concertina II ProgressQuadibloc
`* Re: Concertina II ProgressMitchAlsup

Pages:1234567891011121314151617181920212223242526272829303132333435363738
Re: Concertina II Progress

<74d2f904912307e7e31242cc9a8f87bc@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Thu, 4 Jan 2024 19:20:02 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$3eji2uXJFxzCNxapT1pQJ.BRqLb1cmq/nABafit1PFVAzd.UYByuK
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <ujgrel$h32p$1@dont-email.me> <57b4666649236a3e79cd04773a76f7ee@news.novabbs.com> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujq7t8$2b79a$1@dont-email.me> <ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com> <ujrnco$2lqen$1@dont-email.me> <un1kjr$2pvtc$2@dont-email.me> <un3347$34kgc$1@dont-email.me> <d244a127c705685826a756f8d0f8000a@news.novabbs.com> <un4bff$3a79e$1@dont-email.me> <01c74fa5567cadf9ad4755b83cc6fbad@news.novabbs.com> <un58ff$3hlg9$1@dont-email.me> <5bb93e9b785c21dcbd3967bfa679f852@news.novabbs.com> <X8AlN.130541$xHn7.57939@fx14.iad> <un6ufq$3oker$1@dont-email.me>
Organization: novaBBS
Message-ID: <74d2f904912307e7e31242cc9a8f87bc@news.novabbs.com>
 by: MitchAlsup - Thu, 4 Jan 2024 19:20 UTC

BGB wrote:

> On 1/4/2024 9:09 AM, EricP wrote:
>> MitchAlsup wrote:
>>> BGB wrote:
>>>
>>>> Also made an effort to avoid anything which lacks prior art from at
>>>> least 20 years ago.
>>>
>>> Yes, over my 35+ year career I was exposed to 10s of thousands of
>>> patents.
>>> I tried rigorously to avoid the ones still in effect. I did borrow a few
>>> of my patents knowing their expiration dates. I also have a clean
>>> record of my <potential> inventions identifying when they were first
>>> conceived.
>>
>> IANAL
>>
>> With the rule change from "first to invent" to "first to file"
>> is having a date record of inventions any use?
>>
>> There is also the question of whether writing about something
>> on the internet counts as "publication" and might block patenting.
>>
>> A quicky search finds this:
>>
>> How Publications Affect Patentability
>> https://www.utoledo.edu/research/TechTransfer/Publish_and_Perish.html
>>
>> "The Internet: A message describing an invention on a web site or to a
>> public newsgroup will be considered as published on the day prior to
>> the posting"
>>

> My concern was more with the possibility of lawyers being jerks...

I can alleviate you concerns--they are.

> But, if one mostly sticks to design features that were already in use
> 20-30 years ago; there isn't much the lawyers can do...

And written in books or published in papers.

> Granted, one could argue that this does not cover every possible way in
> which these features could be combined, which is a possible area for
> concern.

> Though, for the most part, it seems that the "enforcement" is mostly
> used against either direct re-implementations of a patented technology,
> or against popular common-use technologies that can be "interpreted" to
> somehow infringe on a patent (even if the artifact described is often
> almost entirely different), rather than going after ex-nihilo hobby
> projects or similar.

Also note: if you are not making money by using something claimed in their
patent, they can sue but they cannot get any money. So, it is not worth
their time.....

> ....

Re: Concertina II Progress

<un7qcv$3s4f1$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Fri, 5 Jan 2024 02:43:43 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 7
Message-ID: <un7qcv$3s4f1$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <uilskk$2v1d2$1@dont-email.me>
<uilvki$2vjld$1@dont-email.me>
<74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com>
<uj3380$1rnvb$1@dont-email.me>
<5412afba176e6044e28a72965f13ac4a@news.novabbs.com>
<uj37t1$1sgg4$1@dont-email.me>
<063885f383205c854c2387dcea32ba7a@news.novabbs.com>
<ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me>
<57b4666649236a3e79cd04773a76f7ee@news.novabbs.com>
<ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujq7t8$2b79a$1@dont-email.me>
<ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com>
<ujrnco$2lqen$1@dont-email.me> <un2fmj$2ujot$1@dont-email.me>
<77bc92038fa250d5d0be1fb66005005f@news.novabbs.com>
<un5qmr$3jg33$2@dont-email.me>
<e9309e2c9c0e62e5854b5cab5acd6349@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 5 Jan 2024 02:43:43 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="c7d5aa9f701b2afe60d3eb9e203f836d";
logging-data="4067809"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX186ujUBQbC0tCC4uPCPLDDIquCmYt1YP4s="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:hPuerTJzQUpMLk659TJKJYjQVnE=
 by: Quadibloc - Fri, 5 Jan 2024 02:43 UTC

On Thu, 04 Jan 2024 19:00:46 +0000, MitchAlsup wrote:

> I would really like MS to go back to windows 7 {last one I liked}.....

Finally, something we both agree on!

John Savard

Re: Concertina II Progress

<rjUlN.28874$5Hnd.21451@fx03.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!nntp.comgw.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx03.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: sco...@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Concertina II Progress
Newsgroups: comp.arch
References: <uigus7$1pteb$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujq7t8$2b79a$1@dont-email.me> <ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com> <ujrnco$2lqen$1@dont-email.me> <un2fmj$2ujot$1@dont-email.me> <77bc92038fa250d5d0be1fb66005005f@news.novabbs.com> <un5qmr$3jg33$2@dont-email.me> <e9309e2c9c0e62e5854b5cab5acd6349@news.novabbs.com> <un7qcv$3s4f1$1@dont-email.me>
Lines: 10
Message-ID: <rjUlN.28874$5Hnd.21451@fx03.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 05 Jan 2024 14:25:27 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 05 Jan 2024 14:25:27 GMT
X-Received-Bytes: 1308
 by: Scott Lurndal - Fri, 5 Jan 2024 14:25 UTC

Quadibloc <quadibloc@servername.invalid> writes:
>On Thu, 04 Jan 2024 19:00:46 +0000, MitchAlsup wrote:
>
>> I would really like MS to go back to windows 7 {last one I liked}.....
>
>Finally, something we both agree on!

Really, there has never been an usable Windows release.....

Unix forever! :-)

Re: Concertina II Progress

<un95jg$6g33$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Fri, 5 Jan 2024 15:01:05 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 18
Message-ID: <un95jg$6g33$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujq7t8$2b79a$1@dont-email.me>
<ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com>
<ujrnco$2lqen$1@dont-email.me> <un2fmj$2ujot$1@dont-email.me>
<77bc92038fa250d5d0be1fb66005005f@news.novabbs.com>
<un5qmr$3jg33$2@dont-email.me>
<e9309e2c9c0e62e5854b5cab5acd6349@news.novabbs.com>
<un7qcv$3s4f1$1@dont-email.me> <rjUlN.28874$5Hnd.21451@fx03.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 5 Jan 2024 15:01:05 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="c7d5aa9f701b2afe60d3eb9e203f836d";
logging-data="213091"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/C6wJ0QcT5SLbMu185201EWHggvQ3+ftA="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:Nwc+QbvlswWbgtB3crGMhzMh/ws=
 by: Quadibloc - Fri, 5 Jan 2024 15:01 UTC

On Fri, 05 Jan 2024 14:25:27 +0000, Scott Lurndal wrote:
> Quadibloc <quadibloc@servername.invalid> writes:
>>On Thu, 04 Jan 2024 19:00:46 +0000, MitchAlsup wrote:

>>> I would really like MS to go back to windows 7 {last one I liked}.....

>>Finally, something we both agree on!

> Really, there has never been an usable Windows release.....

> Unix forever! :-)

It certainly is true that Linux has some major advantages. People
have had to put up with Windows, though, because some software is
only available for it.

John Savard

Re: Concertina II Progress

<un96km$6g33$2@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Fri, 5 Jan 2024 15:18:46 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <un96km$6g33$2@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <uijk93$2dc2i$2@dont-email.me>
<uijr5g$2ep8o$1@dont-email.me> <uikc1s$2lh5f$2@dont-email.me>
<4sr3N.17406$AqO5.3263@fx11.iad> <uilskk$2v1d2$1@dont-email.me>
<uilvki$2vjld$1@dont-email.me>
<74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com>
<uj3380$1rnvb$1@dont-email.me>
<5412afba176e6044e28a72965f13ac4a@news.novabbs.com>
<uj37t1$1sgg4$1@dont-email.me>
<063885f383205c854c2387dcea32ba7a@news.novabbs.com>
<ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me>
<57b4666649236a3e79cd04773a76f7ee@news.novabbs.com>
<ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 5 Jan 2024 15:18:46 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="c7d5aa9f701b2afe60d3eb9e203f836d";
logging-data="213091"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/3rjCwOsmHhRbTlxZZuLqtRfxpq9byzwA="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:ej5XyOzFe+EUHRfslfS2lpF+OrI=
 by: Quadibloc - Fri, 5 Jan 2024 15:18 UTC

On Fri, 24 Nov 2023 03:11:17 +0000, MitchAlsup wrote:

> This is headed in the right direction. Make context switching something
> easy to pull off.

Oh, dear. You've just given me an evil idea.

On a System/360, context switching wasn't too bad. You just save
and restore the 16 general registers and the floating-point
registers.

On a more recent CPU, you might have to save and restore the
general registers, the floating-point registers, and the SIMD
registers.

On Concertina II, in addition to 32 integer registers, 32
floating-point registers, 16 SIMD registers, there are also
eight 64-element vector registers!

On the Texas Instruments TI 9900, there were 16 general registers
which were 16 bits long - but they were in memory, so context
switching was _really_ fast, you just saved and restored the
workspace pointer!

So the evil idea is...

while the CPU does have real registers in order to run at an
acceptable speed, allow it to also run in "slow mode" with
a workspace pointer and all the registers in RAM!

To make it slightly less evil, have the address in the
workspace pointer point into an on-chip static RAM instead
of extenal DRAM.

And have a second bank of real registers, into which the
register contents are gradually migrated as the program
is running - I think the 990/10 or at least the 990/12
actually used the technique of gradually migrating registers
in RAM into real registers in the CPU for better performance,
so that's not new.

Of course, code that doesn't know it's running in slow mode
will wastefully save and restore those in-memory registers,
so the feature would be primarily recommended for use with
special programs specifically designed for coping with things
like a high frequency of interrupts.

John Savard

Re: Concertina II Progress

<un97od$6p63$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Fri, 5 Jan 2024 15:37:50 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 24
Message-ID: <un97od$6p63$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <uijk93$2dc2i$2@dont-email.me>
<uijr5g$2ep8o$1@dont-email.me> <uikc1s$2lh5f$2@dont-email.me>
<4sr3N.17406$AqO5.3263@fx11.iad> <uilskk$2v1d2$1@dont-email.me>
<uilvki$2vjld$1@dont-email.me>
<74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com>
<uj3380$1rnvb$1@dont-email.me>
<5412afba176e6044e28a72965f13ac4a@news.novabbs.com>
<uj37t1$1sgg4$1@dont-email.me>
<063885f383205c854c2387dcea32ba7a@news.novabbs.com>
<ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me>
<57b4666649236a3e79cd04773a76f7ee@news.novabbs.com>
<ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
<un96km$6g33$2@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 5 Jan 2024 15:37:50 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="c7d5aa9f701b2afe60d3eb9e203f836d";
logging-data="222403"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+3oc3hQlDRqkAw77OXY0y4jpG4JOnNGpk="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:/xjp8st1Q+gFfJ2cMHkEIoNSkeI=
 by: Quadibloc - Fri, 5 Jan 2024 15:37 UTC

On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:

> To make it slightly less evil, have the address in the workspace pointer
> point into an on-chip static RAM instead of extenal DRAM.

And then when you're switching from one virtualized operating
system to another, you have to do a "big context switch" where
you save and restore all the registers _and_ that on-chip
static RAM!

However, that can be cured. Since the feature is specifically
*for* stuff like data acquisition programs that run straight on
the hardware, treat it as an optional feature... which is *not
included* on any virtual machine.

Which is great, of course, unless you would like to virtualize
some data acquisition software for purposes of debugging. So
instead a more approprate response is perhaps to _allow_
including fast context switching through slow mode in virtual
machines... with a warning in the manual that this is only
to be done when necessary, as it comes with a huge performance
hit.

John Savard

Re: What is RISC?

<un9alb$74e8$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: What is RISC?
Date: Fri, 5 Jan 2024 10:27:21 -0600
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <un9alb$74e8$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <20231212003853.00000ee6@yahoo.com>
<ul88h9$37b8k$1@dont-email.me> <2023Dec12.075748@mips.complang.tuwien.ac.at>
<ul9uff$jtm$1@gal.iecc.com> <86le98st4o.fsf@linuxsc.com>
<2024Jan2.114232@mips.complang.tuwien.ac.at> <864jftp9zp.fsf@linuxsc.com>
<2024Jan4.140413@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 5 Jan 2024 16:27:24 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="e2732455f8e9d56b30f52cd0013f6db2";
logging-data="233928"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18wyN0F0Fu1eMJqd1E8Snm5"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Jjg4SzVRpweo45ZZy+zELxIlh5Q=
Content-Language: en-US
In-Reply-To: <2024Jan4.140413@mips.complang.tuwien.ac.at>
 by: BGB - Fri, 5 Jan 2024 16:27 UTC

On 1/4/2024 7:04 AM, Anton Ertl wrote:
> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>> anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
>>
>>> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>> surely people don't view the Itanium as being a RISC?
>>
>>> It has a lot of RISC characteristics, in particular, it's a
>>> load/store architecture with a large number of general-purpose
>>> registers (and for the other registers, there are also many of
>>> them, avoiding the register allocation problems that compilers
>>> tend to have with unique registers). In 1999 I wrote
>>> <http://www.complang.tuwien.ac.at/anton/ia-64-1999.txt>:
>>>
>>> |It's basically a RISC with lots of special features:
>>
>> I think the same description could be said of the IBM System/360.
>> I don't think of System/360 as a RISC, even if a subset of it
>> might be.
>
> And I don't think so, either. That's because some of the features
> that the IBM 801 left away are non-RISC features, such as the EDIT
> instruction. OTOH, none of the special features of IA-64 are
> particularly non-RISCy, and indeed, it's implementations implemented
> the instructions without microcode (AFAIK) and typically with a
> single-cycle issue rate per functional unit. What makes you think it
> is not a RISC?
>

Most obvious departure:
Most RISC's have 32-bit instruction words or similar.

IA64 had 3 instructions per 128-bit block, with some bits indicating how
to process the other instructions. Typically, the instructions in the
block would execute in parallel rather than serial (so, would take a big
hit in code density if the code lacked sufficient ILP, as many of these
spots would hold NOPs).

If, say, one has 32-bit instructions which use a bit and may daisy chain
as needed to form bundles, then one avoids taking a massive hit to code
density.

> - anton

Re: Concertina II Progress

<620879d90dce90eeaa09c275d502a151@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Fri, 5 Jan 2024 19:46:51 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$qwgJODiJp1C5e22oEHT3c.hAMgwTz9tNy.8kOeM3CE2p1s81ITtpy
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <4sr3N.17406$AqO5.3263@fx11.iad> <uilskk$2v1d2$1@dont-email.me> <uilvki$2vjld$1@dont-email.me> <74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com> <uj3380$1rnvb$1@dont-email.me> <5412afba176e6044e28a72965f13ac4a@news.novabbs.com> <uj37t1$1sgg4$1@dont-email.me> <063885f383205c854c2387dcea32ba7a@news.novabbs.com> <ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me> <57b4666649236a3e79cd04773a76f7ee@news.novabbs.com> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me>
Organization: novaBBS
Message-ID: <620879d90dce90eeaa09c275d502a151@news.novabbs.com>
 by: MitchAlsup - Fri, 5 Jan 2024 19:46 UTC

Quadibloc wrote:

> On Fri, 24 Nov 2023 03:11:17 +0000, MitchAlsup wrote:

>> This is headed in the right direction. Make context switching something
>> easy to pull off.

> Oh, dear. You've just given me an evil idea.

> On a System/360, context switching wasn't too bad. You just save
> and restore the 16 general registers and the floating-point
> registers.

> On a more recent CPU, you might have to save and restore the
> general registers, the floating-point registers, and the SIMD
> registers.

> On Concertina II, in addition to 32 integer registers, 32
> floating-point registers, 16 SIMD registers, there are also
> eight 64-element vector registers!

One of the reasons My 66000 only has 32 GPRs is context switch time.
5 cache lines go out, 5 cache lines come in, presto you are in an
entirely different context--with no more smarts added than a cache.

> On the Texas Instruments TI 9900, there were 16 general registers
> which were 16 bits long - but they were in memory, so context
> switching was _really_ fast, you just saved and restored the
> workspace pointer!

Remembering where those 5 cache lines came from means you can
deposit the data where it belongs long term rather than on
the system/kernel stack.

> So the evil idea is...

> while the CPU does have real registers in order to run at an
> acceptable speed, allow it to also run in "slow mode" with
> a workspace pointer and all the registers in RAM!

Just treat the registers as if they were a cache from an area
in memory no other thread will be accessing.

> To make it slightly less evil, have the address in the
> workspace pointer point into an on-chip static RAM instead
> of extenal DRAM.

Unless you can get all levels of privilege in that RAM you
just added complexity and complexity management to context
switch.

Re: Concertina II Progress

<c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Fri, 5 Jan 2024 19:49:18 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$TGJPAzeYGL7iY2ymyhpgg.Glr4rsmSdfoKw9rFgZPYQraRRMe4wXi
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <uilskk$2v1d2$1@dont-email.me> <uilvki$2vjld$1@dont-email.me> <74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com> <uj3380$1rnvb$1@dont-email.me> <5412afba176e6044e28a72965f13ac4a@news.novabbs.com> <uj37t1$1sgg4$1@dont-email.me> <063885f383205c854c2387dcea32ba7a@news.novabbs.com> <ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me> <57b4666649236a3e79cd04773a76f7ee@news.novabbs.com> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me>
Organization: novaBBS
Message-ID: <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
 by: MitchAlsup - Fri, 5 Jan 2024 19:49 UTC

Quadibloc wrote:

> On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:

>> To make it slightly less evil, have the address in the workspace pointer
>> point into an on-chip static RAM instead of extenal DRAM.

> And then when you're switching from one virtualized operating
> system to another, you have to do a "big context switch" where
> you save and restore all the registers _and_ that on-chip
> static RAM!

I submit the proper place for memory resident register files and
thread-state is in DRAM. Then, writing a single control register
can switch between user threads, and writing 2 control registers
switches between GuestOSs,.....

> However, that can be cured.

Yes, by placing the data in the right place at the beginning.

Re: Spectre

<_zZlN.20051$9cLc.46@fx02.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!newsfeed.hasname.com!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx02.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: Spectre
References: <2023Dec23.114911@mips.complang.tuwien.ac.at> <8b7cf041441dd5e9e1882b2978e698d8@news.novabbs.com> <pBZjN.116549$c3Ea.111347@fx10.iad> <ac3bdb8b518737c093229dbd0e7506dc@news.novabbs.com> <ay0kN.77053$vFZa.34945@fx13.iad> <519918154cf2eb73f516261a5c22f084@news.novabbs.com> <lDgkN.15089$STLe.12591@fx34.iad> <2023Dec31.190236@mips.complang.tuwien.ac.at> <sHjkN.15091$STLe.7946@fx34.iad> <2024Jan1.090552@mips.complang.tuwien.ac.at> <uSCkN.116733$PuZ9.1136@fx11.iad> <2024Jan2.085937@mips.complang.tuwien.ac.at>
In-Reply-To: <2024Jan2.085937@mips.complang.tuwien.ac.at>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 115
Message-ID: <_zZlN.20051$9cLc.46@fx02.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 05 Jan 2024 20:24:26 UTC
Date: Fri, 05 Jan 2024 15:23:31 -0500
X-Received-Bytes: 6937
 by: EricP - Fri, 5 Jan 2024 20:23 UTC

Anton Ertl wrote:
> EricP <ThatWouldBeTelling@thevillage.com> writes:
>> Anton Ertl wrote:
>>>>
>>>> - The branch predictor tables be separated by user and super mode,
>>>> and that OS's be advised to purge the user mode tables on thread switch.
>>> Now that's an expensive approach in both silicon and performance: The
>>> branch predictor, one of the biggest parts of a core would need to
>>> become twice as big to get the same accuracy for a program that spends
>>> almost all of its time in user mode, or almost all of its time in
>>> system mode. And a user-level program would still be slowed down a
>>> lot every time there is a thread switch.

That was the simplest form. A more sophisticated version could have
a 2 or 3 bit tag like an ASID on each branch predictor entry.
Tag 0 is for super mode, others are for the most recent 3 or 7 processes
run on this core. If a lookup hits on an entry with a different tag
then the entry is set to its uninitialized state.

Though I'm not sure how this could work with the return stack predictor.
Probably have to keep 4 or 8 copies of it.

>> Why would the branch predictions from a different thread/process
>> be helpful to your thread?
>
> The typical scenario where a thread can benefit from not flushing the
> branch predictor is when there is a switch to a different thread for a
> short while and then a switch back.
>
> However, there are also scenarios where threads benefit from the
> branch predictions collected in a different thread:
>
> * if the thread is in the same process, and processes the same code or
> the same data.

Yes, only flush if the new thread is in a different process.

> * if the thread is in a different process, and executes a common
> library (e.g., libc), or works on the same data (e.g., in a pipe).

IMO this "optimization" is not worth the security hole.

>> Retaining predictions across security domains *IS* the problem
>> because it allows an attacker to influence/control a victim.
>> The side channel leaks, while also important, are just a display mechanism.
>> But with no control over a victim an attacker can make no use of
>> side channels to display secrets.
>
> Spectre can be fixed by either preventing the side channel from the
> speculative to the committed state (the approach I suggest), or by
> preventing speculation (what the people who want to turn off
> speculation suggest).
>
> You suggest that erasing the branch predictor on thread switches is
> just as good as preventing speculation. But it isn't. Even without
> training, as long as there is speculation and the side channel from
> the speculative to the committed world, some data will be leaked. Ok,
> you may be tempted to rely on your luck that it's not sensitive data,
> but that does not appear to be a very trustworthy approach.

I would also rely on the NoSpeculate branch hint to stall branches
that check array bounds.

> And that's especially the case because the attacker may be able to
> help luck in the attacker's direction by passing data to the victim
> process that results in training the branch predictor of the victim in
> a specific way. E.g., a PDF document processed by a browser will
> result in a lot of branches being taken in a certain way, which will
> train the branch predictor in a certain way.
>
>
>>>> - I have an extensive set of conditional trap instructions intended for
>>>> bounds checks, asserts, etc. In OoO a load or store following a
>>>> bounds check might execute before the check exception was delivered.
>>>> These trap instructions could have an optional NoSpeculate flag
>>>> which again stalls the Dispatcher and essentially single steps just
>>>> that instruction until the test condition resolves.
>>> Also very expensive for programs (programming languages) that use
>>> these instructions; speculative load hardening (SLH), which prevents
>>> Spectre v1 by turning the control dependence on the bounds check into
>>> a data dependence costs a factore 2.3-2.5 (depending on the SLH
>>> variant) on the SPEC programs, and I expect your bounds-check trap
>>> instructions to be at least as expensive.
>> I'm not sure - it depends on the frequency of occurence and
>> the latency between Dispatch and branch condition resolution.
>>
>> Based on nothing, I'm assuming both to be small :-)
>
> The main reason why OoO so vastly outperforms in-order for
> general-purpose code is that execution does not have to wait for the
> branches to be resolved; this is reflected in the size of the
> outstanding branches, which is, e.g., 128 for the Golden Cove <
> https://chipsandcheese.com/2021/12/21/gracemont-revenge-of-the-atom-cores/#gracemont-s-out-of-order-engine>
> (look for "Branch Order Buffer"). If you throw in one NoSpeculate
> branch, this reduces this number to 0 for this branch. And given the
> number of loads in a program, you probably have to make most branches
> "NoSpeculate" to be safe. So you fall back to close to in-order
> performance.

BTW near as I can tell the "Branch Order Buffer" is just Intel's name
for what others call the register file rename checkpoint.

As I saw it, the NoSpeculate hint only stalls to wait for its branch,
not all pending branches. The idea being that most branches are not for
array bounds checks so don't need guarding, and for those that are bounds
checks the array access LD's and ST's likely immediately follow.
But it could also be used to eliminate timing variations in crypto loops.

But yes, it does stall all following instructions.
This was intended as a simple option that user or compilers can apply.
To guard just a subset of the following instructions would require
a mechanism like full predication which would be much more expensive.

Re: Spectre

<d2226e07473994de2b379fa6e954ed38@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Fri, 5 Jan 2024 20:57:37 +0000
Subject: Re: Spectre
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$hVsIsTU8vgAUHfsxcufi..YnXd7jIxJiYkrMIK4M7h8oPdBvQ4fyu
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <2023Dec23.114911@mips.complang.tuwien.ac.at> <8b7cf041441dd5e9e1882b2978e698d8@news.novabbs.com> <pBZjN.116549$c3Ea.111347@fx10.iad> <ac3bdb8b518737c093229dbd0e7506dc@news.novabbs.com> <ay0kN.77053$vFZa.34945@fx13.iad> <519918154cf2eb73f516261a5c22f084@news.novabbs.com> <lDgkN.15089$STLe.12591@fx34.iad> <2023Dec31.190236@mips.complang.tuwien.ac.at> <sHjkN.15091$STLe.7946@fx34.iad> <2024Jan1.090552@mips.complang.tuwien.ac.at> <uSCkN.116733$PuZ9.1136@fx11.iad> <2024Jan2.085937@mips.complang.tuwien.ac.at> <_zZlN.20051$9cLc.46@fx02.iad>
Organization: novaBBS
Message-ID: <d2226e07473994de2b379fa6e954ed38@news.novabbs.com>
 by: MitchAlsup - Fri, 5 Jan 2024 20:57 UTC

EricP wrote:

> Anton Ertl wrote:
>> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>> Anton Ertl wrote:
>>>>>
>>>>> - The branch predictor tables be separated by user and super mode,
>>>>> and that OS's be advised to purge the user mode tables on thread switch.
>>>> Now that's an expensive approach in both silicon and performance: The
>>>> branch predictor, one of the biggest parts of a core would need to
>>>> become twice as big to get the same accuracy for a program that spends
>>>> almost all of its time in user mode, or almost all of its time in
>>>> system mode. And a user-level program would still be slowed down a
>>>> lot every time there is a thread switch.

> That was the simplest form. A more sophisticated version could have
> a 2 or 3 bit tag like an ASID on each branch predictor entry.

Which halves the number of entries you can store or worse. Remember
branch prediction states are un-tagged 2-bit saturating counters.

> Tag 0 is for super mode, others are for the most recent 3 or 7 processes
> run on this core. If a lookup hits on an entry with a different tag
> then the entry is set to its uninitialized state.

> Though I'm not sure how this could work with the return stack predictor.
> Probably have to keep 4 or 8 copies of it.

>>> Why would the branch predictions from a different thread/process
>>> be helpful to your thread?
>>
>> The typical scenario where a thread can benefit from not flushing the
>> branch predictor is when there is a switch to a different thread for a
>> short while and then a switch back.
>>
>> However, there are also scenarios where threads benefit from the
>> branch predictions collected in a different thread:
>>
>> * if the thread is in the same process, and processes the same code or
>> the same data.

> Yes, only flush if the new thread is in a different process.

>> * if the thread is in a different process, and executes a common
>> library (e.g., libc), or works on the same data (e.g., in a pipe).

> IMO this "optimization" is not worth the security hole.

>>> Retaining predictions across security domains *IS* the problem
>>> because it allows an attacker to influence/control a victim.
>>> The side channel leaks, while also important, are just a display mechanism.
>>> But with no control over a victim an attacker can make no use of
>>> side channels to display secrets.
>>
>> Spectre can be fixed by either preventing the side channel from the
>> speculative to the committed state (the approach I suggest), or by
>> preventing speculation (what the people who want to turn off
>> speculation suggest).
>>
>> You suggest that erasing the branch predictor on thread switches is
>> just as good as preventing speculation. But it isn't. Even without
>> training, as long as there is speculation and the side channel from
>> the speculative to the committed world, some data will be leaked. Ok,
>> you may be tempted to rely on your luck that it's not sensitive data,
>> but that does not appear to be a very trustworthy approach.

> I would also rely on the NoSpeculate branch hint to stall branches
> that check array bounds.

My 66000 PREDication does not use the branch prediction tables.

Re: Concertina II Progress

<JJ_lN.141234$xHn7.50389@fx14.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.hispagatos.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx14.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: sco...@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Concertina II Progress
Newsgroups: comp.arch
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me> <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
Lines: 29
Message-ID: <JJ_lN.141234$xHn7.50389@fx14.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 05 Jan 2024 21:43:05 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 05 Jan 2024 21:43:05 GMT
X-Received-Bytes: 2078
 by: Scott Lurndal - Fri, 5 Jan 2024 21:43 UTC

mitchalsup@aol.com (MitchAlsup) writes:
>Quadibloc wrote:
>
>> On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:
>
>>> To make it slightly less evil, have the address in the workspace pointer
>>> point into an on-chip static RAM instead of extenal DRAM.
>
>> And then when you're switching from one virtualized operating
>> system to another, you have to do a "big context switch" where
>> you save and restore all the registers _and_ that on-chip
>> static RAM!
>
>I submit the proper place for memory resident register files and
>thread-state is in DRAM. Then, writing a single control register
>can switch between user threads, and writing 2 control registers
>switches between GuestOSs,.....

Doesn't this cost at least one cache line in L1?

Intel and AMD do this for the virtual machine state, but there's
an access cost to read from dram. ARM64 keeps all the VM
state in a small number of system registers that the HV can
swap as necessary.

>
>> However, that can be cured.
>
>Yes, by placing the data in the right place at the beginning.

Re: Concertina II Progress

<dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Fri, 5 Jan 2024 23:15:21 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$UUf0u1YI1YoVW1kIeo6xDebYOe2Aay7Q/8JUGeKk2DLrzozio2jwi
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me> <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com> <JJ_lN.141234$xHn7.50389@fx14.iad>
Organization: novaBBS
Message-ID: <dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>
 by: MitchAlsup - Fri, 5 Jan 2024 23:15 UTC

Scott Lurndal wrote:

> mitchalsup@aol.com (MitchAlsup) writes:
>>Quadibloc wrote:
>>
>>> On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:
>>
>>>> To make it slightly less evil, have the address in the workspace pointer
>>>> point into an on-chip static RAM instead of extenal DRAM.
>>
>>> And then when you're switching from one virtualized operating
>>> system to another, you have to do a "big context switch" where
>>> you save and restore all the registers _and_ that on-chip
>>> static RAM!
>>
>>I submit the proper place for memory resident register files and
>>thread-state is in DRAM. Then, writing a single control register
>>can switch between user threads, and writing 2 control registers
>>switches between GuestOSs,.....

> Doesn't this cost at least one cache line in L1?

No, because HW is doing the reads and writes, the data streams around
the L1D. That is, it may have to pass by L1 on the way in, and it can
pass by L1 on the way out, it does not interact with the footprint of
data or inst already in L1. {I am leaning on not storing in L2 on the
way out but in L3}. Inbound access probe caches so if data is present
it gets used. Outbound accesses probe caches and be written on hits.

One can in principle bypass the caches on the way in and on the way out.
DRAM <-> core registers
or even
DRAM -> core registers -> DRAM
where newly arriving registers push out the existing registers.

You are not expecting the 5 to be needed any time soon.

> Intel and AMD do this for the virtual machine state, but there's
> an access cost to read from dram.

The important point about using the word DRAM is that this 5-cache
line structure has a fixed PA. It can be cached anywhere and that
when that thread in not in control all its thread-state appears to
be is in that PA.

> ARM64 keeps all the VM
> state in a small number of system registers that the HV can
> swap as necessary.

My 66000 memory maps all control registers so even a remote CPU
can diddle with stuff a local CPU will see instantaneously
{mainly for debug of dead core}.

Re: Concertina II Progress

<Dv0mN.135285$p%Mb.41020@fx15.iad>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx15.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: sco...@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Concertina II Progress
Newsgroups: comp.arch
References: <uigus7$1pteb$1@dont-email.me> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me> <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com> <JJ_lN.141234$xHn7.50389@fx14.iad> <dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>
Lines: 13
Message-ID: <Dv0mN.135285$p%Mb.41020@fx15.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Fri, 05 Jan 2024 23:44:35 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Fri, 05 Jan 2024 23:44:35 GMT
X-Received-Bytes: 1423
 by: Scott Lurndal - Fri, 5 Jan 2024 23:44 UTC

mitchalsup@aol.com (MitchAlsup) writes:
>Scott Lurndal wrote:

>
>> ARM64 keeps all the VM
>> state in a small number of system registers that the HV can
>> swap as necessary.
>
>My 66000 memory maps all control registers so even a remote CPU
>can diddle with stuff a local CPU will see instantaneously
>{mainly for debug of dead core}.

ARM64 cores have a similar feature.

Re: Concertina II Progress

<una50q$aqh0$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Fri, 5 Jan 2024 23:57:14 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <una50q$aqh0$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <uilskk$2v1d2$1@dont-email.me>
<uilvki$2vjld$1@dont-email.me>
<74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com>
<uj3380$1rnvb$1@dont-email.me>
<5412afba176e6044e28a72965f13ac4a@news.novabbs.com>
<uj37t1$1sgg4$1@dont-email.me>
<063885f383205c854c2387dcea32ba7a@news.novabbs.com>
<ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me>
<57b4666649236a3e79cd04773a76f7ee@news.novabbs.com>
<ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
<un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me>
<c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 5 Jan 2024 23:57:14 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6677fe8c65e2d1e6d507d3230381d1dd";
logging-data="354848"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+CsaeUAHPebUjAjO/FSZKCWs7J0xm5F7Y="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:bz0Ce0AWZMbwoO3XBPs65wml9Uk=
 by: Quadibloc - Fri, 5 Jan 2024 23:57 UTC

On Fri, 05 Jan 2024 19:49:18 +0000, MitchAlsup wrote:
> Quadibloc wrote:
>> On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:

>>> To make it slightly less evil, have the address in the workspace
>>> pointer point into an on-chip static RAM instead of extenal DRAM.

>> And then when you're switching from one virtualized operating system to
>> another, you have to do a "big context switch" where you save and
>> restore all the registers _and_ that on-chip static RAM!

> I submit the proper place for memory resident register files and
> thread-state is in DRAM. Then, writing a single control register can
> switch between user threads, and writing 2 control registers switches
> between GuestOSs,.....

That would certainly make my "evil idea" less evil.

But, at first glance, that seems like something that
couldn't possibly be true. Registers are in constant
use by the processor, so accessing them should be very
fast. DRAM is slow!

Of course, though, a little bit of context shows that
you're not as badly wrong as you might seem at first
glance. Any computer these days with any pretensions
to efficiency has cache.

Oops: I missed reading "memory-resident" above; you did
not claim that _all_ register files belong in RAM, just
that my idea of having a special internal memory to allow
putting registers in memory was a bad one (which I won't
try to deny).

John Savard

Re: Concertina II Progress

<una68f$athe$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 00:18:23 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 49
Message-ID: <una68f$athe$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
<un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me>
<c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
<JJ_lN.141234$xHn7.50389@fx14.iad>
<dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 6 Jan 2024 00:18:23 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6677fe8c65e2d1e6d507d3230381d1dd";
logging-data="357934"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IJufdJdQdC2eD7G77NFnw+CtCtIQmPWg="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:6wNM5e0aAwwtIJ+8ZbatUFO7m1M=
 by: Quadibloc - Sat, 6 Jan 2024 00:18 UTC

On Fri, 05 Jan 2024 23:15:21 +0000, MitchAlsup wrote:

> My 66000 memory maps all control registers so even a remote CPU can
> diddle with stuff a local CPU will see instantaneously {mainly for debug
> of dead core}.

Oh, darn. I was going to save money by not providing proper cache
coherency hardware in implementations of Concertina II, but that
means I couldn't provide this useful feature!

Just kidding... sort of.

Mapping control registers to RAM is something I would never have
thought of, but I would indeed put pins on the package, the function
of which would be openly documented, to allow accessing chip internals.

My perverted purpose in doing so, though, was not so much for legitimate
debugging as to permit my chips to be used in retrocomputing toys...

A computer with a *real front panel* just like in the old days, not
just one like on the Altair that only handles the external memory bus!

As for cache coherency... well, of course that has to be supported
for a computer to actually work the way it's supposed to without
error. However, the way I would handle it is like this:

The CPU only bothers about cache coherency for cached data from
memory that has been _explicitly marked as shared_. So the
CPUs connected to the same memory have a message bus between them;
when one requests some memory to be shared, it sends a message
out about that, and doesn't use that memory until it gets acknowledged;
_then_ the CPUs that are sharing a certain area of memory notify
each other when they write to that area of memory.

The CPUs have to be told - they don't try to keep track of everything
anyone else might be doing on the bus.

However, I haven't really thought through this aspect of CPU chip
design. Since a microprocessor needs to handle the full speed of the
memory bus in order to talk to memory, possibly bus monitoring is
simpler than a conversational protocol handling only the memory that
"needs" to be monitored.

Come to think of it, though, perhaps a CPU needs to be able to do this
both ways - bus monitoring for normal multi-CPU motherboards, and a
conversational protocol so the chips can also be used in NUMA systems.

John Savard

Re: Concertina II Progress

<5b56d23d89d22e8b3653e73edb0df31d@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Sat, 6 Jan 2024 01:35:02 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$ye2vyJ8fsnocsVNwlSU1fOiqgSAYehOPkuXBV.fHUdD48ezfp8BSy
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <uilskk$2v1d2$1@dont-email.me> <uilvki$2vjld$1@dont-email.me> <74fd95a7bc98b42a4c1c8517ab7cdac8@news.novabbs.com> <uj3380$1rnvb$1@dont-email.me> <5412afba176e6044e28a72965f13ac4a@news.novabbs.com> <uj37t1$1sgg4$1@dont-email.me> <063885f383205c854c2387dcea32ba7a@news.novabbs.com> <ujg54v$c6r4$1@dont-email.me> <ujgrel$h32p$1@dont-email.me> <57b4666649236a3e79cd04773a76f7ee@news.novabbs.com> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me> <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com> <una50q$aqh0$1@dont-email.me>
Organization: novaBBS
Message-ID: <5b56d23d89d22e8b3653e73edb0df31d@news.novabbs.com>
 by: MitchAlsup - Sat, 6 Jan 2024 01:35 UTC

Quadibloc wrote:

> On Fri, 05 Jan 2024 19:49:18 +0000, MitchAlsup wrote:
>> Quadibloc wrote:
>>> On Fri, 05 Jan 2024 15:18:46 +0000, Quadibloc wrote:

>>>> To make it slightly less evil, have the address in the workspace
>>>> pointer point into an on-chip static RAM instead of extenal DRAM.

>>> And then when you're switching from one virtualized operating system to
>>> another, you have to do a "big context switch" where you save and
>>> restore all the registers _and_ that on-chip static RAM!

>> I submit the proper place for memory resident register files and
>> thread-state is in DRAM. Then, writing a single control register can
>> switch between user threads, and writing 2 control registers switches
>> between GuestOSs,.....

> That would certainly make my "evil idea" less evil.

> But, at first glance, that seems like something that
> couldn't possibly be true. Registers are in constant
> use by the processor, so accessing them should be very
> fast. DRAM is slow!

Normally you are not as dense as you display tonight.

Registers have a PA but can be in a core or somewhere
in the memory hierarchy {not not config, not MMI/O }
and normal caching rules COULD apply.

> Of course, though, a little bit of context shows that
> you're not as badly wrong as you might seem at first
> glance. Any computer these days with any pretensions
> to efficiency has cache.

> Oops: I missed reading "memory-resident" above; you did
> not claim that _all_ register files belong in RAM, just
> that my idea of having a special internal memory to allow
> putting registers in memory was a bad one (which I won't
> try to deny).

All registers have a landing zone where they can be put back
or brought forth defined by a PA. HW is responsible for
obtaining new thread-state and of storing old thread-state.

BUT BECAUSE thread-state is completely defined by a single
PA, HW can change from one thread to another by writing
the control register holding that context PA.

> John Savard

Re: Concertina II Progress

<086de0809c30ddcb18dff5d41914b239@news.novabbs.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
Date: Sat, 6 Jan 2024 01:41:42 +0000
Subject: Re: Concertina II Progress
From: mitchal...@aol.com (MitchAlsup)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$r6Nh3GxtzK.wAQo0IJsur.8vRkdIKcfyM5KmsZK9FTOrVcvkKU39i
X-Rslight-Posting-User: 7e9c45bcd6d4757c5904fbe9a694742e6f8aa949
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me> <41d9a7b20ac6da242578c6a53758f625@news.novabbs.com> <ujmi69$1n5ko$1@dont-email.me> <b0e6671f87b1d447b23372180d119e2e@news.novabbs.com> <ujohle$209gb$1@dont-email.me> <835e3e7fe735cae6ea0206af6077615a@news.novabbs.com> <ujp27q$229mq$1@dont-email.me> <c2f644d4318b752714f80a453db90b97@news.novabbs.com> <un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me> <c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com> <JJ_lN.141234$xHn7.50389@fx14.iad> <dfa85cb588fc6aef3583463164081d9c@news.novabbs.com> <una68f$athe$1@dont-email.me>
Organization: novaBBS
Message-ID: <086de0809c30ddcb18dff5d41914b239@news.novabbs.com>
 by: MitchAlsup - Sat, 6 Jan 2024 01:41 UTC

Quadibloc wrote:

> On Fri, 05 Jan 2024 23:15:21 +0000, MitchAlsup wrote:

>> My 66000 memory maps all control registers so even a remote CPU can
>> diddle with stuff a local CPU will see instantaneously {mainly for debug
>> of dead core}.

> Oh, darn. I was going to save money by not providing proper cache
> coherency hardware in implementations of Concertina II, but that
> means I couldn't provide this useful feature!

> Just kidding... sort of.

> Mapping control registers to RAM is something I would never have
> thought of, but I would indeed put pins on the package, the function
> of which would be openly documented, to allow accessing chip internals.

> My perverted purpose in doing so, though, was not so much for legitimate
> debugging as to permit my chips to be used in retrocomputing toys...

> A computer with a *real front panel* just like in the old days, not
> just one like on the Altair that only handles the external memory bus!

> As for cache coherency... well, of course that has to be supported
> for a computer to actually work the way it's supposed to without
> error. However, the way I would handle it is like this:

> The CPU only bothers about cache coherency for cached data from
> memory that has been _explicitly marked as shared_.

So, shared instruction sections are marked exclusive ?!?
So, thread-local-storage is marked shared if a pointer to its cats
is constructed !?!
Can a Hypervisor share code sections with Guest OS ??
,...

Conversely, My 66000 allows one to map ROM (coherence and order free)
onto DRAM, to provide relief from coherence traffic.

> So the
> CPUs connected to the same memory have a message bus between them;
> when one requests some memory to be shared, it sends a message
> out about that, and doesn't use that memory until it gets acknowledged;
> _then_ the CPUs that are sharing a certain area of memory notify
> each other when they write to that area of memory.

> The CPUs have to be told - they don't try to keep track of everything
> anyone else might be doing on the bus.

But certainly, when writing a buffer in VA[k] to disk, the core caches
have to be snooped so the disk gets the correct data.

> However, I haven't really thought through this aspect of CPU chip
> design. Since a microprocessor needs to handle the full speed of the
> memory bus in order to talk to memory, possibly bus monitoring is
> simpler than a conversational protocol handling only the memory that
> "needs" to be monitored.

> Come to think of it, though, perhaps a CPU needs to be able to do this
> both ways - bus monitoring for normal multi-CPU motherboards, and a
> conversational protocol so the chips can also be used in NUMA systems.

> John Savard

Re: Concertina II Progress

<unb4se$hpl1$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.chmurka.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 09:01:02 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 88
Message-ID: <unb4se$hpl1$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
<un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me>
<c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
<JJ_lN.141234$xHn7.50389@fx14.iad>
<dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>
<una68f$athe$1@dont-email.me>
<086de0809c30ddcb18dff5d41914b239@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 6 Jan 2024 09:01:02 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6677fe8c65e2d1e6d507d3230381d1dd";
logging-data="583329"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ou1mA9E5GfF4U5p7pIVHWDCilu92OtyI="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:F9DKOMlihUxtFUNcDIHDQrfWbEE=
 by: Quadibloc - Sat, 6 Jan 2024 09:01 UTC

On Sat, 06 Jan 2024 01:41:42 +0000, MitchAlsup wrote:
> Quadibloc wrote:

>> The CPU only bothers about cache coherency for cached data from memory
>> that has been _explicitly marked as shared_.

> So, shared instruction sections are marked exclusive ?!?
> So, thread-local-storage is marked shared if a pointer to its cats is
> constructed !?!
> Can a Hypervisor share code sections with Guest OS ??

Presumably, when I get around to designing this part of the hardware,
I would check on what industry-standard practice is. I may indeed
have failed to properly think some things through.

But I can still try to answer your questions, I think.

The first question:

Instruction sections aren't normally writeable. So cache coherency
becomes a given; it's only lost when you write. Presumably, then,
a shared instruction section would be...

part of the OS,

a shared library,

a permanently resident popular program (i.e. a FORTRAN compiler on
an ancient mainframe)

and these areas would have only been written to by the operating system.

So an OS thread would be its "owner", but other threads could read it.

Your second question:

The pointer can exist; the memory has to be readable only if the pointer
is actually used. And its marked shared if it's used for writing as well
as reading.

Your third question:

At first, I thought that this was something you would never want to do.

But actually, it's quite common: there might be multiple instances of
one particular guest OS running, and so one might as well start them off
with all permanently resident parts of the OS loaded - and that memory
might as well be shared by all the instances (and, initially, at least,
by the parent hypervisor as well) to avoid duplication.

Stuff that is only shared for reading isn't a coherency issue.

>> The CPUs have to be told - they don't try to keep track of everything
>> anyone else might be doing on the bus.

> But certainly, when writing a buffer in VA[k] to disk, the core caches
> have to be snooped so the disk gets the correct data.

If you've designated an area in memory to be a buffer for DMA...

then you need to treat it like video memory inside a video card.
Mark it non-cacheable. So I do _not_ expect DMA controllers to
have a cache snoop capability; as for the CPUs, I was thinking
in terms of them always broadcasting any changes to shared memory,
so it's always "push" and never a "pull" so that snoop would be
needed. But cache snoop is common, so I guess it reduces message
traffic for cache coherency, which means I'll need to study how
this is done some more.

But you have reminded me of something I had forgotten. I thought
that if the CPUs, because they have to work with the memory bus
at its full speed, can monitor every write to memory, and so
maintain cache coherency that way, as an option, even if that
wasn't my preferred option.

But unless you always and only have write-through caches, the
actual value of a location in memory can change before a hint
of that gets out to the bus. In the case where the CPUs talk
directly to each other about everything that happens in shared
memory, that isn't a problem - but if they were to just monitor
the bus without direct communication, they would miss recent
updates to shared memory.

Actually, even _with_ a write-through cache, there would still
be a certain slight delay of a few cycles in a write, which
would be entirely sufficient to cause occasional problems.

John Savard

Re: Concertina II Progress

<unb5h0$i0tm$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 03:11:56 -0600
Organization: A noiseless patient Spider
Lines: 134
Message-ID: <unb5h0$i0tm$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujq7t8$2b79a$1@dont-email.me>
<ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com>
<ujrnco$2lqen$1@dont-email.me> <un1kjr$2pvtc$2@dont-email.me>
<497b00b37572a902633cf193bba14d3b@news.novabbs.com>
<un3rnf$37njr$3@dont-email.me> <2024Jan4.101941@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 6 Jan 2024 09:12:00 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="d268f31930337ed8bc70871f592e946b";
logging-data="590774"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/hSj+OOldlkX5/sPnypx3Y"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:yxiqa0fonC6NjSBl5ILuC7AF9Qs=
In-Reply-To: <2024Jan4.101941@mips.complang.tuwien.ac.at>
Content-Language: en-US
 by: BGB - Sat, 6 Jan 2024 09:11 UTC

On 1/4/2024 3:19 AM, Anton Ertl wrote:
> Quadibloc <quadibloc@servername.invalid> writes:
>> On Tue, 02 Jan 2024 20:41:07 +0000, MitchAlsup wrote:
>>
>>> 16-bit instructions take 3/4ths of the OpCode Map of RISC-V. If you
>>> dropped the compressed instructions, I can fit then entire My 66000 ISA
>>> into the vacated space.....
>>
>> Ouch! 16-bit instructions took up 1/4th of the opcode space of Concertina
>> II, and that turned out to be too much, and I had to drop them.
>>
>> But then, RISC-V was designed with little or no regard for code density,
>
> I think that the fact that they left 3/4ths of the encoding space to
> 16-bit instructions shows that they care quite a bit for encoding
> size. If they did not, they would not have the C extension (the
> 16-bit instructions) at all.
>
> How successful are they? Let's update my code-size measurements with
> current data.
>
> ARCHS="amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x"
> for i in $ARCHS; do
> wget http://ftp.at.debian.org/debian/pool/main/b/bash/bash_5.2.21-2_$i.deb
> wget http://ftp.at.debian.org/debian/pool/main/b/bash/bash_5.2.21-2+b1_$i.deb
> wget http://ftp.at.debian.org/debian/pool/main/g/grep/grep_3.11-4~exp1_$i.deb
> wget http://ftp.at.debian.org/debian/pool/main/g/gzip/gzip_1.12-1_$i.deb
> wget http://ftp.at.debian.org/debian/pool/main/g/gzip/gzip_1.12-1+b2_$i.deb
> done
> for i in $ARCHS; do
> for j in bash_5.2.21-2_$i.deb bash_5.2.21-2+b1_$i.deb grep_3.11-4~exp1_$i.deb gzip_1.12-1_$i.deb gzip_1.12-1+b2_$i.deb; do
> if test -f $j; then
> binary=bin/${j%%_*}
> if test "$binary" = "bin/grep"; then
> binary=usr/bin/grep
> fi
> ar x $j; tar xfJ data.tar.xz ./$binary; objdump -h $binary|awk --non-decimal-data '/[.]text/ {printf("%8d ","0x"$3)}'
> fi
> done
> echo $i
> done|sort -nk1
>
> This produces:
>
> bash grep gzip
> 595204 107636 46744 armhf
> 599832 101102 46898 riscv64
> 796501 144926 57729 amd64
> 829776 134784 56868 arm64
> 853892 152068 61124 i386
> 891128 158544 68500 armel
> 892688 168816 64664 s390x
> 1020720 170736 71088 mips64el
> 1168104 194900 83332 ppc64el
>
> So RV64GC beats every other 64-bit instruction set in code density by
> a wide margin and the code density is similar to the 32-bit ARM
> A32/T32 instruction set. Given this evidence, it seems to me that
> RV64GC (and it's basis RISC-V) was designed with a lot of
> consideration for code density.
>
> One difference between armhf and armel is that armhf uses T32/A32
> (Thumb2 instructions) while armel uses only A32 (fixed-width 32-bin
> instructions). This probably accounts the most for the size
> difference between armhf and armel.
>
> It's interesting that A32/T32 and RV64GC with their fixed-width base
> and compressed extension beat the variable-width AMD64, i386, and
> S390x by such a wide margin.
>
> In case of armhf vs i386, you cannot even make the legacy argument,
> because ARM A32 was designed at the same time as i386, and T32 only
> tacked on later; ok, you may consider i386 to be tacked on to the
> slightly older 8086 instruction set, but given that 8086 code does not
> work in an i386 binary unless you set some mode flags first, while A32
> code runs without setting a mode bit on an A32/T32-capable CPU, the
> situation is not quite the same.
>

I guess I can feel less bad about BJX2 losing to RV64IMA in terms of
code density...

I have tested, and as-is, "-Os" vs "-O2" makes very little difference
for XG2 Mode, as the main things it tweaked (such as register allocator
behavior) have very little effect on code size for XG2.

So, at present, for Doom:
RV64IMA, -O3 -ffunction-sections, 289K (*1) (GCC 12.2.0)
RV64IMA, -Os -ffunction-sections, 274K
BJX2, XG2, 341K
BJX2, Baseline, 293K (*2)

*1: My earlier testing showed a bigger number here, seems something is
different this time around...

*2: Though, this case is less valid, as Baseline mode is 16/32, and
RV64IMA is fixed-length 32-bit.

x86-64 (GCC 4.8.4, WSL), -O3 -ffunction-sections, 404K
x86-64 (GCC 4.8.4, WSL), -Os -ffunction-sections, 194K
x86-64 (MSVC 2022), /O2, 1019K
x86-64 (MSVC 2022), /Os, 1083K (*3)

Don't have any other builds handy at the moment...

*3: Though, this is less a "victory" over x86-64, so much as VS 2022
seemingly being unable to generate compact code.

Though, I guess it is a mystery if BJX2 could do better if I could
somehow eliminate a lot of the cases that result in needless MOV
instructions:
Passing arguments to functions;
Getting the return value from a function;
Copying register arguments into variables;
Type promotions or conversions;
...

Like, in terms of cycle use stats, reg-reg MOV is right up there with
Load/Store and Branch ops, beating out most of the other ALU ops (at
around 2% of the cycle budget).

But, it is a case of like, I am aware of the issue, but not currently
aware of a good way to fix it (as this issue results from the general
structure of the compiler logic, and how it manages things like local
variables and temporaries).

> - anton

Re: Concertina II Progress

<unb99e$22c98$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-be7-0-12e7-267c-faa5-f889.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 10:16:14 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <unb99e$22c98$1@newsreader4.netcologne.de>
References: <uigus7$1pteb$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujq7t8$2b79a$1@dont-email.me>
<ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com>
<ujrnco$2lqen$1@dont-email.me> <uko9l9$e2he$1@dont-email.me>
<161ed52ab96b52f31498fd27c5d3a878@news.novabbs.com>
<ukt93t$1crqj$1@dont-email.me> <ukv6ck$1on6u$1@dont-email.me>
<nuGcN.9979$c3Ea.1744@fx10.iad> <ukvos1$1rhdu$1@dont-email.me>
<esKcN.4047$83n7.1796@fx18.iad>
<60737016e489405eb0b876a12a086976@news.novabbs.com>
<86msuhvqlk.fsf@linuxsc.com> <ul7kbp$3904m$1@dont-email.me>
<86y1d8stqz.fsf@linuxsc.com> <un01ui$2ho64$1@dont-email.me>
<86zfxlnus5.fsf@linuxsc.com> <un6f70$3m858$1@dont-email.me>
Injection-Date: Sat, 6 Jan 2024 10:16:14 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-be7-0-12e7-267c-faa5-f889.ipv6dyn.netcologne.de:2a0a:a540:be7:0:12e7:267c:faa5:f889";
logging-data="2175272"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Sat, 6 Jan 2024 10:16 UTC

Quadibloc <quadibloc@servername.invalid> schrieb:
> On Thu, 04 Jan 2024 04:32:42 -0800, Tim Rentsch wrote:
>> Quadibloc <quadibloc@servername.invalid> writes:
>>
>>> Yes, the PDP-8 did have a small and simple instruction set.
>>>
>>> But that is _not_ what the meaning of RISC is commonly understood to
>>> be.
>>
>> My comments about the PDP-8 and RISC were not about what the meaning of
>> RISC is comonly understood (or commonly misunderstood)
>> to be. Rather they are about the meaning of RISC as described by the
>> people who originally defined the term. Please see my longer response
>> to John Levine.
>
> I'm not sure how this helps you, because the original definition
> includes the current common understanding, being a superset of it.
>
> Current common understanding:
>
> All instructions the same length.

So, Power10, RISC-V and 32-bit ARM (which has Thumb) are not RISC.
Good to know.

> Load-store architecture.
> Relatively large register file (32 or more registers)

.... and the 801, the original ARM v2 (without Thumb) weren't,
either.

Re: Concertina II Progress

<unbcj5$isjs$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 11:12:37 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <unbcj5$isjs$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me> <ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujp27q$229mq$1@dont-email.me>
<c2f644d4318b752714f80a453db90b97@news.novabbs.com>
<un96km$6g33$2@dont-email.me> <un97od$6p63$1@dont-email.me>
<c9f259b2f916e13f82a5b9640d57dfe9@news.novabbs.com>
<JJ_lN.141234$xHn7.50389@fx14.iad>
<dfa85cb588fc6aef3583463164081d9c@news.novabbs.com>
<una68f$athe$1@dont-email.me>
<086de0809c30ddcb18dff5d41914b239@news.novabbs.com>
<unb4se$hpl1$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 6 Jan 2024 11:12:37 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6677fe8c65e2d1e6d507d3230381d1dd";
logging-data="619132"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18ozG+upXFwB8eetCMKLTNggYHijcjGqv8="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:n66pvz/iIM9IjyfmfGfVuTsNdVs=
 by: Quadibloc - Sat, 6 Jan 2024 11:12 UTC

On Sat, 06 Jan 2024 09:01:02 +0000, Quadibloc wrote:

> Stuff that is only shared for reading isn't a coherency issue.

Ouch. Stuff that is only being read isn't a coherency issue.

But if even one CPU writes to an area of memory, with all the
other CPUs to which it is shared only reading, clearly when
those CPUs read, they may need to be sure of reading up-to-date
information when they read it.

Of course, though, if the read appears to have taken place
earlier than it actually did, something else would have to
have happened that contradicts that for there to be a real
inconsistency, but the additional interaction that could
lead to that could also be in the form of a read in the same
direction rather than a write in the other direction.

John Savard

Re: Concertina II Progress

<unbhrm$22hva$1@newsreader4.netcologne.de>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.nntp4.net!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!.POSTED.2a0a-a540-be7-0-12e7-267c-faa5-f889.ipv6dyn.netcologne.de!not-for-mail
From: tkoe...@netcologne.de (Thomas Koenig)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 12:42:30 -0000 (UTC)
Organization: news.netcologne.de
Distribution: world
Message-ID: <unbhrm$22hva$1@newsreader4.netcologne.de>
References: <uigus7$1pteb$1@dont-email.me> <ujgrel$h32p$1@dont-email.me>
<57b4666649236a3e79cd04773a76f7ee@news.novabbs.com>
<ujjt01$16pav$1@dont-email.me>
<41d9a7b20ac6da242578c6a53758f625@news.novabbs.com>
<ujmi69$1n5ko$1@dont-email.me>
<b0e6671f87b1d447b23372180d119e2e@news.novabbs.com>
<ujohle$209gb$1@dont-email.me>
<835e3e7fe735cae6ea0206af6077615a@news.novabbs.com>
<ujq7t8$2b79a$1@dont-email.me>
<ac183cbca2ecffb9b4a3b09be16a697f@news.novabbs.com>
<ujrnco$2lqen$1@dont-email.me> <un1kjr$2pvtc$2@dont-email.me>
<un3347$34kgc$1@dont-email.me>
<d244a127c705685826a756f8d0f8000a@news.novabbs.com>
<un4bff$3a79e$1@dont-email.me>
<01c74fa5567cadf9ad4755b83cc6fbad@news.novabbs.com>
<un58ff$3hlg9$1@dont-email.me>
<5bb93e9b785c21dcbd3967bfa679f852@news.novabbs.com>
<X8AlN.130541$xHn7.57939@fx14.iad> <un6ufq$3oker$1@dont-email.me>
<74d2f904912307e7e31242cc9a8f87bc@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 6 Jan 2024 12:42:30 -0000 (UTC)
Injection-Info: newsreader4.netcologne.de; posting-host="2a0a-a540-be7-0-12e7-267c-faa5-f889.ipv6dyn.netcologne.de:2a0a:a540:be7:0:12e7:267c:faa5:f889";
logging-data="2181098"; mail-complaints-to="abuse@netcologne.de"
User-Agent: slrn/1.0.3 (Linux)
 by: Thomas Koenig - Sat, 6 Jan 2024 12:42 UTC

MitchAlsup <mitchalsup@aol.com> schrieb:
> BGB wrote:
>
>> On 1/4/2024 9:09 AM, EricP wrote:
>>> MitchAlsup wrote:
>>>> BGB wrote:
>>>>
>>>>> Also made an effort to avoid anything which lacks prior art from at
>>>>> least 20 years ago.
>>>>
>>>> Yes, over my 35+ year career I was exposed to 10s of thousands of
>>>> patents.
>>>> I tried rigorously to avoid the ones still in effect. I did borrow a few
>>>> of my patents knowing their expiration dates. I also have a clean
>>>> record of my <potential> inventions identifying when they were first
>>>> conceived.
>>>
>>> IANAL
>>>
>>> With the rule change from "first to invent" to "first to file"
>>> is having a date record of inventions any use?
>>>
>>> There is also the question of whether writing about something
>>> on the internet counts as "publication" and might block patenting.
>>>
>>> A quicky search finds this:
>>>
>>> How Publications Affect Patentability
>>> https://www.utoledo.edu/research/TechTransfer/Publish_and_Perish.html
>>>
>>> "The Internet: A message describing an invention on a web site or to a
>>> public newsgroup will be considered as published on the day prior to
>>> the posting"
>>>
>
>> My concern was more with the possibility of lawyers being jerks...
>
> I can alleviate you concerns--they are.
>
>> But, if one mostly sticks to design features that were already in use
>> 20-30 years ago; there isn't much the lawyers can do...
>
> And written in books or published in papers.
>
>> Granted, one could argue that this does not cover every possible way in
>> which these features could be combined, which is a possible area for
>> concern.
>
>> Though, for the most part, it seems that the "enforcement" is mostly
>> used against either direct re-implementations of a patented technology,
>> or against popular common-use technologies that can be "interpreted" to
>> somehow infringe on a patent (even if the artifact described is often
>> almost entirely different), rather than going after ex-nihilo hobby
>> projects or similar.
>
> Also note: if you are not making money by using something claimed in their
> patent, they can sue but they cannot get any money. So, it is not worth
> their time.....

At least in Germany, there are exceptions to patent protectiion,
among them using a patent privately for non-commercial purposes
and doing research (commercial or otherwise) on the subject of
the patent (§ 11 Patentgesetz). The latter is very important if,
for example, people want to try out if what is claimed in the
patent actually works.

Not sure what the situation in the US is.

Re: Concertina II Progress

<unbumf$lot2$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: quadib...@servername.invalid (Quadibloc)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 6 Jan 2024 16:21:35 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 66
Message-ID: <unbumf$lot2$1@dont-email.me>
References: <uigus7$1pteb$1@dont-email.me>
<uij9lt$3054t$1@newsreader4.netcologne.de> <uijjcd$2d9sp$1@dont-email.me>
<uijk93$2dc2i$2@dont-email.me> <uijr5g$2ep8o$1@dont-email.me>
<uire3v$7li2$1@dont-email.me> <uk7rik$tu34$1@dont-email.me>
<ukact0$1e539$1@dont-email.me> <ukc34t$1po20$1@dont-email.me>
<1949acd069b7c93db910f3c0357a0298@news.novabbs.com>
<2023Dec3.153637@mips.complang.tuwien.ac.at>
<ukilt3$303sv$1@dont-email.me>
<71910e37d784192f7adce00f4d3b3f3e@news.novabbs.com>
<ukj59i$333tl$1@dont-email.me>
<801cec7a5387e0c867430275486171f7@news.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 6 Jan 2024 16:21:35 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6677fe8c65e2d1e6d507d3230381d1dd";
logging-data="713634"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IzXGsGdp5mhaTnQ6isAxvyDaNuvHCO1k="
User-Agent: Pan/0.146 (Hic habitat felicitas; d7a48b4
gitlab.gnome.org/GNOME/pan.git)
Cancel-Lock: sha1:/NrIEROHqyTOMyZDjR79L9W3rz8=
 by: Quadibloc - Sat, 6 Jan 2024 16:21 UTC

On Mon, 04 Dec 2023 20:03:47 +0000, MitchAlsup wrote:
> Quadibloc wrote:

>> Since out-of-order is so expensive in power and transistors, though, if
>> mitigations do exact a performance cost, then going to a simple CPU
>> that is not out-of-order might be a way to accept a loss of
>> performance, but gain big savings in power and die size, whereas
>> mitigations make those worse.
>
> 18 years ago, when I quit building CPUs professionally, GBOoO
> performance was 2× what an 1-wide IO could deliver. In those 18 years
> the CPU makers have gone from 2× to 3× performance while the execution
> window has grown from 48 to 300 instructions.
> Clearly an unsustainable µArchitectural direction.

Yes, the law of diminishing returns means that even if Moore's Law
still lives on, they can't go _much_ further in that direction.

But do they have any other directions they can go in to get more
performance?

We have heard of a few:

1) Switch to a new, faster, semiconductor material if it becomes
possible.

2) Add new instructions, so as to make some additional operations
faster. Better yet, put something like an FPGA in the CPU, so
the chip can do anything quickly!

3) If we can't make the processors faster, provide more of them.
This is being done - first they put two CPUs on a chip, then four,
and now we're seeing quite a few.

Since we don't yet _have_ a new, faster semiconductor material
we can use, and since single-thread performance is what is most
ardently desired because software tends to be largely serial...
taking out-of-order to extreme lengths, despite diminishing returns,
has continued to be the most attractive option. Yes, that will have
to come to an end, but before it does, it may go at least a little
further, to a point which will seem even more like wretched excess
to you and many others.

And this brings me to

4) Adopt a new ISA, based on a design that does much of what OoO
does without OoO, based on DSP designs using VLIW and so on. Then,
with that as a base, also apply OoO, and one should need _less
extreme_ OoO for the same performance. And get more performance
when reaching the same level of wretched excess as was tolerated
before.

My Concertina II, with its VLIW features, and even (optional)
instructions to use banks of 128 registers is an attempt to
show what such an ISA might look like. Or how about an OoO
implementation of the Itanium? Or even, after the Mill becomes
popular, a way might be figured out to apply OoO techniques
to implementing that design, however revolting the thought may
be to Ivan Godard and its other designers!

Thanks to the end of Dennard scaling, until a new semiconductor
material comes along, the pressure to find some way to increase
performance still more is likely to lead to many novel designs,
at least some of which will be weird and grotesque.

John Savard

Re: Concertina II Progress

<2024Jan6.181501@mips.complang.tuwien.ac.at>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: ant...@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Concertina II Progress
Date: Sat, 06 Jan 2024 17:15:01 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 15
Distribution: world
Message-ID: <2024Jan6.181501@mips.complang.tuwien.ac.at>
References: <uigus7$1pteb$1@dont-email.me> <ukt93t$1crqj$1@dont-email.me> <ukv6ck$1on6u$1@dont-email.me> <nuGcN.9979$c3Ea.1744@fx10.iad> <ukvos1$1rhdu$1@dont-email.me> <esKcN.4047$83n7.1796@fx18.iad> <60737016e489405eb0b876a12a086976@news.novabbs.com> <86msuhvqlk.fsf@linuxsc.com> <ul7kbp$3904m$1@dont-email.me> <86y1d8stqz.fsf@linuxsc.com> <un01ui$2ho64$1@dont-email.me> <86zfxlnus5.fsf@linuxsc.com> <un6f70$3m858$1@dont-email.me> <unb99e$22c98$1@newsreader4.netcologne.de>
Injection-Info: dont-email.me; posting-host="444defe7ba9ec3dff1c2e1e9c29c85d7";
logging-data="733805"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/lpXS4c4n9P9AoItKmMJmt"
Cancel-Lock: sha1:/cAIHUzLBrJqMIX62SN8cUweeL8=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sat, 6 Jan 2024 17:15 UTC

Thomas Koenig <tkoenig@netcologne.de> writes:
>> All instructions the same length.
>
>So, Power10, RISC-V and 32-bit ARM (which has Thumb) are not RISC.
>Good to know.

RISC-V without the C extension would be, but the C extension would
make it non-RISC. Likewise ARM A32 would be, but A32/T32 would not.

Power has instructions that are not 32 bits in size? Since when?

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


devel / comp.arch / Re: Concertina II Progress

Pages:1234567891011121314151617181920212223242526272829303132333435363738
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor