Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

"Ninety percent of baseball is half mental." -- Yogi Berra


devel / comp.lang.forth / J1 Barrel Processor

SubjectAuthor
* J1 Barrel ProcessorChristopher Lozinski
+- Re: J1 Barrel ProcessorLorem Ipsum
+- Re: J1 Barrel ProcessorMatthias Koch
+* Re: J1 Barrel ProcessorHugh Aguilar
|+- Re: J1 Barrel Processordxforth
|`- Re: J1 Barrel Processornone
`* Re: J1 Barrel ProcessorHugh Aguilar
 `* Re: J1 Barrel ProcessorChristopher Lozinski
  `* Re: J1 Barrel ProcessorBrian Fox
   +* Re: J1 Barrel ProcessorLorem Ipsum
   |`* Re: J1 Barrel ProcessorHugh Aguilar
   | `- Re: J1 Barrel ProcessorLorem Ipsum
   +- Re: J1 Barrel ProcessorHugh Aguilar
   `* Re: J1 Barrel Processordxforth
    +* Re: J1 Barrel ProcessorLorem Ipsum
    |`- Re: J1 Barrel Processordxforth
    `* Re: J1 Barrel ProcessorBrian Fox
     `* Re: J1 Barrel ProcessorLorem Ipsum
      `* Re: J1 Barrel ProcessorBrian Fox
       `* Re: J1 Barrel Processordxforth
        `* Re: J1 Barrel ProcessorLorem Ipsum
         `* Re: J1 Barrel Processordxforth
          `* Re: J1 Barrel ProcessorLorem Ipsum
           `* Re: J1 Barrel Processordxforth
            `* Re: J1 Barrel ProcessorLorem Ipsum
             `* Re: J1 Barrel Processordxforth
              `* Re: J1 Barrel ProcessorLorem Ipsum
               +* Re: J1 Barrel Processordxforth
               |`- Re: J1 Barrel ProcessorLorem Ipsum
               `* Re: J1 Barrel Processornone
                +- Re: J1 Barrel Processorminforth
                +- Re: J1 Barrel ProcessorLorem Ipsum
                `* Re: J1 Barrel Processordxforth
                 `* Re: J1 Barrel ProcessorLorem Ipsum
                  `* Re: J1 Barrel Processornone
                   `* Re: J1 Barrel ProcessorLorem Ipsum
                    `* Re: J1 Barrel ProcessorMatthias Koch
                     +* Re: J1 Barrel ProcessorLorem Ipsum
                     |+- Re: J1 Barrel ProcessorAnton Ertl
                     |`- Re: J1 Barrel Processornone
                     +- Re: J1 Barrel ProcessorAnton Ertl
                     `- Re: J1 Barrel Processornone

Pages:12
J1 Barrel Processor

<2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=23968&group=comp.lang.forth#23968

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1634:b0:634:f275:302c with SMTP id e20-20020a056214163400b00634f275302cmr16856qvw.5.1688793363203;
Fri, 07 Jul 2023 22:16:03 -0700 (PDT)
X-Received: by 2002:a17:902:7085:b0:1b7:eecd:9dae with SMTP id
z5-20020a170902708500b001b7eecd9daemr6051220plk.9.1688793362815; Fri, 07 Jul
2023 22:16:02 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 7 Jul 2023 22:16:01 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.50.240; posting-account=qOvlJAoAAAALKIuQXXxAY1xxkFpdJUbI
NNTP-Posting-Host: 46.134.50.240
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
Subject: J1 Barrel Processor
From: calozinski@gmail.com (Christopher Lozinski)
Injection-Date: Sat, 08 Jul 2023 05:16:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Christopher Lozinski - Sat, 8 Jul 2023 05:16 UTC

The J1 is an amazing chip. Hard to improve on it, but it does have two weaknesses, both of which could benefit from a sharing economy. One is the shift register, and the other is the lack of math functions.

With the J1, you get a choice between a small one bit shift register, or large barrel shift register which more than doubles the size of the cpu from 70 to 150 LUTs. I would think that 8 J1 Forth cores could share a barrel shift register. That would increase the overall chip size, not by 100%, but by about 12.5 percent, maybe twice that if you add in control logic and networking.

Of course two cores may want the barrel shift register at the same time, so you would need a pause option and some control logic.

Here is the line of code which updates the state on the J1.
{ pc, dsp, st0, rsp } <= { pcN, dspN, st0N, rspN };

The following code change would solve the pause problem.
case (pause)
1’b0: //No pause, update the state
{ pc, dsp, st0, rsp } <= { pcN, dspN, st0N, rspN };
1’b1: // Pause, keep the current state
{ pc, dsp, st0, rsp } <= { pc, dsp, st0, rsp }
endcase

The simplest way to do the control logic is with a circulating one. On every clock cycle one of the cores gets access to the barrel shift register. On average a core would have to wait 3.5 clock cycles for access. It is interesting to note that the J1 CPU, runs at 80 Hz with barely any math functions. The Microcore has all the functions, and runs at 20 hz. So running at 80Hz, and occasionally waiting for 4 cycles is not that bad. An 80/20 MHz Barrel CPU. Of course reality will be a worse than that. How does clock speed scale with number of cores?

And of course the J1’s other problem is it that it has almost no math functions. Worse yet there is no space for additional op codes. In contrast the microCore, focused on real time control has some 82 instructions. https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_instructions.pdf

So I could imagine a many core j1 barrel processor, with two extra instruction bits, allowing for a bunch of shared math functions. Then on every clock cycle, every core gets exclusive access to about 8 math functions. With 8 such groupings there are 64 additional math functions. On every clock cycle, each core would also have access to its own 16 dedicated ALU functions. The larger functions could be shared. The more frequently used instructions would be in the dedicated ALU;s. Popular shared functions, such as multiply could even be available twice. Here is the study of instruction frequency.
https://users.ece.cmu.edu/~koopman/stack_computers/sec6_3.html

It is interesting to note that the Propeller Parallax does something similar. Every 8th cycle, the 8 cores get access to the shared core memory and the shared Cordic functions.

I am also mindful that some math functions are faster, and some are slower. Or maybe the math functions are all located far from some of the cores, so by default they should get an extra clock cycle for the signal to propagate. With the pause option, the slower math functions could be given 2 clock cycles to execute, or even three. The multi clock cycle instructions could be pipelined.

So what do you all think? Is this a good idea? Did I learn anything this semester? Would this be a good master’s project? Does anyone have a need for a cpu with 8 forth cores? Over on the AI and robotics discussion group, one person is controlling 14 motors, so he could use a 16 core CPU. Then there would be less FPGA development, and more software development, which is presumably faster. And another person is also controlling a lot of things. Details omitted.

As for me, I finished the classes and exams for my first semester of graduate school in Digital Circuit Design. As a long time software developer, when they first taught us verilog synthesis, my reaction was that it was completely unintuitive. By the end of the semester, my verilog term project, a frequency and duty cycle meter got a perfect score. Progress.

My master’s thesis to build a forth CPU was approved, but there is no way I could design something better than the J1. I remember that I used to think that it was a nutty cpu, why was he mixing jumps and addresses in one instruction. Now I have the skills to understand and appreciate it. So there is no point building a single Forth CPU, but a many core J1 barrel processor would be a most reasonable project. I could even reuse some of the 60+ VHDL math functions from the MicroCore.

Comments? I am still new to all of this stuff. I have not yet built a chip as complex as this proposed one. so your expertise would be most appreciated.
It is very hard to find people who have any idea what I am talking about.

Re: J1 Barrel Processor

<4db3a42c-556e-4ea8-8e8b-7d015cf44222n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=23969&group=comp.lang.forth#23969

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:24ce:b0:767:36d8:b67d with SMTP id m14-20020a05620a24ce00b0076736d8b67dmr17632qkn.4.1688798505663;
Fri, 07 Jul 2023 23:41:45 -0700 (PDT)
X-Received: by 2002:a05:622a:1444:b0:3f8:404:9b7b with SMTP id
v4-20020a05622a144400b003f804049b7bmr19791qtx.10.1688798505309; Fri, 07 Jul
2023 23:41:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Fri, 7 Jul 2023 23:41:45 -0700 (PDT)
In-Reply-To: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4db3a42c-556e-4ea8-8e8b-7d015cf44222n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Sat, 08 Jul 2023 06:41:45 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 15303
 by: Lorem Ipsum - Sat, 8 Jul 2023 06:41 UTC

On Saturday, July 8, 2023 at 1:16:04 AM UTC-4, Christopher Lozinski wrote:
> The J1 is an amazing chip. Hard to improve on it, but it does have two weaknesses, both of which could benefit from a sharing economy. One is the shift register, and the other is the lack of math functions.

Yes, you are new to the game. What you seem to not understand is that CPUs are not things unto themselves. They exist only in a world of applications. Whether or not a feature is useful on a given CPU, depends on the application. So, what is the application setting the context in which you are judging the J1?

> With the J1, you get a choice between a small one bit shift register,

Yes, a 1 bit shift register is very small. I think you mean a shift instruction that only shifts by one bit. Is there even a register for this? I don't think so.

> or large barrel shift register which more than doubles the size of the cpu from 70 to 150 LUTs.

If you need a barrel shifter, you have to pay the price. I recall a realization once, that a multiplier was hugely increased in size, by the size of of the required barrel shifter. The barrel shifter is basically a mux, and muxes are very real estate intensive, just like the actual multiplier.

> I would think that 8 J1 Forth cores could share a barrel shift register. That would increase the overall chip size, not by 100%, but by about 12.5 percent, maybe twice that if you add in control logic and networking.

So you have made a decision to have 8 CPUs? What's the application? I wonder if you have read the history of the J1? It was invented to be implemented in an FPGA as an alternative to the Xilinx microblaze soft core, or maybe the nanoblaze, I can't recall the names. The smaller one was hard coded to LUTs and registers, while the larger one was inferred HDL. The J1 was faster, used smaller code and did some operations more efficiently. It allowed more functions to be implemented with better encoding of images, if I recall. The point is, it was custom designed for the task at hand.

Subsequent iterations are better for other tasks, but not "better" in any way for the original task. The "perfect" design is one that works and does the required job. There's no way to improve it if it meets all the requirements.

> Of course two cores may want the barrel shift register at the same time, so you would need a pause option and some control logic.

Yes, the problems of optimization, complexity. A PhD at one of my jobs gave a talk about not optimizing until you know you have a requirement that needs optimization. Why? Because optimization reduces flexibility, increases design time, opens the door for more bugs, and increases the cost, both of the current design but also future improvements.

This can be summarized as, "If it ain't broke, don't fix it".

> Here is the line of code which updates the state on the J1.
> { pc, dsp, st0, rsp } <= { pcN, dspN, st0N, rspN };
>
> The following code change would solve the pause problem.
> case (pause)
> 1’b0: //No pause, update the state
> { pc, dsp, st0, rsp } <= { pcN, dspN, st0N, rspN };
> 1’b1: // Pause, keep the current state
> { pc, dsp, st0, rsp } <= { pc, dsp, st0, rsp }
> endcase
>
> The simplest way to do the control logic is with a circulating one. On every clock cycle one of the cores gets access to the barrel shift register. On average a core would have to wait 3.5 clock cycles for access. It is interesting to note that the J1 CPU, runs at 80 Hz with barely any math functions. The Microcore has all the functions, and runs at 20 hz. So running at 80Hz, and occasionally waiting for 4 cycles is not that bad. An 80/20 MHz Barrel CPU. Of course reality will be a worse than that. How does clock speed scale with number of cores?

I assume you mean 20 MHz? That's pretty durn slow for a CPU in an FPGA, even one in a barrel processor design.

Before deciding if an instruction is needed, it is typical to analyze the code you will be running on it. Have you done that? How do you know this instruction needs to be sped up?

In a barrel processor, more virtual cores are created by adding pipeline stages. But instead of using them to speed up a single processor, they are running different processes/threads or whatever you wish to call them. So there's no need for look-ahead or pipeline stalls. Each processor gets it's clock cycle to run the barrel shifter, but the shifter has to run at the full clock speed.

If you can divide the stages of the CPU finer, and keep the delays balanced, you will see a proportional increase in speed. But at some point, you will have trouble dividing up the logic across the pipeline stages, and one stage will be slower than the others. That will cost you aggregate clock speed and so the speed of each process.

> And of course the J1’s other problem is it that it has almost no math functions. Worse yet there is no space for additional op codes. In contrast the microCore, focused on real time control has some 82 instructions. https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_instructions.pdf

I don't recall the details of the microcore, but it sounds like a lot more complexity. 82 instructions is a lot for a MISC design. Perhaps you are not familiar with the reason for looking at stack processors in FPGAs. It is because they can be made very simply, with small instructions. The 'M' stands for "minimal". I believe the GA144 processor has only 32 instructions, as does the b16. The F18A is the processor in the GA144, 144 of them.

> So I could imagine a many core j1 barrel processor, with two extra instruction bits, allowing for a bunch of shared math functions.

That's 18 bits now, getting to be even less MISC.

> Then on every clock cycle, every core gets exclusive access to about 8 math functions. With 8 such groupings there are 64 additional math functions. On every clock cycle, each core would also have access to its own 16 dedicated ALU functions. The larger functions could be shared. The more frequently used instructions would be in the dedicated ALU;s. Popular shared functions, such as multiply could even be available twice. Here is the study of instruction frequency.
> https://users.ece.cmu.edu/~koopman/stack_computers/sec6_3.html
>
> It is interesting to note that the Propeller Parallax does something similar. Every 8th cycle, the 8 cores get access to the shared core memory and the shared Cordic functions.
>
> I am also mindful that some math functions are faster, and some are slower. Or maybe the math functions are all located far from some of the cores, so by default they should get an extra clock cycle for the signal to propagate. With the pause option, the slower math functions could be given 2 clock cycles to execute, or even three. The multi clock cycle instructions could be pipelined.
>
> So what do you all think? Is this a good idea?

When you tell me what your design goal is, I will tell you if any of this is a good idea.

> Did I learn anything this semester? Would this be a good master’s project?

I wanted to design a simple, yet fast graphics processor from FAST TTL for a master's project. But at U of Md, you don't get to pick a project and do it. You have to work with a professor, which means you work on something they like. I checked the areas the professors were working in and decided to take an exam instead.

> Does anyone have a need for a cpu with 8 forth cores?

I've looked at this before. I have a CPU design that is much more streamlined. Designed 20 years ago, it focused on a small instruction space. I didn't really have a need for muti-cores, so I never pursued it. Being a single clock cycle design (including interrupt response time), it would have been easy to pipeline. I probably would have gone with N=4 on the first iteration, to ease the stage balancing issue. At N=8, I think it would be significantly more challenging. At N=16, I'm not sure it would run at a much higher processor speed than N=8, but there's no way to know, but to try it.

> Over on the AI and robotics discussion group, one person is controlling 14 motors, so he could use a 16 core CPU. Then there would be less FPGA development, and more software development, which is presumably faster. And another person is also controlling a lot of things. Details omitted.

What is a barrel processor better than multiple single core processors? If you make them small enough, and really fast, they can do math from simple operations. For example, the F18A CPU is 18 bits, but can do multiple precision math. The instructions for multiply are 1 bit at a time, but it runs at 700 MIPS, so multiplies are not so slow and the chip has no barrel shifter. You are not going to get 700 MIPS from an FPGA, but you can exceed 100 MIPS, maybe 200. Have you read the chart of CPU comparisons? I can never remember the guy's name. He has tabulated around 100 or maybe 200 soft cores with performance specs, both in MIPS and in MIPS/LUT and of course LUTs. Very useful to see what works and what doesn't. Someone here will remember his name, or he may read this. If you post in the FPGA group, I bet he will see it and respond, or you can search there. comp.arch.fpga

> As for me, I finished the classes and exams for my first semester of graduate school in Digital Circuit Design. As a long time software developer, when they first taught us verilog synthesis, my reaction was that it was completely unintuitive. By the end of the semester, my verilog term project, a frequency and duty cycle meter got a perfect score. Progress.


Click here to read the complete article
Re: J1 Barrel Processor

<u8btjf$1p81j$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=23976&group=comp.lang.forth#23976

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: m.cook@gmx.net (Matthias Koch)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Sat, 8 Jul 2023 16:58:54 +0200
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <u8btjf$1p81j$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 8 Jul 2023 14:58:55 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="454c3320cc61f419218a896fde8d5fe7";
logging-data="1876019"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/H65Csgv3a4ErrsQWGM2dR"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.13.0
Cancel-Lock: sha1:es/y3rsCjfhLWi3aLkJ0wGRWyEg=
Content-Language: de-DE
In-Reply-To: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
 by: Matthias Koch - Sat, 8 Jul 2023 14:58 UTC

Hi Christopher,

a barrel processor is a very special case, usually driven by special circumstances. On the math routines, I maintain Mecrisp-Ice which started as a fork of James Bowmans project, and now comes with interrupts, more opcodes, and a nice suite of math routines like trigs and FFT. Have a look before you dive deeper!

https://mecrisp.sourceforge.net/

Also consider a thesis involving RISC-V:

https://github.com/BrunoLevy/learn-fpga/tree/master/FemtoRV/RTL/PROCESSOR

Matthias

Re: J1 Barrel Processor

<9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=23998&group=comp.lang.forth#23998

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5992:0:b0:403:b6c8:4c28 with SMTP id e18-20020ac85992000000b00403b6c84c28mr32228qte.8.1689135016562;
Tue, 11 Jul 2023 21:10:16 -0700 (PDT)
X-Received: by 2002:aca:e107:0:b0:3a3:671b:7dee with SMTP id
y7-20020acae107000000b003a3671b7deemr3887623oig.11.1689135016309; Tue, 11 Jul
2023 21:10:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Tue, 11 Jul 2023 21:10:15 -0700 (PDT)
In-Reply-To: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Wed, 12 Jul 2023 04:10:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2935
 by: Hugh Aguilar - Wed, 12 Jul 2023 04:10 UTC

On Friday, July 7, 2023 at 10:16:04 PM UTC-7, Christopher Lozinski wrote:
> My master’s thesis to build a forth CPU was approved, but there is no way
> I could design something better than the J1. I remember that I used to think
> that it was a nutty cpu, why was he mixing jumps and addresses in one instruction.
> Now I have the skills to understand and appreciate it. So there is no point building
> a single Forth CPU, but a many core J1 barrel processor would be a most
> reasonable project. I could even reuse some of the 60+ VHDL math functions
> from the MicroCore.

The world is full of maintenance programmers who have realized that they
are too incompetent to ever write a program of their own, so their new plan
is to find source-code written by a real programmer and make some modification
to it, then claim that they are smarter than the original programmer.
I don't have any respect for maintenance programmers.
AFAIK, nobody in the world has respect for maintenance programmers.

Go back to your original plan of designing something of your own.
It might have weaknesses (first efforts usually do have weaknesses).
Trolls might even describe it as a pile of crap --- but it will be your
pile of crap --- you can have something of your own to be proud of.

It is better to be a wolf that hunts mice, than a coyote that eats carrion.

As for your idea regarding the J1, if this were a good idea then
James Bowman would have already done it.
I don't think that you have anything to offer.

If you really want to be a maintenance programmer, then go get
a job at Testra. You can be a maintenance programmer of MFX
that I wrote --- then claim to be 10* smarter than I am!

Re: J1 Barrel Processor

<u8lp8k$37iob$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24001&group=comp.lang.forth#24001

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Wed, 12 Jul 2023 18:46:13 +1000
Organization: A noiseless patient Spider
Lines: 6
Message-ID: <u8lp8k$37iob$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Wed, 12 Jul 2023 08:46:13 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="4e78c4e31759ef149bc9ff713bafc15a";
logging-data="3394315"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18Jp2qjakUh6jnwedJIproi"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:E+jE43HvukDm3nJ3vguoCUv2H2w=
Content-Language: en-GB
In-Reply-To: <9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>
 by: dxforth - Wed, 12 Jul 2023 08:46 UTC

On 12/07/2023 2:10 pm, Hugh Aguilar wrote:
>
> It is better to be a wolf that hunts mice, than a coyote that eats carrion.

Wolves may not take kindly to men with wolf dysphoria.

Re: J1 Barrel Processor

<nnd$2aae9271$29d8fb43@e4d5e3fca8091e48>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24002&group=comp.lang.forth#24002

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com> <9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$2aae9271$29d8fb43@e4d5e3fca8091e48>
Organization: KPN B.V.
Date: Wed, 12 Jul 2023 13:10:19 +0200
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!feeder1.feed.usenet.farm!feed.usenet.farm!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe005.abavia.com!abp001.abavia.com!news.kpn.nl!not-for-mail
Lines: 22
Injection-Date: Wed, 12 Jul 2023 13:10:19 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 1744
 by: none - Wed, 12 Jul 2023 11:10 UTC

In article <9a308d48-48fc-456a-b6ac-e97d958a5fc4n@googlegroups.com>,
Hugh Aguilar <hughaguilar96@gmail.com> wrote:
<SNIP>
>The world is full of maintenance programmers who have realized that they
>are too incompetent to ever write a program of their own, so their new plan
>is to find source-code written by a real programmer and make some modification
>to it, then claim that they are smarter than the original programmer.
>I don't have any respect for maintenance programmers.
>AFAIK, nobody in the world has respect for maintenance programmers.

On the contrary. If there is someone who has to maintain a program
you have written, he has to surpass vastly your mental capacity.
(That is not to say that is normally the case, it is the kind of person
you are.)

Groetjes.
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: J1 Barrel Processor

<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24005&group=comp.lang.forth#24005

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:55cf:0:b0:635:b679:a365 with SMTP id bt15-20020ad455cf000000b00635b679a365mr74937qvb.0.1689189882890;
Wed, 12 Jul 2023 12:24:42 -0700 (PDT)
X-Received: by 2002:a05:6808:1190:b0:3a3:edca:2947 with SMTP id
j16-20020a056808119000b003a3edca2947mr6091494oil.7.1689189882551; Wed, 12 Jul
2023 12:24:42 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Wed, 12 Jul 2023 12:24:42 -0700 (PDT)
In-Reply-To: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Wed, 12 Jul 2023 19:24:42 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4075
 by: Hugh Aguilar - Wed, 12 Jul 2023 19:24 UTC

On Friday, July 7, 2023 at 10:16:04 PM UTC-7, Christopher Lozinski wrote:
> The J1 is an amazing chip. Hard to improve on it,
> but it does have two weaknesses...
>
> My master’s thesis to build a forth CPU was approved, .
> but there is no way I could design something better than the J1.

There are a lot of amazing processors, all of which have various
weaknesses and strengths, and a focus on specific applications.
Way back in 1994, Testra built their MiniForth processor on the
Lattice isp1048 PLD that was for motion-control, specifically
a laser etcher. I wrote MFX, the assembler/simulator and Forth
cross-compiler. My assembler did out-of-ordering of the instructions.

I have a processor design that you might be interested in.
Whether it is "amazing" or not, remains to be seen.
This is for the iCE40HX8K FPGA, which I'm told is the least
expensive FPGA on the market. Your J1 needs a bigger FPGA.
My design has support for running a byte-code VM in external memory.
Internally, I have 6KW of code and 2KW of data. A program could be written
to run entirely in internal memory, and it would be very fast, but it would
have to also be very small. The idea with the byte-code VM is that it
supports a large program of 64KW code and 64KW or more of data,
and it supports a RTOS. The byte-code program would be quite slow,
but the compiler supports FAST functions that compile as machine-code
in internal memory; judicious use of FAST can boost the speed a lot.
Mostly though, the speed is boosted because the ISRs are compiled into
machine-code in internal memory; with most programs ISRs are the
speed-critical aspect of the software (Pareto Analysis, except that it is
more like 95/5 rather than 80/20). Another advantage of supporting
a byte-code VM is that there can be more than one byte-code VM
available --- I'm doing one for Forth --- a byte-code VM for C should be
provided eventually though because most programmers (in America)
demand C and won't consider Forth at all.

I have an assembler and simulator already written and I'm working
on the Forth now. If you are interested in trying this as your first
Verilog project, I can show you my design. It is intended to be simple,
with all of the instructions executing in a single clock-cycle, so it
should be reasonable as a first effort for you. Contact me at:
hughaguilar96@gmail.com
This offer to see my design only goes out to Christopher Lozinski.
All of the comp.lang.forth crowd will be ignored because you are
loyal to Stephen Pelc. I have security measures built in to the design
to prevent Stephen Pelc from doing a "clean room implementation"
of my processor the way that he did with the RTX-2000. It is important
that Stephen Pelc and also Red China should not make money from
my R&D --- they are intellectual-property thieves --- they deserve to fail.

Re: J1 Barrel Processor

<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24009&group=comp.lang.forth#24009

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:192a:b0:635:d539:e67e with SMTP id es10-20020a056214192a00b00635d539e67emr6286qvb.8.1689269701331;
Thu, 13 Jul 2023 10:35:01 -0700 (PDT)
X-Received: by 2002:a05:6870:3a32:b0:1b0:3945:af0b with SMTP id
du50-20020a0568703a3200b001b03945af0bmr2103040oab.9.1689269700990; Thu, 13
Jul 2023 10:35:00 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 13 Jul 2023 10:35:00 -0700 (PDT)
In-Reply-To: <7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.24.29; posting-account=qOvlJAoAAAALKIuQXXxAY1xxkFpdJUbI
NNTP-Posting-Host: 46.134.24.29
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com> <7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: calozinski@gmail.com (Christopher Lozinski)
Injection-Date: Thu, 13 Jul 2023 17:35:01 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2554
 by: Christopher Lozinski - Thu, 13 Jul 2023 17:35 UTC

Thank you everyone for your replies.
I am most interested in learning more about your cpu designs.
I think that every cpu I look at has some good ideas.
i am actually doing a talk about forth cpu's at FPGA world in Stockholm in September.
I will probably repeat it a few other places, as it evolves.
I will cover the J1 family, Mecrisp ice, MicroCore, EP16/24/32, HowerJ's forth-cpu, and any others you want to suggest. There was one other also mentioned on here recently, I forget the name. He had a very nice video. Or I can stay quiet about your design if you prefer.

I still thank that there is opportunity in working with large numbers of forth cores. I think a grid of Forth cores for image processing would be most interesting. Images are the one computational problem I know of which is really in a plane, so a systolic array is most appropriate. Plus it makes for a good demo. I am also busy learning about cordic, quaternions, and image processing in general. I find all of this stuff quite fascinating.

Plus I am still finishing up a ton of homework. The semester ended, but a bunch of us are still doing the assignments. So sorry for the slow reply.

Re: J1 Barrel Processor

<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24011&group=comp.lang.forth#24011

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1871:b0:635:e76b:b282 with SMTP id eh17-20020a056214187100b00635e76bb282mr7463qvb.1.1689278946095;
Thu, 13 Jul 2023 13:09:06 -0700 (PDT)
X-Received: by 2002:a9d:664e:0:b0:6ab:8d3:5209 with SMTP id
q14-20020a9d664e000000b006ab08d35209mr2344967otm.5.1689278945443; Thu, 13 Jul
2023 13:09:05 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.swapon.de!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.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.lang.forth
Date: Thu, 13 Jul 2023 13:09:05 -0700 (PDT)
In-Reply-To: <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=162.253.129.54; posting-account=2z7GawoAAADc70p5SM5AbaCyzjLblS3g
NNTP-Posting-Host: 162.253.129.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: brian.fox@brianfox.ca (Brian Fox)
Injection-Date: Thu, 13 Jul 2023 20:09:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3234
 by: Brian Fox - Thu, 13 Jul 2023 20:09 UTC

On Thursday, July 13, 2023 at 1:35:02 PM UTC-4, Christopher Lozinski wrote:
> Thank you everyone for your replies.
> I am most interested in learning more about your cpu designs.
> I think that every cpu I look at has some good ideas.
> i am actually doing a talk about forth cpu's at FPGA world in Stockholm in September.
> I will probably repeat it a few other places, as it evolves.
> I will cover the J1 family, Mecrisp ice, MicroCore, EP16/24/32, HowerJ's forth-cpu, and any others you want to suggest. There was one other also mentioned on here recently, I forget the name. He had a very nice video. Or I can stay quiet about your design if you prefer.
>
> I still thank that there is opportunity in working with large numbers of forth cores. I think a grid of Forth cores for image processing would be most interesting. Images are the one computational problem I know of which is really in a plane, so a systolic array is most appropriate. Plus it makes for a good demo. I am also busy learning about cordic, quaternions, and image processing in general. I find all of this stuff quite fascinating.
>
> Plus I am still finishing up a ton of homework. The semester ended, but a bunch of us are still doing the assignments. So sorry for the slow reply.

For some historical overview (ie: this is not brand new stuff) you might want to mention RTX2000/2010
by Harris. It was (is?) used in spacecraft because it is a RAD-hardened CPU.
Due to the way it was designed, with the 8Mhz clock it performed 10M Forth instructions per second.

One amazing spec to me is: 1 cycle sub-routine call and return!

https://en.wikipedia.org/wiki/RTX2010

looks like it is re-marketed by Intersil (year 2000)
https://www.mouser.com/catalog/specsheets/intersil_fn3961.pdf

Re: J1 Barrel Processor

<057fc833-358a-4cdc-ae2c-35948e77ea35n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24012&group=comp.lang.forth#24012

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1a23:b0:403:b942:f1d3 with SMTP id f35-20020a05622a1a2300b00403b942f1d3mr7221qtb.3.1689280329563;
Thu, 13 Jul 2023 13:32:09 -0700 (PDT)
X-Received: by 2002:a67:d389:0:b0:443:9033:9639 with SMTP id
b9-20020a67d389000000b0044390339639mr17673vsj.6.1689280329033; Thu, 13 Jul
2023 13:32:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 13 Jul 2023 13:32:08 -0700 (PDT)
In-Reply-To: <9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <057fc833-358a-4cdc-ae2c-35948e77ea35n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Thu, 13 Jul 2023 20:32:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Lorem Ipsum - Thu, 13 Jul 2023 20:32 UTC

On Thursday, July 13, 2023 at 4:09:07 PM UTC-4, Brian Fox wrote:
> On Thursday, July 13, 2023 at 1:35:02 PM UTC-4, Christopher Lozinski wrote:
> > Thank you everyone for your replies.
> > I am most interested in learning more about your cpu designs.
> > I think that every cpu I look at has some good ideas.
> > i am actually doing a talk about forth cpu's at FPGA world in Stockholm in September.
> > I will probably repeat it a few other places, as it evolves.
> > I will cover the J1 family, Mecrisp ice, MicroCore, EP16/24/32, HowerJ's forth-cpu, and any others you want to suggest. There was one other also mentioned on here recently, I forget the name. He had a very nice video. Or I can stay quiet about your design if you prefer.
> >
> > I still thank that there is opportunity in working with large numbers of forth cores. I think a grid of Forth cores for image processing would be most interesting. Images are the one computational problem I know of which is really in a plane, so a systolic array is most appropriate. Plus it makes for a good demo. I am also busy learning about cordic, quaternions, and image processing in general. I find all of this stuff quite fascinating.
> >
> > Plus I am still finishing up a ton of homework. The semester ended, but a bunch of us are still doing the assignments. So sorry for the slow reply..
> For some historical overview (ie: this is not brand new stuff) you might want to mention RTX2000/2010
> by Harris. It was (is?) used in spacecraft because it is a RAD-hardened CPU.
> Due to the way it was designed, with the 8Mhz clock it performed 10M Forth instructions per second.
>
> One amazing spec to me is: 1 cycle sub-routine call and return!
>
> https://en.wikipedia.org/wiki/RTX2010
>
> looks like it is re-marketed by Intersil (year 2000)
> https://www.mouser.com/catalog/specsheets/intersil_fn3961.pdf

Doing things in one clock cyle is not hard. You simply have to make that a design goal. My processor design does everything in one clock cycle, including handling interrupts. I don't claim the processor is a "Forth" processor, because that is a meaningless statement. Any processor that is capable of emulating the Forth architecture will run Forth. The RTX is no more a Forth processor than a Pentium or an ARM would be.

A subroutine requires just two things, save the next instruction address on the return stack and jump to the address specified, easy to do in one clock cycle. A return is even easier, just jump to the address on the return stack and pop the return stack.

--

Rick C.

+ Get 1,000 miles of free Supercharging
+ Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<de9a767e-6fa7-4ec3-b01b-37f3926c681cn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24013&group=comp.lang.forth#24013

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:a72:b0:636:73f:df8 with SMTP id ef18-20020a0562140a7200b00636073f0df8mr7217qvb.2.1689280708908;
Thu, 13 Jul 2023 13:38:28 -0700 (PDT)
X-Received: by 2002:a05:6830:1e79:b0:6b8:997e:21d with SMTP id
m25-20020a0568301e7900b006b8997e021dmr2401690otr.3.1689280708591; Thu, 13 Jul
2023 13:38:28 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Thu, 13 Jul 2023 13:38:28 -0700 (PDT)
In-Reply-To: <9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <de9a767e-6fa7-4ec3-b01b-37f3926c681cn@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Thu, 13 Jul 2023 20:38:28 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4287
 by: Hugh Aguilar - Thu, 13 Jul 2023 20:38 UTC

On Thursday, July 13, 2023 at 1:09:07 PM UTC-7, Brian Fox wrote:
> On Thursday, July 13, 2023 at 1:35:02 PM UTC-4, Christopher Lozinski wrote:
> > Thank you everyone for your replies.
> > I am most interested in learning more about your cpu designs.
> > I think that every cpu I look at has some good ideas.
> > i am actually doing a talk about forth cpu's at FPGA world in Stockholm in September.
> > I will probably repeat it a few other places, as it evolves.
> > I will cover the J1 family, Mecrisp ice, MicroCore, EP16/24/32, HowerJ's forth-cpu, and any others you want to suggest. There was one other also mentioned on here recently, I forget the name. He had a very nice video. Or I can stay quiet about your design if you prefer.
> >
> > I still thank that there is opportunity in working with large numbers of forth cores. I think a grid of Forth cores for image processing would be most interesting. Images are the one computational problem I know of which is really in a plane, so a systolic array is most appropriate. Plus it makes for a good demo. I am also busy learning about cordic, quaternions, and image processing in general. I find all of this stuff quite fascinating.
> >
> > Plus I am still finishing up a ton of homework. The semester ended, but a bunch of us are still doing the assignments. So sorry for the slow reply..
> For some historical overview (ie: this is not brand new stuff) you might want to mention RTX2000/2010
> by Harris. It was (is?) used in spacecraft because it is a RAD-hardened CPU.
> Due to the way it was designed, with the 8Mhz clock it performed 10M Forth instructions per second.
>
> One amazing spec to me is: 1 cycle sub-routine call and return!
>
> https://en.wikipedia.org/wiki/RTX2010
>
> looks like it is re-marketed by Intersil (year 2000)
> https://www.mouser.com/catalog/specsheets/intersil_fn3961.pdf

Way back in 1994 at Testra I suggested first using the MC6812 programmed in C
for the motion-control board, mostly because the MC6812 has a fast multiply..
Testra only uses Forth, not C, though, so that idea died quickly.
I then suggested the RTX-2000 that is a "Forth engine." This idea was also nixed
because the RTX-2000 was too low performance and high price.
The RTX-2000 is about the same performance as an MC68000 also of 8 Mhz..
They ended up developing the MiniForth that ran at either 40 Mhz. or 80 Mhz..
and executed up to five instructions in a single clock cycle.
The 40 Mhz. version out-performed the competition's MC68000 board
programmed in C and cost less --- this is the only case that I'm aware of in
which Forth out-performed C and cost less --- everything from Forth Inc. or MPE
is under-performing and over-priced.

The RTX-2000 was a bad choice in 1994, and it is still a bad choice today.

Re: J1 Barrel Processor

<b77b603d-da12-4ead-8d47-d41cadec84b0n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24014&group=comp.lang.forth#24014

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:8f4:b0:63c:6c4a:2f18 with SMTP id dr20-20020a05621408f400b0063c6c4a2f18mr714qvb.9.1689281738421;
Thu, 13 Jul 2023 13:55:38 -0700 (PDT)
X-Received: by 2002:a05:6808:f03:b0:3a3:9992:ddb7 with SMTP id
m3-20020a0568080f0300b003a39992ddb7mr3888957oiw.6.1689281738223; Thu, 13 Jul
2023 13:55:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Thu, 13 Jul 2023 13:55:37 -0700 (PDT)
In-Reply-To: <057fc833-358a-4cdc-ae2c-35948e77ea35n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.158.165.131; posting-account=OxDKOgoAAADW0cxAqHqpN1zqeCoSsDap
NNTP-Posting-Host: 63.158.165.131
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <057fc833-358a-4cdc-ae2c-35948e77ea35n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b77b603d-da12-4ead-8d47-d41cadec84b0n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: hughaguilar96@gmail.com (Hugh Aguilar)
Injection-Date: Thu, 13 Jul 2023 20:55:38 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2665
 by: Hugh Aguilar - Thu, 13 Jul 2023 20:55 UTC

On Thursday, July 13, 2023 at 1:32:10 PM UTC-7, Lorem Ipsum wrote:
> The RTX is no more a Forth processor than a Pentium or an ARM would be.

Rick Collins doesn't know what he is talking about!
Of course the RTX-2000 is a Forth processor. The Pentium or ARM are not.

> A subroutine requires just two things,
> save the next instruction address on the return stack and jump to the address specified,
> easy to do in one clock cycle.

In my design, the subroutine call is two instructions because it does two things.

> A return is even easier, just jump to the address on the return stack and pop the return stack.

The subroutine return is one instruction because it does one thing.

As a general rule of thumb, the people who claim that everything is easy
are those who have not done anything. I think Rick Collins is a total fake.
Christopher Lozinski admitted that he has taken one class on the subject
and is not an expert. Most likely, Rick Collins has also taken one class
on the subject, got a 'C', and now spends all of his time on comp.lang.forth
pretending to be the world's expert on the subject, lording over the
admitted novices such as Christopher Lozinski. Rick Collins is a total fake!

Re: J1 Barrel Processor

<53942512-7916-45e5-b739-e3d8e56d7e1an@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24015&group=comp.lang.forth#24015

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4ba2:0:b0:635:e010:970e with SMTP id i2-20020ad44ba2000000b00635e010970emr8875qvw.13.1689292456998;
Thu, 13 Jul 2023 16:54:16 -0700 (PDT)
X-Received: by 2002:a05:6214:18ef:b0:634:9899:fab with SMTP id
ep15-20020a05621418ef00b0063498990fabmr8127qvb.3.1689292456683; Thu, 13 Jul
2023 16:54:16 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!tncsrv06.tnetconsulting.net!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Thu, 13 Jul 2023 16:54:16 -0700 (PDT)
In-Reply-To: <b77b603d-da12-4ead-8d47-d41cadec84b0n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=65.207.89.54; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 65.207.89.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <057fc833-358a-4cdc-ae2c-35948e77ea35n@googlegroups.com>
<b77b603d-da12-4ead-8d47-d41cadec84b0n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <53942512-7916-45e5-b739-e3d8e56d7e1an@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Thu, 13 Jul 2023 23:54:16 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 5443
 by: Lorem Ipsum - Thu, 13 Jul 2023 23:54 UTC

On Thursday, July 13, 2023 at 4:55:39 PM UTC-4, Hugh Aguilar wrote:
> On Thursday, July 13, 2023 at 1:32:10 PM UTC-7, Lorem Ipsum wrote:
> > The RTX is no more a Forth processor than a Pentium or an ARM would be.
> Rick Collins doesn't know what he is talking about!
> Of course the RTX-2000 is a Forth processor. The Pentium or ARM are not.

As usual, Hugh is off his meds again. There's no definition of a "Forth processor", so no one can say Hugh is wrong or right. My point is, virtually any processor will run the Forth language and so, is just as much a "Forth processor" as the RTX chip. Hugh literally can't accept or even understand this.

> > A subroutine requires just two things,
> > save the next instruction address on the return stack and jump to the address specified,
> > easy to do in one clock cycle.
> In my design, the subroutine call is two instructions because it does two things.

You are not very experienced in FPGA design, so this may be due to that limitation. Or maybe you have some unusual goals in your architecture that forces this choice. I did my design 20 years ago, when FPGAs at reasonable prices were much smaller. So I wanted to optimize program size. One of the most used operations in Forth programs is the subroutine call. It makes little sense to turn that into two instructions, especially if the instructions are large, such as many which are 16 bits.

> > A return is even easier, just jump to the address on the return stack and pop the return stack.
> The subroutine return is one instruction because it does one thing.

I've just explained that it does two things.

1) Jump to address on the top of return stack.

2) Discard the data on the top of return stack.

See, I've even counted them for you, 1... 2...

I think it was Jeff Fox who talked about poor Forth programmers who can't count, and so muck up the stack on exit from a word.

> As a general rule of thumb, the people who claim that everything is easy
> are those who have not done anything.

And yet, I've designed multiple stack processors for FPGAs and used them in commercial designs.

> I think Rick Collins is a total fake.

Of course. Your hallucinations are well documented here in c.l.f.

> Christopher Lozinski admitted that he has taken one class on the subject
> and is not an expert. Most likely, Rick Collins has also taken one class

I've taken zero classes in processor design. It's not a topic that requires a class. Most of the techniques that would be used in a small CPU for an FPGA, don't use complicated features, because that bloats the size and complexity, slowing operation and increasing cost. Most people can understand that easily, without spending much time on it. Christopher has some preconceptions of what he wants his processor to be, things that excite him. Nothing wrong with that. But his processor design will ultimately be looking for an application it is optimal for, and he may not find one. Hard to say.

> on the subject, got a 'C', and now spends all of his time on comp.lang.forth
> pretending to be the world's expert on the subject, lording over the
> admitted novices such as Christopher Lozinski. Rick Collins is a total fake!

And yet, ever so much more real than that Hugh guy, who does all manner of work in his basement (or maybe his mom's basement) and never gets paid for any of it. I really do feel sorry for the guy. He could do much better for himself as he is clearly a very sharp cookie. But until he acknowledges his problems, and gets help for them, he will live life here, in c.l.f., never seeing any of his work come to fruition.

--

Rick C.

-- Get 1,000 miles of free Supercharging
-- Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<u8qojh$3uttg$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24016&group=comp.lang.forth#24016

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Fri, 14 Jul 2023 16:05:36 +1000
Organization: A noiseless patient Spider
Lines: 11
Message-ID: <u8qojh$3uttg$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Fri, 14 Jul 2023 06:05:37 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ce776c1f72439b47fbe3ba47e5acaf19";
logging-data="4159408"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18k5zSWEpT/ncONgUbSnsqy"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:vRxDPBPtUMIkiLWJYmyPp/PUQXo=
Content-Language: en-GB
In-Reply-To: <9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
 by: dxforth - Fri, 14 Jul 2023 06:05 UTC

On 14/07/2023 6:09 am, Brian Fox wrote:
> ...
> One amazing spec to me is: 1 cycle sub-routine call and return!

If it sounds too good to be true, it usually is. '1 cycle' instructions
sound great compared to CPUs of the 1970's. But it would be comparing
apples and oranges. My intro into 1 cycle CPUs was AVR 8-bit. It wasn't
at all positive. I enjoy saving bytes and gaining speed but when every
instruction is a minimum of 16-bits and the speed is the same, it's a
lost cause.

Re: J1 Barrel Processor

<37b3aec2-19f5-4a45-b4e8-67765b8f5c20n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24017&group=comp.lang.forth#24017

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:4483:b0:767:f1e6:85ff with SMTP id x3-20020a05620a448300b00767f1e685ffmr9796qkp.2.1689317506617;
Thu, 13 Jul 2023 23:51:46 -0700 (PDT)
X-Received: by 2002:a05:6870:b147:b0:1b0:41da:daa8 with SMTP id
a7-20020a056870b14700b001b041dadaa8mr4046024oal.1.1689317506225; Thu, 13 Jul
2023 23:51:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Thu, 13 Jul 2023 23:51:45 -0700 (PDT)
In-Reply-To: <u8qojh$3uttg$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=65.207.89.54; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 65.207.89.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <37b3aec2-19f5-4a45-b4e8-67765b8f5c20n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Fri, 14 Jul 2023 06:51:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2167
 by: Lorem Ipsum - Fri, 14 Jul 2023 06:51 UTC

On Friday, July 14, 2023 at 2:05:41 AM UTC-4, dxforth wrote:
> On 14/07/2023 6:09 am, Brian Fox wrote:
> > ...
> > One amazing spec to me is: 1 cycle sub-routine call and return!
> If it sounds too good to be true, it usually is. '1 cycle' instructions
> sound great compared to CPUs of the 1970's. But it would be comparing
> apples and oranges. My intro into 1 cycle CPUs was AVR 8-bit. It wasn't
> at all positive. I enjoy saving bytes and gaining speed but when every
> instruction is a minimum of 16-bits and the speed is the same, it's a
> lost cause.

Are you saying the AVR has 16 bit instructions? I've never worked with them at that level.

--

Rick C.

-+ Get 1,000 miles of free Supercharging
-+ Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<u8r08f$3vib2$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24018&group=comp.lang.forth#24018

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Fri, 14 Jul 2023 18:16:15 +1000
Organization: A noiseless patient Spider
Lines: 19
Message-ID: <u8r08f$3vib2$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
<u8qojh$3uttg$1@dont-email.me>
<37b3aec2-19f5-4a45-b4e8-67765b8f5c20n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 14 Jul 2023 08:16:15 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ce776c1f72439b47fbe3ba47e5acaf19";
logging-data="4180322"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+MJNTBQgvxiULIwnuKJy3H"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:B85tN+Wk8IUoKs08TGhV8cqd+AM=
In-Reply-To: <37b3aec2-19f5-4a45-b4e8-67765b8f5c20n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Fri, 14 Jul 2023 08:16 UTC

On 14/07/2023 4:51 pm, Lorem Ipsum wrote:
> On Friday, July 14, 2023 at 2:05:41 AM UTC-4, dxforth wrote:
>> On 14/07/2023 6:09 am, Brian Fox wrote:
>>> ...
>>> One amazing spec to me is: 1 cycle sub-routine call and return!
>> If it sounds too good to be true, it usually is. '1 cycle' instructions
>> sound great compared to CPUs of the 1970's. But it would be comparing
>> apples and oranges. My intro into 1 cycle CPUs was AVR 8-bit. It wasn't
>> at all positive. I enjoy saving bytes and gaining speed but when every
>> instruction is a minimum of 16-bits and the speed is the same, it's a
>> lost cause.
>
> Are you saying the AVR has 16 bit instructions? I've never worked with them at that level.

8-bit operations. 16-bit long instructions. A few instructions work
with register pairs (16-bit operation).

Re: J1 Barrel Processor

<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24019&group=comp.lang.forth#24019

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4d45:0:b0:637:85e2:af19 with SMTP id m5-20020ad44d45000000b0063785e2af19mr12687qvm.0.1689343623982;
Fri, 14 Jul 2023 07:07:03 -0700 (PDT)
X-Received: by 2002:a05:6808:2128:b0:3a1:c163:6022 with SMTP id
r40-20020a056808212800b003a1c1636022mr4176436oiw.4.1689343623706; Fri, 14 Jul
2023 07:07:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 14 Jul 2023 07:07:03 -0700 (PDT)
In-Reply-To: <u8qojh$3uttg$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=99.242.210.36; posting-account=2z7GawoAAADc70p5SM5AbaCyzjLblS3g
NNTP-Posting-Host: 99.242.210.36
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: brian.fox@brianfox.ca (Brian Fox)
Injection-Date: Fri, 14 Jul 2023 14:07:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Brian Fox - Fri, 14 Jul 2023 14:07 UTC

On Friday, July 14, 2023 at 2:05:41 AM UTC-4, dxforth wrote:
> On 14/07/2023 6:09 am, Brian Fox wrote:
> > ...
> > One amazing spec to me is: 1 cycle sub-routine call and return!
> If it sounds too good to be true, it usually is. '1 cycle' instructions
> sound great compared to CPUs of the 1970's. But it would be comparing
> apples and oranges. My intro into 1 cycle CPUs was AVR 8-bit. It wasn't
> at all positive. I enjoy saving bytes and gaining speed but when every
> instruction is a minimum of 16-bits and the speed is the same, it's a
> lost cause.

Perhaps a difference worth considering with RTX is in some cases
multiple instructions can fetched in one 16 bit read and then operate
in parallel in the processor. The room to do that was because
there are no bits required for register selection and the instruction set
is very small. This did require a smarter compiler however.

Generally in my experience call/return on a register machine
uses many more clocks than one, because you have to push/pop
registers most of the time.

But as with all things in engineering there is no free lunch.
"Fast, Good, Cheap. Pick two"

Re: J1 Barrel Processor

<e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24020&group=comp.lang.forth#24020

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:28c3:b0:765:3e4a:1c57 with SMTP id l3-20020a05620a28c300b007653e4a1c57mr13306qkp.11.1689362857323;
Fri, 14 Jul 2023 12:27:37 -0700 (PDT)
X-Received: by 2002:a05:6808:2123:b0:3a3:89dc:8d5f with SMTP id
r35-20020a056808212300b003a389dc8d5fmr7305404oiw.1.1689362856947; Fri, 14 Jul
2023 12:27:36 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Fri, 14 Jul 2023 12:27:36 -0700 (PDT)
In-Reply-To: <2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Fri, 14 Jul 2023 19:27:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4042
 by: Lorem Ipsum - Fri, 14 Jul 2023 19:27 UTC

On Friday, July 14, 2023 at 10:07:05 AM UTC-4, Brian Fox wrote:
> On Friday, July 14, 2023 at 2:05:41 AM UTC-4, dxforth wrote:
> > On 14/07/2023 6:09 am, Brian Fox wrote:
> > > ...
> > > One amazing spec to me is: 1 cycle sub-routine call and return!
> > If it sounds too good to be true, it usually is. '1 cycle' instructions
> > sound great compared to CPUs of the 1970's. But it would be comparing
> > apples and oranges. My intro into 1 cycle CPUs was AVR 8-bit. It wasn't
> > at all positive. I enjoy saving bytes and gaining speed but when every
> > instruction is a minimum of 16-bits and the speed is the same, it's a
> > lost cause.
> Perhaps a difference worth considering with RTX is in some cases
> multiple instructions can fetched in one 16 bit read and then operate
> in parallel in the processor. The room to do that was because
> there are no bits required for register selection and the instruction set
> is very small. This did require a smarter compiler however.

TI designed a "VLIW" DSP processor that is actually 8 processors, each with a 32 bit instruction word. I don't see this as VLIW myself. VLIw was originally intended to be an instruction format that had very little encoding. Rather, control points in the processor would correspond with a bit in the instruction, minizing the decoding required to effect the instruction.

This is essentially what most people are doing when they talk about "multiple instructions" per word in stack machines. The b16 is this way, as is the F18A. It improves throughput when you have variable sized instructions or when instructions are fetched from external memory. Internally in an FPGA, this is of limited value.

I believe the RTX did have some capability of parallel execution of some instructions. I know people rave about the "return" bit, a 1-bit field that does a return. It can be used in parallel with any instruction that is not already altering the program flow, or the return stack.

> Generally in my experience call/return on a register machine
> uses many more clocks than one, because you have to push/pop
> registers most of the time.

You have to save the registers you will use.

> But as with all things in engineering there is no free lunch.
> "Fast, Good, Cheap. Pick two"

Not sure how that trope applies here.

--

Rick C.

+- Get 1,000 miles of free Supercharging
+- Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24021&group=comp.lang.forth#24021

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:19a7:b0:765:942d:b19 with SMTP id bm39-20020a05620a19a700b00765942d0b19mr27306qkb.13.1689393854324;
Fri, 14 Jul 2023 21:04:14 -0700 (PDT)
X-Received: by 2002:a05:6808:1827:b0:3a3:df1d:4369 with SMTP id
bh39-20020a056808182700b003a3df1d4369mr9056293oib.7.1689393854014; Fri, 14
Jul 2023 21:04:14 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Fri, 14 Jul 2023 21:04:13 -0700 (PDT)
In-Reply-To: <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=162.253.129.54; posting-account=2z7GawoAAADc70p5SM5AbaCyzjLblS3g
NNTP-Posting-Host: 162.253.129.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com> <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: brian.fox@brianfox.ca (Brian Fox)
Injection-Date: Sat, 15 Jul 2023 04:04:14 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1801
 by: Brian Fox - Sat, 15 Jul 2023 04:04 UTC

On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:

> > "Fast, Good, Cheap. Pick two"
> Not sure how that trope applies here.

I was considering stack machine versus register machine
advantages/tradeoffs as I wrote it.

I am sure there is a better trope. I just don't have one.

Re: J1 Barrel Processor

<u8tahq$ak70$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24022&group=comp.lang.forth#24022

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Sat, 15 Jul 2023 15:24:10 +1000
Organization: A noiseless patient Spider
Lines: 16
Message-ID: <u8tahq$ak70$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
<u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
<e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 15 Jul 2023 05:24:11 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="f3d1995580067fd3e03fc6fb74a98a0a";
logging-data="348384"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19lcJoslEVbVpYugTycF4oo"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:Ff83/PT0i+9hoM65uxelujwu3pg=
In-Reply-To: <6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Sat, 15 Jul 2023 05:24 UTC

On 15/07/2023 2:04 pm, Brian Fox wrote:
> On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
>
>>> "Fast, Good, Cheap. Pick two"
>> Not sure how that trope applies here.
>
> I was considering stack machine versus register machine
> advantages/tradeoffs as I wrote it.
>
> I am sure there is a better trope. I just don't have one.

In the case of AVR8 there is some sort of trade-off at play. These
devices have quite small flash yet instruction sizes are relatively
large. Were there a better option Atmel (or a competitor) would have
used it.

Re: J1 Barrel Processor

<c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24023&group=comp.lang.forth#24023

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:aa6:b0:635:eade:c68f with SMTP id ew6-20020a0562140aa600b00635eadec68fmr42888qvb.5.1689406492590;
Sat, 15 Jul 2023 00:34:52 -0700 (PDT)
X-Received: by 2002:a05:622a:1a06:b0:403:af80:2c0d with SMTP id
f6-20020a05622a1a0600b00403af802c0dmr46511qtb.1.1689406492247; Sat, 15 Jul
2023 00:34:52 -0700 (PDT)
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!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 15 Jul 2023 00:34:52 -0700 (PDT)
In-Reply-To: <u8tahq$ak70$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=65.207.89.54; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 65.207.89.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com> <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com> <u8tahq$ak70$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Sat, 15 Jul 2023 07:34:52 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4423
 by: Lorem Ipsum - Sat, 15 Jul 2023 07:34 UTC

On Saturday, July 15, 2023 at 1:24:15 AM UTC-4, dxforth wrote:
> On 15/07/2023 2:04 pm, Brian Fox wrote:
> > On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
> >
> >>> "Fast, Good, Cheap. Pick two"
> >> Not sure how that trope applies here.
> >
> > I was considering stack machine versus register machine
> > advantages/tradeoffs as I wrote it.
> >
> > I am sure there is a better trope. I just don't have one.
> In the case of AVR8 there is some sort of trade-off at play. These
> devices have quite small flash yet instruction sizes are relatively
> large. Were there a better option Atmel (or a competitor) would have
> used it.

Better in what way? Often decisions are made so the product does not appear "goofy". For example, users are biased to hate instruction words that are not powers of 2. I suppose that's because of the typical mixing of data and instructions. I think some of the PICs have 12 bit instructions and no mixing. I suppose that would be a Harvard architecture. I can't think of any others.

In FPGAs, I tend to fit the instruction size to the block RAM width, which is typically 1, 2, 4, 8, 9, 16, 18, 32 or 36. I've actually used 8 and 9 bits, with the same instruction set. In 9 bits the immediate data fields get an extra bit which can be significant, and there are nearly twice as many opcodes available, which is hard to make use of, really. The 8 bit instruction size provides for more than 16 instructions, if I recall. I don't know what to do with over 32 instructions and this makes the decode, etc. more complex. So, mostly the 9 bit instruction has an extra immediate bit and a few extra used instructions.

When I look at other processors, that seem very effective, they often have only 16 to 32 instructions. The b16 has been well received with a 5 bit instruction word. I don't recall how immediate data is handled, but it's probably like the F18a, which is also 5 bit instructions in a 16 (or is it 18?) bit word. The F18A uses either the remainder of the current word, or if it's not large enough, the next instruction word.

To prevent waste of instruction space, my instruction format has a 1 bit instruction for a literal, which can be cascaded to build up any size operand that you wish, and is the way addresses are extended for the call and jump instructions, which have a 4/5 bit immediate field. Addresses are relative, so jumping can be -8 to +7 or -16 to +15 (8/9 bit instructions) without extending the address with literal instructions. This makes looping pretty efficient.

Sorry for the rambling.

--

Rick C.

++ Get 1,000 miles of free Supercharging
++ Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<u90hos$o2fg$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24029&group=comp.lang.forth#24029

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Sun, 16 Jul 2023 20:45:48 +1000
Organization: A noiseless patient Spider
Lines: 25
Message-ID: <u90hos$o2fg$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
<u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
<e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>
<u8tahq$ak70$1@dont-email.me>
<c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 16 Jul 2023 10:45:48 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="81cab1f34e5d5c27e1bd9e0e9d5d5d31";
logging-data="788976"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX189GhXUxC3IDFosq99NUqJ9"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:wuZFNw1W2cSTj+diI3Pal2fudHY=
Content-Language: en-GB
In-Reply-To: <c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com>
 by: dxforth - Sun, 16 Jul 2023 10:45 UTC

On 15/07/2023 5:34 pm, Lorem Ipsum wrote:
> On Saturday, July 15, 2023 at 1:24:15 AM UTC-4, dxforth wrote:
>> On 15/07/2023 2:04 pm, Brian Fox wrote:
>>> On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
>>>
>>>>> "Fast, Good, Cheap. Pick two"
>>>> Not sure how that trope applies here.
>>>
>>> I was considering stack machine versus register machine
>>> advantages/tradeoffs as I wrote it.
>>>
>>> I am sure there is a better trope. I just don't have one.
>> In the case of AVR8 there is some sort of trade-off at play. These
>> devices have quite small flash yet instruction sizes are relatively
>> large. Were there a better option Atmel (or a competitor) would have
>> used it.
>
> Better in what way? Often decisions are made so the product does not appear "goofy". For example, users are biased to hate instruction words that are not powers of 2. I suppose that's because of the typical mixing of data and instructions. I think some of the PICs have 12 bit instructions and no mixing. I suppose that would be a Harvard architecture. I can't think of any others.
> ...

The 8085 had few registers, variable-length instructions as short as one
byte, 16-bit push/pops (also one byte). To my mind the latter would have
been a better model for the flash sizes typically found in AVR devices.
What use is a 1 cycle instruction CPU if the program doesn't fit.

Re: J1 Barrel Processor

<0c7342c1-341b-47b8-a70a-8cfc188a6c90n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24030&group=comp.lang.forth#24030

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:8e7:b0:634:f275:302c with SMTP id dr7-20020a05621408e700b00634f275302cmr57935qvb.5.1689504526541;
Sun, 16 Jul 2023 03:48:46 -0700 (PDT)
X-Received: by 2002:a05:6870:c395:b0:1b3:eec8:fa8c with SMTP id
g21-20020a056870c39500b001b3eec8fa8cmr8785084oao.4.1689504526127; Sun, 16 Jul
2023 03:48:46 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Sun, 16 Jul 2023 03:48:45 -0700 (PDT)
In-Reply-To: <u90hos$o2fg$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=63.114.57.174; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 63.114.57.174
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com> <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com> <u8tahq$ak70$1@dont-email.me>
<c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com> <u90hos$o2fg$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0c7342c1-341b-47b8-a70a-8cfc188a6c90n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Sun, 16 Jul 2023 10:48:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3452
 by: Lorem Ipsum - Sun, 16 Jul 2023 10:48 UTC

On Sunday, July 16, 2023 at 6:45:51 AM UTC-4, dxforth wrote:
> On 15/07/2023 5:34 pm, Lorem Ipsum wrote:
> > On Saturday, July 15, 2023 at 1:24:15 AM UTC-4, dxforth wrote:
> >> On 15/07/2023 2:04 pm, Brian Fox wrote:
> >>> On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
> >>>
> >>>>> "Fast, Good, Cheap. Pick two"
> >>>> Not sure how that trope applies here.
> >>>
> >>> I was considering stack machine versus register machine
> >>> advantages/tradeoffs as I wrote it.
> >>>
> >>> I am sure there is a better trope. I just don't have one.
> >> In the case of AVR8 there is some sort of trade-off at play. These
> >> devices have quite small flash yet instruction sizes are relatively
> >> large. Were there a better option Atmel (or a competitor) would have
> >> used it.
> >
> > Better in what way? Often decisions are made so the product does not appear "goofy". For example, users are biased to hate instruction words that are not powers of 2. I suppose that's because of the typical mixing of data and instructions. I think some of the PICs have 12 bit instructions and no mixing. I suppose that would be a Harvard architecture. I can't think of any others.
> > ...
>
> The 8085 had few registers, variable-length instructions as short as one
> byte, 16-bit push/pops (also one byte). To my mind the latter would have
> been a better model for the flash sizes typically found in AVR devices.
> What use is a 1 cycle instruction CPU if the program doesn't fit.

Sorry, I don't follow what you are trying to say.

--

Rick C.

--- Get 1,000 miles of free Supercharging
--- Tesla referral code - https://ts.la/richard11209

Re: J1 Barrel Processor

<u92c31$11ol4$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24031&group=comp.lang.forth#24031

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: J1 Barrel Processor
Date: Mon, 17 Jul 2023 13:21:05 +1000
Organization: A noiseless patient Spider
Lines: 31
Message-ID: <u92c31$11ol4$1@dont-email.me>
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com>
<85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com>
<u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com>
<e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com>
<u8tahq$ak70$1@dont-email.me>
<c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com>
<u90hos$o2fg$1@dont-email.me>
<0c7342c1-341b-47b8-a70a-8cfc188a6c90n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 17 Jul 2023 03:21:06 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="1f76daf82cff5c88ea73130334c55023";
logging-data="1106596"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18m0Ni07o81R+rZ6HdzVZV6"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.13.0
Cancel-Lock: sha1:5Akuis1xnkmH6U6cUWShyOiURGc=
In-Reply-To: <0c7342c1-341b-47b8-a70a-8cfc188a6c90n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Mon, 17 Jul 2023 03:21 UTC

On 16/07/2023 8:48 pm, Lorem Ipsum wrote:
> On Sunday, July 16, 2023 at 6:45:51 AM UTC-4, dxforth wrote:
>> On 15/07/2023 5:34 pm, Lorem Ipsum wrote:
>>> On Saturday, July 15, 2023 at 1:24:15 AM UTC-4, dxforth wrote:
>>>> On 15/07/2023 2:04 pm, Brian Fox wrote:
>>>>> On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
>>>>>
>>>>>>> "Fast, Good, Cheap. Pick two"
>>>>>> Not sure how that trope applies here.
>>>>>
>>>>> I was considering stack machine versus register machine
>>>>> advantages/tradeoffs as I wrote it.
>>>>>
>>>>> I am sure there is a better trope. I just don't have one.
>>>> In the case of AVR8 there is some sort of trade-off at play. These
>>>> devices have quite small flash yet instruction sizes are relatively
>>>> large. Were there a better option Atmel (or a competitor) would have
>>>> used it.
>>>
>>> Better in what way? Often decisions are made so the product does not appear "goofy". For example, users are biased to hate instruction words that are not powers of 2. I suppose that's because of the typical mixing of data and instructions. I think some of the PICs have 12 bit instructions and no mixing. I suppose that would be a Harvard architecture. I can't think of any others.
>>> ...
>>
>> The 8085 had few registers, variable-length instructions as short as one
>> byte, 16-bit push/pops (also one byte). To my mind the latter would have
>> been a better model for the flash sizes typically found in AVR devices.
>> What use is a 1 cycle instruction CPU if the program doesn't fit.
>
> Sorry, I don't follow what you are trying to say.

Current 8-bit CPU's are not memory efficient.

Re: J1 Barrel Processor

<981954f5-c05d-417a-8c1f-247360f06f86n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24032&group=comp.lang.forth#24032

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:55cf:0:b0:635:e314:b098 with SMTP id bt15-20020ad455cf000000b00635e314b098mr66248qvb.3.1689572338839;
Sun, 16 Jul 2023 22:38:58 -0700 (PDT)
X-Received: by 2002:a05:6808:10d1:b0:3a1:d419:9c64 with SMTP id
s17-20020a05680810d100b003a1d4199c64mr16080409ois.5.1689572338319; Sun, 16
Jul 2023 22:38:58 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.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.lang.forth
Date: Sun, 16 Jul 2023 22:38:57 -0700 (PDT)
In-Reply-To: <u92c31$11ol4$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=65.207.89.54; posting-account=I-_H_woAAAA9zzro6crtEpUAyIvzd19b
NNTP-Posting-Host: 65.207.89.54
References: <2cf47e9d-cbae-4af5-b886-ff10a9720888n@googlegroups.com>
<7fff83f0-424b-43c4-acfa-a9ddea4c2dc6n@googlegroups.com> <85d7f5fb-9174-4944-8c12-acdbbbdde2cdn@googlegroups.com>
<9eb223f0-ba29-458b-8a2b-450bd93d7c1fn@googlegroups.com> <u8qojh$3uttg$1@dont-email.me>
<2197ea78-624b-4b2a-8680-44610a2a4d33n@googlegroups.com> <e08bb1dd-2f0c-4e47-b325-370762ae4ba2n@googlegroups.com>
<6f057f88-2428-4d55-96fd-2e86742ac196n@googlegroups.com> <u8tahq$ak70$1@dont-email.me>
<c9f571ed-b7f3-47d0-addb-bdc0c089d3c5n@googlegroups.com> <u90hos$o2fg$1@dont-email.me>
<0c7342c1-341b-47b8-a70a-8cfc188a6c90n@googlegroups.com> <u92c31$11ol4$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <981954f5-c05d-417a-8c1f-247360f06f86n@googlegroups.com>
Subject: Re: J1 Barrel Processor
From: gnuarm.deletethisbit@gmail.com (Lorem Ipsum)
Injection-Date: Mon, 17 Jul 2023 05:38:58 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4083
 by: Lorem Ipsum - Mon, 17 Jul 2023 05:38 UTC

On Sunday, July 16, 2023 at 11:21:09 PM UTC-4, dxforth wrote:
> On 16/07/2023 8:48 pm, Lorem Ipsum wrote:
> > On Sunday, July 16, 2023 at 6:45:51 AM UTC-4, dxforth wrote:
> >> On 15/07/2023 5:34 pm, Lorem Ipsum wrote:
> >>> On Saturday, July 15, 2023 at 1:24:15 AM UTC-4, dxforth wrote:
> >>>> On 15/07/2023 2:04 pm, Brian Fox wrote:
> >>>>> On Friday, July 14, 2023 at 3:27:38 PM UTC-4, Lorem Ipsum wrote:
> >>>>>
> >>>>>>> "Fast, Good, Cheap. Pick two"
> >>>>>> Not sure how that trope applies here.
> >>>>>
> >>>>> I was considering stack machine versus register machine
> >>>>> advantages/tradeoffs as I wrote it.
> >>>>>
> >>>>> I am sure there is a better trope. I just don't have one.
> >>>> In the case of AVR8 there is some sort of trade-off at play. These
> >>>> devices have quite small flash yet instruction sizes are relatively
> >>>> large. Were there a better option Atmel (or a competitor) would have
> >>>> used it.
> >>>
> >>> Better in what way? Often decisions are made so the product does not appear "goofy". For example, users are biased to hate instruction words that are not powers of 2. I suppose that's because of the typical mixing of data and instructions. I think some of the PICs have 12 bit instructions and no mixing. I suppose that would be a Harvard architecture. I can't think of any others.
> >>> ...
> >>
> >> The 8085 had few registers, variable-length instructions as short as one
> >> byte, 16-bit push/pops (also one byte). To my mind the latter would have
> >> been a better model for the flash sizes typically found in AVR devices..
> >> What use is a 1 cycle instruction CPU if the program doesn't fit.
> >
> > Sorry, I don't follow what you are trying to say.
> Current 8-bit CPU's are not memory efficient.

And this is relevant to the conversation in what way? I'm just now following the flow of thought. I mentioned that instruction sized vary, but are mostly powers of two and gave an exception. You made a comment that doesn't seem to flow from that. I don't get the connection.

--

Rick C.

--+ Get 1,000 miles of free Supercharging
--+ Tesla referral code - https://ts.la/richard11209

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor