BigEd wrote:
If you ever chance upon a diagram for the p2, please share! It sounds interesting. I did look at the forum thread linked earlier but didn't see what I wanted.
I agree that the P2 is interesting --- if you start a thread on the subject of the P2 I will read it!
It is conceivable that I will write code for the P2, although not very likely. There is a guy on the Parallax forum who wrote a Forth for the Propeller, but he is just value-adding to Parallax products for free --- this possibly boosts Parallax's sales of the Propeller, but all the guy gets for this is "ego-boo," and not very much of that as loyal Parallax customers will routinely say that Spin is far superior.
Realistically, processor vendors don't want third-party compilers to exist. The reason is that some customer might start complaining:
"My program was written perfectly, but it doesn't work, so there must be a bug in the hardware!"Most of the time, a technical-support person will examine the code that supposedly demonstrates the hardware bug and discover that it is actually a software bug and the hardware is fine. This only works however, if the code is written in a language that the technical-support person understands, and a compiler that the technical-support person feels confident doesn't have any bugs.
I have no intention of ever allowing any assembler/compiler except my own to be available for the TOYF (assuming that the TOYF makes it into an FPGA).
I especially will strive to prevent an ANS-Forth compiler from being written for the TOYF. The problem here is that ANS-Forth is the Standard (with a capital 'S') and my compiler is automatically relegated to being a non-standard wanna-be. A big feature in the TOYF is that I support quotations that have access to the parent function's local variables despite the fact that the HOF (higher-order function) that was called by the parent function and is executing the quotation, has local variables of its own. Quotations have been indirectly banned in ANS-Forth by various rules, and have been explicitly banned in Forth-200x --- so, any ANS-Forth or Forth-200x compiler will generate crippled TOYF code that doesn't take advantage of the TOYF's primary feature and makes the TOYF look like a typical crude and stupid Forth processor. Note that Stephen Pelc did a "clean-room implementation" of the RTX-2000 in an FPGA that he is selling, so he is financially motivated to cripple any other Forth FPGA implementation to prevent it from having features that the RTX-2000 lacks.
Anyway, the P2 does loosely-coupled parallel processing. As interesting as this may be, it has nothing to do with tightly-coupled parallel processing.
There is no round-table access to common data in the TOYF, and there isn't going to be. The registers are common data, but they have to be read from and written to in parallel --- the three processors (A B M) can't take turns accessing the registers.
If people think that the TOYF design is dumb (everybody seems to, so far), I would prefer that they just ignore this thread (everybody has been ignoring it for many months, until just recently) rather than divert the thread into something that is interesting such as the P2 or RISC-V.