Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

6 May, 2024: The networking issue during the past two days has been identified and fixed.


devel / comp.arch / Re: Why My 66000 is and is not RISC

SubjectAuthor
* Why My 66000 is and is not RISCMitchAlsup
+* Re: Why My 66000 is and is not RISCTerje Mathisen
|`* Re: Why My 66000 is and is not RISCMarcus
| `* Re: Why My 66000 is and is not RISCMitchAlsup
|  +* Re: Why My 66000 is and is not RISCBrett
|  |+* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||`* Re: Why My 66000 is and is not RISCBrett
|  || `* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||  +* Re: Why My 66000 is and is not RISCBrett
|  ||  |+* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||  ||`* Re: Why My 66000 is and is not RISCBGB
|  ||  || +* Re: Why My 66000 is and is not RISCIvan Godard
|  ||  || |`* Re: Why My 66000 is and is not RISCThomas Koenig
|  ||  || | `- Re: Why My 66000 is and is not RISCIvan Godard
|  ||  || `* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||  ||  +* Re: Why My 66000 is and is not RISCIvan Godard
|  ||  ||  |`* Re: Why My 66000 is and is not RISCTerje Mathisen
|  ||  ||  | `- Re: Why My 66000 is and is not RISCMitchAlsup
|  ||  ||  +* Re: Why My 66000 is and is not RISCBGB
|  ||  ||  |`* Code Density Deltas (Re: Why My 66000 is and is not RISC)BGB
|  ||  ||  | `* Re: Code Density Deltas (Re: Why My 66000 is and is not RISC)MitchAlsup
|  ||  ||  |  `* Re: Code Density Deltas (Re: Why My 66000 is and is not RISC)BGB
|  ||  ||  |   `- Re: Code Density Deltas (Re: Why My 66000 is and is not RISC)MitchAlsup
|  ||  ||  `* Re: Why My 66000 is and is not RISCThomas Koenig
|  ||  ||   +- Re: Why My 66000 is and is not RISCBGB
|  ||  ||   `- Re: Why My 66000 is and is not RISCEricP
|  ||  |`- Re: Why My 66000 is and is not RISCBGB
|  ||  `* Re: Why My 66000 is and is not RISCBrett
|  ||   `* Re: Why My 66000 is and is not RISCBrett
|  ||    +* Re: Why My 66000 is and is not RISCStephen Fuld
|  ||    |`- Re: Why My 66000 is and is not RISCMitchAlsup
|  ||    `* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||     `* Re: Why My 66000 is and is not RISCBrett
|  ||      +* Re: Why My 66000 is and is not RISCBrett
|  ||      |`* Re: Why My 66000 is and is not RISCBrett
|  ||      | `- Re: Why My 66000 is and is not RISCBrett
|  ||      `* Re: Why My 66000 is and is not RISCStephen Fuld
|  ||       +* Re: Why My 66000 is and is not RISCBGB
|  ||       |`* Re: Why My 66000 is and is not RISCStefan Monnier
|  ||       | +- Re: Why My 66000 is and is not RISCMitchAlsup
|  ||       | `* Re: Why My 66000 is and is not RISCBGB
|  ||       |  `* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||       |   `- Re: Why My 66000 is and is not RISCBGB
|  ||       `* Re: Why My 66000 is and is not RISCluke.l...@gmail.com
|  ||        +- Re: Why My 66000 is and is not RISCMitchAlsup
|  ||        `* Re: Why My 66000 is and is not RISCBGB
|  ||         `* Re: Why My 66000 is and is not RISCAgner Fog
|  ||          +* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||          |`* Re: Why My 66000 is and is not RISCluke.l...@gmail.com
|  ||          | `- Re: Why My 66000 is and is not RISCBGB
|  ||          `- Re: Why My 66000 is and is not RISCMitchAlsup
|  |+* Re: Why My 66000 is and is not RISCTimothy McCaffrey
|  ||+* Re: Why My 66000 is and is not RISCJohn Dallman
|  |||`- Re: Why My 66000 is and is not RISCMitchAlsup
|  ||+* Re: Why My 66000 is and is not RISCBGB
|  |||`* Re: Why My 66000 is and is not RISCTimothy McCaffrey
|  ||| +* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||| |`* Re: Why My 66000 is and is not RISCBGB
|  ||| | `* Re: Why My 66000 is and is not RISCMitchAlsup
|  ||| |  +- Re: Why My 66000 is and is not RISCIvan Godard
|  ||| |  `- Re: Why My 66000 is and is not RISCBGB
|  ||| `- Re: Why My 66000 is and is not RISCIvan Godard
|  ||`- Re: Why My 66000 is and is not RISCMitchAlsup
|  |`* Re: Why My 66000 is and is not RISCThomas Koenig
|  | +- Re: Why My 66000 is and is not RISCBGB
|  | `* Re: Why My 66000 is and is not RISCBrett
|  |  `* Re: Why My 66000 is and is not RISCMitchAlsup
|  |   `* Re: Why My 66000 is and is not RISCDavid Brown
|  |    `* Re: Why My 66000 is and is not RISCBGB
|  |     `* Re: Why My 66000 is and is not RISCDavid Brown
|  |      `* Re: Why My 66000 is and is not RISCBGB
|  |       `* Re: Why My 66000 is and is not RISCDavid Brown
|  |        `- Re: Why My 66000 is and is not RISCBGB
|  `* Re: Why My 66000 is and is not RISCThomas Koenig
|   `- Re: Why My 66000 is and is not RISCMitchAlsup
`* Re: Why My 66000 is and is not RISCBGB
 `* Re: Why My 66000 is and is not RISCMitchAlsup
  `- Re: Why My 66000 is and is not RISCBGB

Pages:1234
Re: Why My 66000 is and is not RISC

<07002838-24a1-46f7-b83e-c4d2d8d610c6n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:ae9:c311:0:b0:710:76:de46 with SMTP id n17-20020ae9c311000000b007100076de46mr1366328qkg.92.1675131070092;
Mon, 30 Jan 2023 18:11:10 -0800 (PST)
X-Received: by 2002:a05:6870:b785:b0:163:4d75:7541 with SMTP id
ed5-20020a056870b78500b001634d757541mr1945188oab.23.1675131069906; Mon, 30
Jan 2023 18:11:09 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Mon, 30 Jan 2023 18:11:09 -0800 (PST)
In-Reply-To: <092a4d79-e44a-467b-aa22-4d603420fae0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2600:1700:291:29f0:7465:9c8f:f537:2149;
posting-account=H_G_JQkAAADS6onOMb-dqvUozKse7mcM
NNTP-Posting-Host: 2600:1700:291:29f0:7465:9c8f:f537:2149
References: <f647da4a-0617-4292-9a1b-b3be674150cbn@googlegroups.com>
<t90vhb$1m8n$1@gioia.aioe.org> <t9134k$3tg$1@dont-email.me>
<7dc3d1b2-3c75-4f38-b15e-3e9b5c2cbc0dn@googlegroups.com> <t92sv9$jbb$1@dont-email.me>
<e914214f-4881-448a-94ff-6506dde833c3n@googlegroups.com> <t97u0m$3kbi2$1@dont-email.me>
<b697d701-a4f1-4028-b873-83704c25074an@googlegroups.com> <t9b6g2$7j72$1@dont-email.me>
<t9ighs$1i3ei$1@dont-email.me> <61e05b79-e5bf-4bfe-8973-7064e5a1d43cn@googlegroups.com>
<t9jl9p$1o0v2$1@dont-email.me> <t9v5ek$2kmtu$1@dont-email.me>
<808fa00f-7c06-4ae5-bbba-3023feae6064n@googlegroups.com> <ta023m$3gqua$2@dont-email.me>
<092a4d79-e44a-467b-aa22-4d603420fae0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <07002838-24a1-46f7-b83e-c4d2d8d610c6n@googlegroups.com>
Subject: Re: Why My 66000 is and is not RISC
From: MitchAl...@aol.com (MitchAlsup)
Injection-Date: Tue, 31 Jan 2023 02:11:10 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 2042
 by: MitchAlsup - Tue, 31 Jan 2023 02:11 UTC

On Monday, January 30, 2023 at 2:18:29 AM UTC-6, Agner Fog wrote:
> Where can I find documentation on My 66000? I can only find bits and pieces here in comp.arch.
<
If your Google-fu is out of practice: email is:: MitchAlsup@aol.com
<

Re: Why My 66000 is and is not RISC

<c2500d85-a5f3-4069-b6b8-930de2da8849n@googlegroups.com>

  copy mid

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

  copy link   Newsgroups: comp.arch
X-Received: by 2002:a0c:ef8e:0:b0:53a:8c5d:fe22 with SMTP id w14-20020a0cef8e000000b0053a8c5dfe22mr577645qvr.103.1675170008342;
Tue, 31 Jan 2023 05:00:08 -0800 (PST)
X-Received: by 2002:a05:6808:1aac:b0:368:ca97:3a2a with SMTP id
bm44-20020a0568081aac00b00368ca973a2amr3367651oib.261.1675170008157; Tue, 31
Jan 2023 05:00:08 -0800 (PST)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.arch
Date: Tue, 31 Jan 2023 05:00:07 -0800 (PST)
In-Reply-To: <3e1eb241-1789-4691-b0b1-ca8a2a821166n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2.140.124.195; posting-account=soFpvwoAAADIBXOYOBcm_mixNPAaxW9p
NNTP-Posting-Host: 2.140.124.195
References: <f647da4a-0617-4292-9a1b-b3be674150cbn@googlegroups.com>
<t90vhb$1m8n$1@gioia.aioe.org> <t9134k$3tg$1@dont-email.me>
<7dc3d1b2-3c75-4f38-b15e-3e9b5c2cbc0dn@googlegroups.com> <t92sv9$jbb$1@dont-email.me>
<e914214f-4881-448a-94ff-6506dde833c3n@googlegroups.com> <t97u0m$3kbi2$1@dont-email.me>
<b697d701-a4f1-4028-b873-83704c25074an@googlegroups.com> <t9b6g2$7j72$1@dont-email.me>
<t9ighs$1i3ei$1@dont-email.me> <61e05b79-e5bf-4bfe-8973-7064e5a1d43cn@googlegroups.com>
<t9jl9p$1o0v2$1@dont-email.me> <t9v5ek$2kmtu$1@dont-email.me>
<808fa00f-7c06-4ae5-bbba-3023feae6064n@googlegroups.com> <ta023m$3gqua$2@dont-email.me>
<092a4d79-e44a-467b-aa22-4d603420fae0n@googlegroups.com> <3e1eb241-1789-4691-b0b1-ca8a2a821166n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c2500d85-a5f3-4069-b6b8-930de2da8849n@googlegroups.com>
Subject: Re: Why My 66000 is and is not RISC
From: luke.lei...@gmail.com (luke.l...@gmail.com)
Injection-Date: Tue, 31 Jan 2023 13:00:08 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 4787
 by: luke.l...@gmail.com - Tue, 31 Jan 2023 13:00 UTC

On Monday, January 30, 2023 at 6:50:03 PM UTC, MitchAlsup wrote:
> On Monday, January 30, 2023 at 2:18:29 AM UTC-6, Agner Fog wrote:
> >
> Hello, Agner, and welcome to comp.arch.

likewise

> You need to remember, The Virtual Vector Method has no vector
> (or SIMD) registers, no trip count or masking register like vector
> machines and SIMD machines. Masking is performed lane by lane
> with predication, vector length is as long as it wants and needs to
> be.

as long as the hardware has resources to autoallocate inflight uOps.
one thing Mitch does not mention is that VVM relies on identifying
Load-Process-Store loops. you cannot Vectorise In-register-only
loops (as best i know) because (as bext i inow) VVM only works
with Load-Process-Store. given that that is a massive percentage
of all generl purpose loops you get a very high bang-per-buck.

> So, My 66000 provides the 373 vector instructions and the 700-odd
> SIMD instructions of RISC-V in exactly 2 instructions.

mmm... a little overstated but pretty much, yes :) the big big
advantage of VVM is you do NOT add one scalar instruction
then also a vector instruction and a tangled morass of
identical SIMD instructions: you just add one Scalar. therefore
anything missing is way easier to add.

> At some point::
> Reduced Instruction Set Computer should have a reduced instruction
> set! My 66000 currently has 62 instructions. In comparison ARM-64
> has 1730-ish instructions.

did you remember to include the 1000s from SVE/2? :)
all gone to hell and not even done well, sigh. non-orthogonal
as they tried to jam into 32bit.

> <
> > Where does it store the decoded loop?
> <
> Different implementations are free to choose this for themselves.
> <
> But, in general, one would expect the instructions to be stored in
> the equivalent of the reservation stations*. These stations have
> become modified to hold onto the instruction (and scalar operands)
> only waiting for the LOOP instruction to signal "another loop", and
> wait for any dynamic operand(s). Think:: multi-fire RS.

another way to think of it is, you have a loop short enough to identify
the start and end, therefore you micro-code back-end SIMD and
multi-issue to the back-end *implicitly*... all without actually needing
any EXPLICIT SIMD instructions.

separate in your mind "SIMD front-end ISA" from "SIMD back-end micro-architecture"
and you will do fine.

> > What about branches?
> <
> One can use predication in vectorized loops but not branches.
> HW assumes that all taken control transfers terminate the loop.
> HW assumes predication provides the if-then-else within the loop.
> <
> > Nested loops?
> <
> There is no nesting of vectorization. outer loops run scalar.

this is possible with SVP64, by storing Vectorisation State on the stack,
but SVP64 is a whole different ballgame and a different paradigm.

l.

Re: Why My 66000 is and is not RISC

<trbd5l$3sahd$1@dont-email.me>

  copy mid

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

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: cr88...@gmail.com (BGB)
Newsgroups: comp.arch
Subject: Re: Why My 66000 is and is not RISC
Date: Tue, 31 Jan 2023 09:46:56 -0600
Organization: A noiseless patient Spider
Lines: 134
Message-ID: <trbd5l$3sahd$1@dont-email.me>
References: <f647da4a-0617-4292-9a1b-b3be674150cbn@googlegroups.com>
<t90vhb$1m8n$1@gioia.aioe.org> <t9134k$3tg$1@dont-email.me>
<7dc3d1b2-3c75-4f38-b15e-3e9b5c2cbc0dn@googlegroups.com>
<t92sv9$jbb$1@dont-email.me>
<e914214f-4881-448a-94ff-6506dde833c3n@googlegroups.com>
<t97u0m$3kbi2$1@dont-email.me>
<b697d701-a4f1-4028-b873-83704c25074an@googlegroups.com>
<t9b6g2$7j72$1@dont-email.me> <t9ighs$1i3ei$1@dont-email.me>
<61e05b79-e5bf-4bfe-8973-7064e5a1d43cn@googlegroups.com>
<t9jl9p$1o0v2$1@dont-email.me> <t9v5ek$2kmtu$1@dont-email.me>
<808fa00f-7c06-4ae5-bbba-3023feae6064n@googlegroups.com>
<ta023m$3gqua$2@dont-email.me>
<092a4d79-e44a-467b-aa22-4d603420fae0n@googlegroups.com>
<3e1eb241-1789-4691-b0b1-ca8a2a821166n@googlegroups.com>
<c2500d85-a5f3-4069-b6b8-930de2da8849n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 31 Jan 2023 15:47:01 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="fa2b2073de3c22c4e8d7ffb8d83ed1f1";
logging-data="4074029"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QimF1Sm/EaAkQ23G+qjXQ"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.6.1
Cancel-Lock: sha1:V/mBPM0L0aIFfWh1jqUf4jPrcOw=
Content-Language: en-US
In-Reply-To: <c2500d85-a5f3-4069-b6b8-930de2da8849n@googlegroups.com>
 by: BGB - Tue, 31 Jan 2023 15:46 UTC

On 1/31/2023 7:00 AM, luke.l...@gmail.com wrote:
> On Monday, January 30, 2023 at 6:50:03 PM UTC, MitchAlsup wrote:
>> On Monday, January 30, 2023 at 2:18:29 AM UTC-6, Agner Fog wrote:
>>>
>> Hello, Agner, and welcome to comp.arch.
>
> likewise
>
>> You need to remember, The Virtual Vector Method has no vector
>> (or SIMD) registers, no trip count or masking register like vector
>> machines and SIMD machines. Masking is performed lane by lane
>> with predication, vector length is as long as it wants and needs to
>> be.
>
> as long as the hardware has resources to autoallocate inflight uOps.
> one thing Mitch does not mention is that VVM relies on identifying
> Load-Process-Store loops. you cannot Vectorise In-register-only
> loops (as best i know) because (as bext i inow) VVM only works
> with Load-Process-Store. given that that is a massive percentage
> of all generl purpose loops you get a very high bang-per-buck.
>
>> So, My 66000 provides the 373 vector instructions and the 700-odd
>> SIMD instructions of RISC-V in exactly 2 instructions.
>
> mmm... a little overstated but pretty much, yes :) the big big
> advantage of VVM is you do NOT add one scalar instruction
> then also a vector instruction and a tangled morass of
> identical SIMD instructions: you just add one Scalar. therefore
> anything missing is way easier to add.
>

But, it does mean that the CPU needs to be smarter.
The main advantage of SIMD is that, while it requires more instructions,
it allows for a comparably simpler and dumber CPU.

Main drawback case is if one needs to fake certain SIMD ops via pipelining.

>> At some point::
>> Reduced Instruction Set Computer should have a reduced instruction
>> set! My 66000 currently has 62 instructions. In comparison ARM-64
>> has 1730-ish instructions.
>
> did you remember to include the 1000s from SVE/2? :)
> all gone to hell and not even done well, sigh. non-orthogonal
> as they tried to jam into 32bit.
>

It is a tradeoff.

I can note that SIMD in BJX2 has neither packed byte ops nor saturating ops.

If one mostly only does, say:
Packed Int16
Packed Int32
Packed Binary16
Packed Binary32

And partial:
A few Packed Binary64 ops.

That is comparably fewer ops.
If one skips out convert+op forms (as were present in NEON) this also
reduces the amount of encoding space needed.

Some other cases can be handled via converter ops:
Packed Byte;
Packed RGB555 / RGB444A3;
Packed FP8S/FP8U;
...

This does at least slightly reduce instruction cost.
One other trick (used by SuperH) being to encode parts of the ISA by
twiddling mode bits. Technically sucks though.

>> <
>>> Where does it store the decoded loop?
>> <
>> Different implementations are free to choose this for themselves.
>> <
>> But, in general, one would expect the instructions to be stored in
>> the equivalent of the reservation stations*. These stations have
>> become modified to hold onto the instruction (and scalar operands)
>> only waiting for the LOOP instruction to signal "another loop", and
>> wait for any dynamic operand(s). Think:: multi-fire RS.
>
> another way to think of it is, you have a loop short enough to identify
> the start and end, therefore you micro-code back-end SIMD and
> multi-issue to the back-end *implicitly*... all without actually needing
> any EXPLICIT SIMD instructions.
>
> separate in your mind "SIMD front-end ISA" from "SIMD back-end micro-architecture"
> and you will do fine.
>

Or, one could encode it via prefix encodings, making all of the SIMD ops
64-bit or longer...

Pack4x32 prefix + FADD = Packed 4x Binary32 FADD.

Then one defines which combinations are or are not allowed.

If I were to do this in BJX2, it would probably consist of taking some
instructions which are not allowed in a WEX encoding, and redefining
their use in a WEX encoding as encoding a prefix modifier.

This is possible as I don't really want to burn much more of the 32-bit
encoding space on SIMD ops (as well, most SIMD ops on BJX2 generally
does not allow for operation in bundles, so not being able to encode
them in a bundled form would not be a huge loss).

>>> What about branches?
>> <
>> One can use predication in vectorized loops but not branches.
>> HW assumes that all taken control transfers terminate the loop.
>> HW assumes predication provides the if-then-else within the loop.
>> <
>>> Nested loops?
>> <
>> There is no nesting of vectorization. outer loops run scalar.
>
> this is possible with SVP64, by storing Vectorisation State on the stack,
> but SVP64 is a whole different ballgame and a different paradigm.
>

OK.

> l.

Pages:1234
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor