Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Going the speed of light is bad for your age.


devel / comp.lang.forth / MicroCore is a Forth CPU which Pauses

SubjectAuthor
* MicroCore is a Forth CPU which PausesChristopher Lozinski
+* Re: MicroCore is a Forth CPU which PausesBrad Eckert
|+* Re: MicroCore is a Forth CPU which PausesLorem Ipsum
||`* Re: MicroCore is a Forth CPU which PausesChristopher Lozinski
|| `* Re: MicroCore is a Forth CPU which PausesLorem Ipsum
||  `- Re: MicroCore is a Forth CPU which PausesChristopher Lozinski
|`- Re: MicroCore is a Forth CPU which Pausesnone
`- Re: MicroCore is a Forth CPU which PausesLorem Ipsum

1
MicroCore is a Forth CPU which Pauses

<23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23180&group=comp.lang.forth#23180

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:1a2a:b0:745:6fda:f04e with SMTP id bk42-20020a05620a1a2a00b007456fdaf04emr738525qkb.9.1680964947436;
Sat, 08 Apr 2023 07:42:27 -0700 (PDT)
X-Received: by 2002:ac8:7d92:0:b0:3e6:6502:16b2 with SMTP id
c18-20020ac87d92000000b003e6650216b2mr1961510qtd.12.1680964947161; Sat, 08
Apr 2023 07:42:27 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 8 Apr 2023 07:42:26 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.23.53; posting-account=qOvlJAoAAAALKIuQXXxAY1xxkFpdJUbI
NNTP-Posting-Host: 46.134.23.53
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
Subject: MicroCore is a Forth CPU which Pauses
From: calozin...@gmail.com (Christopher Lozinski)
Injection-Date: Sat, 08 Apr 2023 14:42:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Christopher Lozinski - Sat, 8 Apr 2023 14:42 UTC

Microcore.
https://github.com/microCore-VHDL/microCore

Hardware pauses are how the Transputer managed Communicaing Sequential Processes (CSP). Ask to receive a message, if it was not there, the process would pause, an interrupt would call some microcode, which would allow another process to run. And now GoLang uses CSP. So here is what the Microcore has to say about pauses.

Interupt: An event which happened which was not expected by the application.

Pause: An event which did not happen, which was expected by the application..

You can read more here: Scroll down to section six, or search for "pause".
https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_overview.pdf

His CPU was recommended to me by Jim Brake.
https://github.com/jimbrake/cpu_soft_cores

Who was recommended to me by Lorum Ipsum.

So what do you think of pausing?
Are there any other Forth CPU's with pause functionality?
Thank you everyone. None of the faculty at my University seem to know anything about Forth.
Chris

Re: MicroCore is a Forth CPU which Pauses

<98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23183&group=comp.lang.forth#23183

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:4515:b0:746:7c34:59fb with SMTP id t21-20020a05620a451500b007467c3459fbmr1745549qkp.3.1680970387677;
Sat, 08 Apr 2023 09:13:07 -0700 (PDT)
X-Received: by 2002:a05:620a:1903:b0:746:98fc:c6cf with SMTP id
bj3-20020a05620a190300b0074698fcc6cfmr1318832qkb.3.1680970387406; Sat, 08 Apr
2023 09:13:07 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.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, 8 Apr 2023 09:13:07 -0700 (PDT)
In-Reply-To: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=72.217.63.66; posting-account=6GCGIQoAAAAyO8IjR_VTwqiqLwx0Q_G8
NNTP-Posting-Host: 72.217.63.66
References: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: hwfw...@gmail.com (Brad Eckert)
Injection-Date: Sat, 08 Apr 2023 16:13:07 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3605
 by: Brad Eckert - Sat, 8 Apr 2023 16:13 UTC

On Saturday, April 8, 2023 at 7:42:29 AM UTC-7, Christopher Lozinski wrote:
> Microcore.
> https://github.com/microCore-VHDL/microCore
>
> Hardware pauses are how the Transputer managed Communicaing Sequential Processes (CSP). Ask to receive a message, if it was not there, the process would pause, an interrupt would call some microcode, which would allow another process to run. And now GoLang uses CSP. So here is what the Microcore has to say about pauses.
>
> Interupt: An event which happened which was not expected by the application.
>
> Pause: An event which did not happen, which was expected by the application.
>
> You can read more here: Scroll down to section six, or search for "pause"..
> https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_overview.pdf
>
> His CPU was recommended to me by Jim Brake.
> https://github.com/jimbrake/cpu_soft_cores
>
> Who was recommended to me by Lorum Ipsum.
>
> So what do you think of pausing?
> Are there any other Forth CPU's with pause functionality?
> Thank you everyone. None of the faculty at my University seem to know anything about Forth.
> Chris
Googling for "forth multitasking" returns this at the top: https://www.bradrodriguez.com/papers/mtasking.html

PAUSE is Forth's multitasking word. If hardware is busy, pass control to the next task in a round-robin queue. uCore's Pause uses hardware to execute a trap, which could execute PAUSE instead of explicitly coding something like BEGIN TEST WHILE PAUSE REPEAT.

Since you are investing your time in multi-processor designs, it seems to me a more valuable topic would be on-chip networking. NOCs have not had the scrutiny that ISAs have so the field has much room for growth. The low performance of on-chip networks causes applications to favor single-core or few-core platforms, so NOCs are a scalability bottleneck. If apps had more flexible networks, they could exploit more cores.

Also, RISC V is "the thing" now. If you are implementing anything else, you should have a very good reason. Even if you do, you would want your multi-core chip to support the inclusion of RISC V. Oddball cores like Forth processors would be add-ons. That makes the NOC infrastructure the first thing to look at, not the particular CPU design.

Re: MicroCore is a Forth CPU which Pauses

<c059fe88-c06b-42e1-bbfb-c7c0dbcb96f0n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23184&group=comp.lang.forth#23184

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:7f84:0:b0:3e6:71d6:5d5c with SMTP id z4-20020ac87f84000000b003e671d65d5cmr2103135qtj.1.1680971756545;
Sat, 08 Apr 2023 09:35:56 -0700 (PDT)
X-Received: by 2002:a05:620a:400a:b0:74a:5986:9f18 with SMTP id
h10-20020a05620a400a00b0074a59869f18mr1736061qko.3.1680971756313; Sat, 08 Apr
2023 09:35:56 -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: Sat, 8 Apr 2023 09:35:56 -0700 (PDT)
In-Reply-To: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@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: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c059fe88-c06b-42e1-bbfb-c7c0dbcb96f0n@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: gnuarm.d...@gmail.com (Lorem Ipsum)
Injection-Date: Sat, 08 Apr 2023 16:35:56 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4020
 by: Lorem Ipsum - Sat, 8 Apr 2023 16:35 UTC

On Saturday, April 8, 2023 at 10:42:29 AM UTC-4, Christopher Lozinski wrote:
> Microcore.
> https://github.com/microCore-VHDL/microCore
>
> Hardware pauses are how the Transputer managed Communicaing Sequential Processes (CSP). Ask to receive a message, if it was not there, the process would pause, an interrupt would call some microcode, which would allow another process to run. And now GoLang uses CSP. So here is what the Microcore has to say about pauses.
>
> Interupt: An event which happened which was not expected by the application.
>
> Pause: An event which did not happen, which was expected by the application.
>
> You can read more here: Scroll down to section six, or search for "pause"..
> https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_overview.pdf
>
> His CPU was recommended to me by Jim Brake.
> https://github.com/jimbrake/cpu_soft_cores
>
> Who was recommended to me by Lorum Ipsum.
>
> So what do you think of pausing?
> Are there any other Forth CPU's with pause functionality?
> Thank you everyone. None of the faculty at my University seem to know anything about Forth.
> Chris

The name was Jim Brakefield, not Jim Brake.

The F18A, by Chuck Moore, uses the pause concept. Adjacent processors in the grid are connected by a communication port. Either processor can write to the port and either can read. If done in a specific way, the writing processor would halt until the word was read by the other processor. Likewise, a read could halt a processor, until that word was written by the other processor. It was a challenge to use productively. There were also ways to use the comm ports without pending a processor.

I worked on Transputer project using dozens of processors. The decision was to not use Occam, and not use pended communications. They used C and an IEEE protocol for comms.

One of the many short comings of the GA144 multiprocessor chip (using the F18A CPU) was the difficulties in using the interprocessor comms effectively.. I don't recall the application, but Chuck himself struggled with this comms structure. He was trying to create a general purpose routing node from an F18A and found it lacking. You might have expected it would have thought about use cases before building the chip.

But it is common in the Forth community to treat design as a playground. That sounds great, but is a very good way to end up with something that is not of much use.

If you don't know where you are going, you are not very likely to get there..

--

Rick C.

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

Re: MicroCore is a Forth CPU which Pauses

<7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23186&group=comp.lang.forth#23186

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:56ef:0:b0:5bb:ca1d:f042 with SMTP id cr15-20020ad456ef000000b005bbca1df042mr496214qvb.0.1680974830821;
Sat, 08 Apr 2023 10:27:10 -0700 (PDT)
X-Received: by 2002:a05:620a:1a8f:b0:748:88dc:da99 with SMTP id
bl15-20020a05620a1a8f00b0074888dcda99mr1363091qkb.0.1680974830522; Sat, 08
Apr 2023 10:27:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!newsfeed.hasname.com!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, 8 Apr 2023 10:27:10 -0700 (PDT)
In-Reply-To: <98f1378b-b746-416f-bf84-0370c4d5d7d8n@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: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com> <98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: gnuarm.d...@gmail.com (Lorem Ipsum)
Injection-Date: Sat, 08 Apr 2023 17:27:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 4432
 by: Lorem Ipsum - Sat, 8 Apr 2023 17:27 UTC

On Saturday, April 8, 2023 at 12:13:08 PM UTC-4, Brad Eckert wrote:
> On Saturday, April 8, 2023 at 7:42:29 AM UTC-7, Christopher Lozinski wrote:
> > Microcore.
> > https://github.com/microCore-VHDL/microCore
> >
> > Hardware pauses are how the Transputer managed Communicaing Sequential Processes (CSP). Ask to receive a message, if it was not there, the process would pause, an interrupt would call some microcode, which would allow another process to run. And now GoLang uses CSP. So here is what the Microcore has to say about pauses.
> >
> > Interupt: An event which happened which was not expected by the application.
> >
> > Pause: An event which did not happen, which was expected by the application.
> >
> > You can read more here: Scroll down to section six, or search for "pause".
> > https://github.com/microCore-VHDL/microCore/blob/master/documents/uCore_overview.pdf
> >
> > His CPU was recommended to me by Jim Brake.
> > https://github.com/jimbrake/cpu_soft_cores
> >
> > Who was recommended to me by Lorum Ipsum.
> >
> > So what do you think of pausing?
> > Are there any other Forth CPU's with pause functionality?
> > Thank you everyone. None of the faculty at my University seem to know anything about Forth.
> > Chris
> Googling for "forth multitasking" returns this at the top: https://www.bradrodriguez.com/papers/mtasking.html
>
> PAUSE is Forth's multitasking word. If hardware is busy, pass control to the next task in a round-robin queue. uCore's Pause uses hardware to execute a trap, which could execute PAUSE instead of explicitly coding something like BEGIN TEST WHILE PAUSE REPEAT.
>
> Since you are investing your time in multi-processor designs, it seems to me a more valuable topic would be on-chip networking. NOCs have not had the scrutiny that ISAs have so the field has much room for growth. The low performance of on-chip networks causes applications to favor single-core or few-core platforms, so NOCs are a scalability bottleneck. If apps had more flexible networks, they could exploit more cores.
>
> Also, RISC V is "the thing" now. If you are implementing anything else, you should have a very good reason. Even if you do, you would want your multi-core chip to support the inclusion of RISC V. Oddball cores like Forth processors would be add-ons. That makes the NOC infrastructure the first thing to look at, not the particular CPU design.

Being "the thing" is not a thing. RISC V is a CPU design that has as its primary feature, the fact that it is open source and therefore free to sell. I'm not saying it is not a good architecture, I'm saying it has few significant advantages over others, such as ARM and MIPS. At least, that's not why it is used. The ARM processors have huge market penetration and visibility, while the MIPS has a significant presence in comms ASICs. But RISC-V has no royalties.

--

Rick C.

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

Re: MicroCore is a Forth CPU which Pauses

<2377201c-cfd2-42a1-9274-d87fcdc59a71n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23188&group=comp.lang.forth#23188

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:622a:1a0b:b0:3de:6674:4778 with SMTP id f11-20020a05622a1a0b00b003de66744778mr2202949qtb.2.1680981910597;
Sat, 08 Apr 2023 12:25:10 -0700 (PDT)
X-Received: by 2002:a05:622a:1811:b0:3db:a6c5:cdb7 with SMTP id
t17-20020a05622a181100b003dba6c5cdb7mr2008852qtc.5.1680981910376; Sat, 08 Apr
2023 12:25:10 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!1.us.feeder.erje.net!feeder.erje.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, 8 Apr 2023 12:25:10 -0700 (PDT)
In-Reply-To: <7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.178.221; posting-account=qOvlJAoAAAALKIuQXXxAY1xxkFpdJUbI
NNTP-Posting-Host: 46.134.178.221
References: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
<98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com> <7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2377201c-cfd2-42a1-9274-d87fcdc59a71n@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: calozin...@gmail.com (Christopher Lozinski)
Injection-Date: Sat, 08 Apr 2023 19:25:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2605
 by: Christopher Lozinski - Sat, 8 Apr 2023 19:25 UTC

Sorry if I got Jim Brakefield's name wrong. I just took it from the name of the repository.

So I think that there is a HUGE difference between how the Microcore does Pause, and how most Forths do pause. 
The Microcore does not have semaphores. Instead each peripheral can raise a pause exception. If the cpu tries to access a peripheral which is not ready, the peripheral issues a pause, the pauses are ORed together, the instruction is aborted and a pause instruction is put on the stack. 
 In contrast, Forth and most of the software world will read a semaphore, and then proceed or pause using the Pause word.

if you only occasionally access shared resources, no one cares. But if you frequently access shared resources, then this would be a lot faster. 

As for on chip networking. I totally agree that is a critical area. I have no idea how it should be done. What do you recommend? KISS They actually have a course here about on-chip networking. 



Why not Risc v? It is not easily accessible. Have you seen how complex the c++ language and compiler are? Forth is so much simpler. I can much more easily do whatever I want. 
A lot more fun.

-Chris

Re: MicroCore is a Forth CPU which Pauses

<78c04ea6-3d36-4da1-851a-28dcda8d81ban@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23190&group=comp.lang.forth#23190

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:580e:0:b0:3de:bafb:82c1 with SMTP id g14-20020ac8580e000000b003debafb82c1mr2112208qtg.3.1680988271139;
Sat, 08 Apr 2023 14:11:11 -0700 (PDT)
X-Received: by 2002:ad4:4ba7:0:b0:5ac:9cc3:b2c4 with SMTP id
i7-20020ad44ba7000000b005ac9cc3b2c4mr1454301qvw.5.1680988270897; Sat, 08 Apr
2023 14:11:10 -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: Sat, 8 Apr 2023 14:11:10 -0700 (PDT)
In-Reply-To: <2377201c-cfd2-42a1-9274-d87fcdc59a71n@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: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
<98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com> <7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>
<2377201c-cfd2-42a1-9274-d87fcdc59a71n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <78c04ea6-3d36-4da1-851a-28dcda8d81ban@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: gnuarm.d...@gmail.com (Lorem Ipsum)
Injection-Date: Sat, 08 Apr 2023 21:11:11 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Lorem Ipsum - Sat, 8 Apr 2023 21:11 UTC

On Saturday, April 8, 2023 at 3:25:11 PM UTC-4, Christopher Lozinski wrote:
> Sorry if I got Jim Brakefield's name wrong. I just took it from the name of the repository.
>
> So I think that there is a HUGE difference between how the Microcore does Pause, and how most Forths do pause. 
The Microcore does not have semaphores. Instead each peripheral can raise a pause exception. If the cpu tries to access a peripheral which is not ready, the peripheral issues a pause, the pauses are ORed together, the instruction is aborted and a pause instruction is put on the stack. 
 In contrast, Forth and most of the software world will read a semaphore, and then proceed or pause using the Pause word.
>
> if you only occasionally access shared resources, no one cares. But if you frequently access shared resources, then this would be a lot faster. 

As for on chip networking. I totally agree that is a critical area. I have no idea how it should be done. What do you recommend? KISS They actually have a course here about on-chip networking. 



Yeah, I'm sure there's lots of ideas on NOC. It's a tough problem which is best solved in the Forth manner, by changing the problem so your solution doesn't need NOC.

The stuff I do is rapid response, real time, but using dedicated processors to the task. I don't design software that has to juggle 20 things, getting wrapped around the axle trying to keep it all moving. The CPU is only there, because when calculations are needed to be done now, but not so fast dedicated hardware is required, they can be done using software, or other logic is required that would be cumbersome in hardware.

Most engineers don't understand that the power of a CPU isn't in it's speed, because it is actually very slow compared to logic. The power of a CPU comes from the huge multiplexer in the program memory, allowing very complex logic to be implemented sequentially, rather than in parallel. So a memory, which is just lots of registers with a massive mux, is used to emulate virtually any logic you choose. An FPGA does the same thing on a much smaller level using 4, 5 or 6 input look up tables (LUTs), otherwise known as memory.

> Why not Risc v? It is not easily accessible. Have you seen how complex the c++ language and compiler are? Forth is so much simpler. I can much more easily do whatever I want. 
A lot more fun.

I didn't say no RISC V. I was responding to Brad saying, "RISC V is "the thing" now". I was responding to the idea that being "a thing" matters. It's only a thing, because it's free. But maybe I don't understand what Brad meant. Maybe he's talking about RISC V making it possible to customize a popular CPU design, rather than having to roll your own or work with rarely used devices.

I'm not at all clear on what your goals are, what the purpose of this effort is. But that's ok. It's not about me. Enjoy.

--

Rick C.

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

Re: MicroCore is a Forth CPU which Pauses

<287dbeeb-6136-44ac-9c08-88636b20dc54n@googlegroups.com>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23199&group=comp.lang.forth#23199

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:55e7:0:b0:56f:605:dc88 with SMTP id bu7-20020ad455e7000000b0056f0605dc88mr1318748qvb.7.1681019640870;
Sat, 08 Apr 2023 22:54:00 -0700 (PDT)
X-Received: by 2002:a05:620a:4593:b0:74a:598b:9241 with SMTP id
bp19-20020a05620a459300b0074a598b9241mr1743857qkb.10.1681019640608; Sat, 08
Apr 2023 22:54:00 -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: Sat, 8 Apr 2023 22:54:00 -0700 (PDT)
In-Reply-To: <78c04ea6-3d36-4da1-851a-28dcda8d81ban@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.130.210; posting-account=qOvlJAoAAAALKIuQXXxAY1xxkFpdJUbI
NNTP-Posting-Host: 46.134.130.210
References: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com>
<98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com> <7da1028e-2e23-4353-8117-a792d903c1fcn@googlegroups.com>
<2377201c-cfd2-42a1-9274-d87fcdc59a71n@googlegroups.com> <78c04ea6-3d36-4da1-851a-28dcda8d81ban@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <287dbeeb-6136-44ac-9c08-88636b20dc54n@googlegroups.com>
Subject: Re: MicroCore is a Forth CPU which Pauses
From: calozin...@gmail.com (Christopher Lozinski)
Injection-Date: Sun, 09 Apr 2023 05:54:00 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Christopher Lozinski - Sun, 9 Apr 2023 05:54 UTC

Rick C. Said:

> The power of a CPU comes from the huge multiplexer in the program memory, allowing very complex logic to be implemented sequentially, rather than in parallel.

Wow quite eye opening. I thought of them as very diffreent worlds. Thank you.

> I'm not at all clear on what your goals are, what the purpose of this effort is.

The simple answer is that I am getting educated, and building the tools I will need for projects in the future. I am also searching for projects to do in the future. Silesia, Poland is a great place to do that. The cost of living is low. Great health care and public transport. The local university is the best in Poland in Digital Design. They have courses about network on a chip, about vision about lots of other interesting things. Good to speak Polish.

My general sense is that we can do a much better job mapping from software to hardware. So I am exploring what is possible. As just a software developer, I was severely limited in what I could imagine. Yesterday I was reading more about Occam and the Transputer. So in order to have lots of CSP’s they had a fast, hardware fast, way to switch processes. A very interesting idea to be further explored. 

The University library includes subscriptions to the commercial databases which have locked up many of the technical articles on the transputer, the lisp machine, and other interesting cpus.

Why am I here? Well there is something deeply appealing about Forth. As if aliens in another galaxy will also have Forth computers. Their own version of Chuck Moore. Anyhow I still have not fit all the pieces together into a coherent world view.

Re: MicroCore is a Forth CPU which Pauses

<nnd$1099a311$353bed3c@4e5d152268e20a11>

  copy mid

https://www.novabbs.com/devel/article-flat.php?id=23201&group=comp.lang.forth#23201

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
Subject: Re: MicroCore is a Forth CPU which Pauses
References: <23a9e939-1d9c-4bd2-8734-31e04fb19fb4n@googlegroups.com> <98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com>
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: alb...@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$1099a311$353bed3c@4e5d152268e20a11>
Organization: KPN B.V.
Date: Sun, 09 Apr 2023 11:03:35 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 23
Injection-Date: Sun, 09 Apr 2023 11:03:35 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 2013
 by: none - Sun, 9 Apr 2023 09:03 UTC

In article <98f1378b-b746-416f-bf84-0370c4d5d7d8n@googlegroups.com>,
Brad Eckert <hwfwguy@gmail.com> wrote:
<SNIP>
>PAUSE is Forth's multitasking word. If hardware is busy, pass control to the next task in a round-robin queue. uCore's Pause uses hardware to execute a trap,
>which could execute PAUSE instead of explicitly coding something like BEGIN TEST WHILE PAUSE REPEAT.

No it isn't. It is relevant to cooperative multi-tasking on a single core only.

>Also, RISC V is "the thing" now. If you are implementing anything else, you should have a very good reason. Even if you do, you would want your multi-core
>chip to support the inclusion of RISC V. Oddball cores like Forth processors would be add-ons. That makes the NOC infrastructure the first thing to look at,
>not the particular CPU design.

Yesterday (2023 april 8) the Dutch Forth Chapter presented two RiscV Forth's.
On embedded, 32 bit ,in noforth style, and the other ciforth 64 bit linux.
These are mature systems, usable for production.

Groetjes Albert
--
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 -

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor