8 is not enough!
Perry
Posts: 253
I have been watching several threads recently and decided to present an heretical proposal.
Listed in no particular order ...
http://forums.parallax.com/showthread.php?131274-View-Port-standalone&highlight=viewportViewport Stand Alone
My take on this thread is the programmer wanted the interface to run on the Propeller.
http://forums.parallax.com/showthread.php?131382-Realtime-Propeller-Network-over-Ethernet-or-quot-the-propeller-between-propellers-quotRealtime Ethernet Network
http://forums.parallax.com/showthread.php?131466-Multi-Propeller-System Multi Propeller
http://forums.parallax.com/showthread.php?131496-A-disturbing-trend... Disturbing Trend
http://forums.parallax.com/showthread.php?131548-Holly-s-Request Holly's Request
Much of this is already done see http://forums.parallax.com/showthread.php?88361-MCP-%28Master-Control-Program%29-simple-spin-example-launcher-for-beginners&highlight=mcp2
There could be very different answers to these threads if:
Perhaps it's time the Propeller community embraces an agnostic processor metaphor !
I am thinking .of more radical approach to systems design namely "QNX" and "Inferno" that have microcore and exocore designs .
These environments have multi target processor capabilities, and can create environments from large multiprocessor systems to embedded products with identical interfaces, even GUI's.
The also have unusual namespace conventions.
"QNX" can create a 1.4M floppy with a GUI and browser, but I am not liking the licensing options.
"Inferno" is similar but probably builds a larger footprint and is Open Source.( I am presently trying to build the standalone for "pc" environment) to see about porting to Propeller.
I have never thought of the Propeller as a stand alone CPU (no interrupts, no MMU) but as the "glue" to make something much bigger .
The future of computing is multiprocessing and network orientated. This may not work on the "Propeller I" but the "Propeller II" could be just right.
For a start up multi processor, consider a system with 1 to 8 Propeller chips, one cog in each does the microkernel and MMU stuf, they share a single large RAM memory.
The first Propeller is also contains the basic HID (keyboard,mouse,VGA,network,SD access)
There is a lot unsaid here, but I invite comments, suggestions and criticisms.
So what do others think?
Perry
Listed in no particular order ...
http://forums.parallax.com/showthread.php?131274-View-Port-standalone&highlight=viewportViewport Stand Alone
My take on this thread is the programmer wanted the interface to run on the Propeller.
http://forums.parallax.com/showthread.php?131382-Realtime-Propeller-Network-over-Ethernet-or-quot-the-propeller-between-propellers-quotRealtime Ethernet Network
http://forums.parallax.com/showthread.php?131466-Multi-Propeller-System Multi Propeller
http://forums.parallax.com/showthread.php?131496-A-disturbing-trend... Disturbing Trend
http://forums.parallax.com/showthread.php?131548-Holly-s-Request Holly's Request
Much of this is already done see http://forums.parallax.com/showthread.php?88361-MCP-%28Master-Control-Program%29-simple-spin-example-launcher-for-beginners&highlight=mcp2
There could be very different answers to these threads if:
Perhaps it's time the Propeller community embraces an agnostic processor metaphor !
I am thinking .of more radical approach to systems design namely "QNX" and "Inferno" that have microcore and exocore designs .
These environments have multi target processor capabilities, and can create environments from large multiprocessor systems to embedded products with identical interfaces, even GUI's.
The also have unusual namespace conventions.
"QNX" can create a 1.4M floppy with a GUI and browser, but I am not liking the licensing options.
"Inferno" is similar but probably builds a larger footprint and is Open Source.( I am presently trying to build the standalone for "pc" environment) to see about porting to Propeller.
I have never thought of the Propeller as a stand alone CPU (no interrupts, no MMU) but as the "glue" to make something much bigger .
The future of computing is multiprocessing and network orientated. This may not work on the "Propeller I" but the "Propeller II" could be just right.
For a start up multi processor, consider a system with 1 to 8 Propeller chips, one cog in each does the microkernel and MMU stuf, they share a single large RAM memory.
The first Propeller is also contains the basic HID (keyboard,mouse,VGA,network,SD access)
There is a lot unsaid here, but I invite comments, suggestions and criticisms.
So what do others think?
Perry
Comments
It is crawling along slowly, due to more pressing projects - and frankly, it is more appropriate to Prop2
This definitely sounds like a good idea.
Did that, it works great great, they call it FORTH. Most folks can't use it because its not C and doesn't come from Microsoft, it too small, its too fast, its too easy to use, and it doesn't need 8 Gig of RAM to boot. These drawbacks render it unusable by most engineers.
If you continue on this path, expect resistance from the more vocal of your peers, especially if you demostrate success. You probably won't be burned at the stake, if you live far enough away.
Even if you do succede, it has already been proven that you can't use such a system for anything except interplanetary space probes, military satellites, communication satelites, Cisco routers, Sun workstations, Apple compters, postscript printers, FedEx scanners, and embedded systems in general; so the market is limited in this respect.
It does SOUND like agood idea, though, but that's just me.
OBC
-Phil
The tool chains mentioned, QNX and Inferno have been around for many years. QNX is likely the most capable of the two.
"Forth is interesting as a language ,but is not known for it's GUI's or as an OS. In my view it could be used to implement the micro-kernel. What is just as important is the "exokernel", this is the kernel that runs networked applications on any processor and any architecture..
Multprocessing is still in it's infancy, I believe that new apps can be created that dynamically use a computing cloud to achieve results faster the present single processor models. Parallax's propeller is really just 8 CPUs on a chip, I see little attention paid to interprocessor/multiprocessor communications,http://www.mnis.fr/ocera_support/rtos/x2652.html
Also optimizations like BST's "eliminate unused spin methods" allow the creation of embedded apps with the same source as the workstations.
Perry
The Propeller is more than just 8 CPUs on a chip. It has built-in mutex operations (LOCKxxx instructions) and the hub read/write instructions (RDxxxx and WRxxxx) are implemented such that these operations are atomic. Most multiprocessor code written for the Propeller uses simple producer/consumer mechanisms for inter-processor communications and the LOCKxxx instructions can be used to implement more complex behaviors when needed. Several people have written multi-threading kernels, but these are rarely used, mostly because the amount of memory directly available to each CPU is so limited.
I do love sarcasm! But seriously, I didn't understand exactly what the OP was getting at, but you have inspired me to take a closer look at FORTH. I see you peeked OBCs interest too.
Paul
If you really wanted to compare processors you need a single tool chain the develops code for both/many object architectures.
Often I try to convince new computer users ( and old as well) that they do things backwards'
(if all you have is a hammer the solution to every problem requires a nail)
When they want to do some project they first open an application and then look for their data.
I tell them they should generally only use the file manager and know where their "stuff" is, let the OS find the application.
Similarly when developing a product/project one should first have some kind of "functional specification" otherwise it is unlikely to ever be finished.
How do we think and work?
human .........dog bites man
assembler .. bites man dog
forth ...........dog man bites
When normally working at home we first find the subject/problem and then we look for the tool.
I guess what I want is kind of a universal tool for development of solutions!
Perry
Must contradict you here, forth IS known for it's GUI's or as an OS. It just not a Windows gui, its a command line that you can extend into a GUI if and only if you decide you need to spend the resources there. As a matter of fact, I have decided this, I'm working on (making smart people help with the hard parts of) this right now. Host target, networked peers, the whole shot.
FORTH
I don't try to convince, I try to "point out"
Please look in the "Holly's Request thread" for braino's take on requirements, based on practical application of the Capability Maturity Model Integration (CMMI) from the Software Engineering Institute (SEI) of Carnegie Mellon University. I'm not a Carnegie Mellon employee, but a speed a LOT of my days applying the theory to corporations.
Usually, "struggle needlessly" - sorry, my sarcasm bit is stuck again
This is big-endian versus little-endian. You are stuck with American English language blinders. Other human languages do not use the same constructs and work perfectly well, Some do not communicate as well because the do not have as much absorption and co-mingling of grammatica constructs (due to migration conquest etc) but they are still valid.
In any case, we are NOT talking about human language, we are talking about computer interface language. It is not valid to say FORTH's grammar is any less suitable for human, as is not suitable to say any spoken language is "best" for humans.
It funny how some topics can set me off. I should refrain.
I don't wish to change you mind, I only wish to point out that there is a box of tools designed for your stated need, should you wish to employ them.
assembler .. bites man dog
forth ...........dog man bites
I will try to ignore the rest of your missive but this analysis is totally wrong!
To compare three items whose description actually ends in "fix" with two items ending is "endian" defies any logic.
I wonder if you even took your language cultist blinders off for a Plank time, to investigate the two environments I mentioned.(qnx,inferno).
I am having much success in my studies of the inferno environment to bother with your tirades but hope to clear some of negativity in my internal dialog with this post.
Perry
I apologize for my lack of clarity, and for offending you or other readers.
By big-endian vs little endian, I meant that the focusing on the ordering of the language syntax is a tangental issue just as byte ordering is a tangental issue to the usefulness of a processor.
I wish you success with your exploration of qnx and inferno, I'm sure they are quite capable of fullifing your needs. I have not investigated either, I have not had the opportunity. This is to my disadvantage.
Your proposal seemed to indicate that your tools do not already provide the proposed functionality. My intent was to suggest that another tool might already provide at least some part of the requested functionality, perhaps most. This is in no way intended to disparage other solutions or discourage other lines of investigation. Your drive and skills combined with your choice of tools should yield interesting and useful results.