Absolutely true Phil. And I've written here many times about that boot-strapping onto a new CPU design. The Prop is new, and it's new because of it's deterministic operation, and in how the COGS execute code, and the interaction with the HUB, with distinct memory spaces and such.
It has taken considerable time to resolve how things are done, given those changes. Today, there are lots of tools and well worn paths, where early on, the very real questions of "how?" were common.
That boot-strapping will continue some with Prop II, and will be more productive, because of design changes, and the larger scale and scope of possible solutions we will see on that chip.
I would temper that realization with the fact that many use cases do not require the execute timing to be known with any real precision, which favors the faster, linear compute with interrupt model. In some ways today, computing as a whole is having to do that same boot-strapping we are, because raw clock has topped out somewhere around 3Ghz. The new Thinkpad I'm typing on has 4 cores with hyperthreading, for a total of 8 CPU thread units. Looks a lot like a big, fast propeller, with the HUB being all external memory, and with interrupts. Interesting!
The boot-strapping going on has a lot to do with how to break things into parallel tasks, and so far, that's not progressed well. Things like rendering are easy, and those got done. Most things haven't, with the emphasis still on raw clock, and or optimization of the task.
Get real here... No one's wasting their time with the Prop 2. It'll fill a valid niche in the market that is not well served by other chips.
Sal, I was just trying to get Leon to say something positive about the Prop. He did respond with "The Propeller is fine for some applications", which is about as much as Leon is willing to admit. I don't believe that Parallax is wasting their time on the Prop 2. In fact, I believe it will be a very successful chip.
I sometimes recommend the Propeller on other forums, if someone has an application that is suited to its features. I've had at least one email from Parallax thanking me, when I've made such a recommendation.
A sensible designer selects the best device for a particular application, there isn't one chip that is suitable for everything.
...A sensible designer selects the best device for a particular application, there isn't one chip that is suitable for everything.
Beg to differ: Doritos Cool Ranch!
I'm perfectly OK with Leon's stance on the propeller, which I perceive as: "It's best for a _small_ number of applications, just not every problem in the world" (sorry to put words in your mouth, Leon).
The suitability of the prop for every problem will be a function of the developer's skill sets, training/experience, and available tools (including money), and other probably lots of factors. For me, though there are lots of other chips that may well be best for each individual project I start, the prop is flexible enough to handle my hardware requirements, I have plenty of experience with it, and I have protoboards lying around, so there are no barriers to me starting with it. IIF I had both the time and the money to play with every chip on the planet I would certainly do so, but I lack both of those resources.
For me, the reason I keep using the prop is that I _like_ its architecture, and I'm comfortable with it. It's powerful enough and versatile enough to do what I need, so no need for me to switch. I actually have FUN using it! (The same can not be said for any of the 8051 projects I've worked on (even though I got to use a C compiler), or any of the PIC projects I've done (at least the 1st phase where I spent all my time cursing the "A not B if feature C is enabled while not running D" crossbar setup portion). Not to pick on those chips because they are the worst offenders or anything...I just don't have too much experience with other chips/families.)
In conclusion, the best reason to use the propeller is because Chuck Norris told me to.
The suitability of the prop for every problem will be a function of the developer's skill sets, training/experience, and available tools (including money), and other probably lots of factors.
The biggest "other" factor is suitability to the application. I don't care if you're the most experienced developer in the world, with the best tools money can buy, you will not be able to replace the CPU in an iPhone with a Propeller and make it work in an equivalent manner. It's just impossible.
In conclusion, the best reason to use the propeller is because Chuck Norris told me to.
That is the best reason I've heard yet. I use the ARM Cortex-M3 because Mel Gibson said so.
I know what you’re thinking: 'Did he use eight cogs, or only seven?' Well, to tell you the truth, in all this excitement, I’ve kinda lost track myself. But being this is a P8X32A, the most powerful microcontroller in the world, you’ve got to ask yourself one question: 'Do I feel lucky?' Well do ya, punk?
The biggest "other" factor is suitability to the application. I don't care if you're the most experienced developer in the world, with the best tools money can buy, you will not be able to replace the CPU in an iPhone with a Propeller and make it work in an equivalent manner. It's just impossible.
...
That is the best reason I've heard yet. I use the ARM Cortex-M3 because Mel Gibson said so.
You are certainly correct. The suitability of the prop for each project definitely has to meet the "can it actually do this?" test!
And in the immortal words of Mel, "They may take our lives! But they may never take our ARM Cortex-M3's!!!"
Jonathan
(Chuck Norris is a martial arts movie star...lots of jokes about how tough he is, and how his version of everything is better. In that spirit, "Chuck Norris' propeller chips can use the outb register as an internal cog-to-cog bus")
Who is Chuck Norris? I don't think that I've ever heard of the gentleman.
You've never heard of Chuck? Shocking! He's a martial artist turned actor who's starred in a number of B movies and television series (Walker, Texas Ranger, for one.)
I think one thing we can agree on is that threads like this usually end up way off topic or in a religious war.
Jazzed tried to give this thread some focus, but alas it did not work.
In my opinion too much time is spent trying to be convince others, or maybe ourselves, on the virtues of the propeller.
It seems to me that time would be best spent building things, with whatever uC makes the most sense.
For those that want to show off the prop:
- Look for existing projects/products that use a lot of support chips that could be eliminated using the prop and show an improved version using the prop.
- Design new projects that take advantage of the prop, but make sure you are honest with yourself and evaluate other possible solutions.
Look for existing projects/products that use a lot of support chips that could be eliminated using the prop and show an improved version using the prop.
Turns out to be hard work. In our business we have a system that runs on Industrial PC boxes and uses parallel port cards with 8055 chips on it (A chip from the 1970's good grief). I just managed, after about a year, to convince by boss that the software runs just as well on a credit card sized ARM board. Complete with little luxuries like WIFI, Bluetooth and such.
The missing part is the large number of parallel I/Os we need. Enter the Prop. Perhaps after another year he'll accept that as a solution.
Comments
It has taken considerable time to resolve how things are done, given those changes. Today, there are lots of tools and well worn paths, where early on, the very real questions of "how?" were common.
That boot-strapping will continue some with Prop II, and will be more productive, because of design changes, and the larger scale and scope of possible solutions we will see on that chip.
I would temper that realization with the fact that many use cases do not require the execute timing to be known with any real precision, which favors the faster, linear compute with interrupt model. In some ways today, computing as a whole is having to do that same boot-strapping we are, because raw clock has topped out somewhere around 3Ghz. The new Thinkpad I'm typing on has 4 cores with hyperthreading, for a total of 8 CPU thread units. Looks a lot like a big, fast propeller, with the HUB being all external memory, and with interrupts. Interesting!
The boot-strapping going on has a lot to do with how to break things into parallel tasks, and so far, that's not progressed well. Things like rendering are easy, and those got done. Most things haven't, with the emphasis still on raw clock, and or optimization of the task.
A sensible designer selects the best device for a particular application, there isn't one chip that is suitable for everything.
I'm perfectly OK with Leon's stance on the propeller, which I perceive as: "It's best for a _small_ number of applications, just not every problem in the world" (sorry to put words in your mouth, Leon).
The suitability of the prop for every problem will be a function of the developer's skill sets, training/experience, and available tools (including money), and other probably lots of factors. For me, though there are lots of other chips that may well be best for each individual project I start, the prop is flexible enough to handle my hardware requirements, I have plenty of experience with it, and I have protoboards lying around, so there are no barriers to me starting with it. IIF I had both the time and the money to play with every chip on the planet I would certainly do so, but I lack both of those resources.
For me, the reason I keep using the prop is that I _like_ its architecture, and I'm comfortable with it. It's powerful enough and versatile enough to do what I need, so no need for me to switch. I actually have FUN using it! (The same can not be said for any of the 8051 projects I've worked on (even though I got to use a C compiler), or any of the PIC projects I've done (at least the 1st phase where I spent all my time cursing the "A not B if feature C is enabled while not running D" crossbar setup portion). Not to pick on those chips because they are the worst offenders or anything...I just don't have too much experience with other chips/families.)
In conclusion, the best reason to use the propeller is because Chuck Norris told me to.
Jonathan
Leon,
Don't you know better than to bring common sense to a religious war?
C.W.
The biggest "other" factor is suitability to the application. I don't care if you're the most experienced developer in the world, with the best tools money can buy, you will not be able to replace the CPU in an iPhone with a Propeller and make it work in an equivalent manner. It's just impossible.
That is the best reason I've heard yet. I use the ARM Cortex-M3 because Mel Gibson said so.
- Dirty Harry
And in the immortal words of Mel, "They may take our lives! But they may never take our ARM Cortex-M3's!!!"
Jonathan
(Chuck Norris is a martial arts movie star...lots of jokes about how tough he is, and how his version of everything is better. In that spirit, "Chuck Norris' propeller chips can use the outb register as an internal cog-to-cog bus")
You've never heard of Chuck? Shocking! He's a martial artist turned actor who's starred in a number of B movies and television series (Walker, Texas Ranger, for one.)
Simple solution: Stop reading it.
I don't think Mel had an ARM Cortex-M3, see here : http://www.pbm.com/~lindahl/mel.html
Sounds like the kind of guy who would have loved a Prop to optimize code on:)
For example:
"If a program can't rewrite its own code," he asked, "what good is it?"
Mel.
He's probably wishing he hadn't started it in the first place. It seems to be having the opposite effect to what he presumably intended.
http://www.mendhak.com/171-chuck-norris-facts.aspx
Cheers
Jazzed tried to give this thread some focus, but alas it did not work.
In my opinion too much time is spent trying to be convince others, or maybe ourselves, on the virtues of the propeller.
It seems to me that time would be best spent building things, with whatever uC makes the most sense.
For those that want to show off the prop:
- Look for existing projects/products that use a lot of support chips that could be eliminated using the prop and show an improved version using the prop.
- Design new projects that take advantage of the prop, but make sure you are honest with yourself and evaluate other possible solutions.
C.W.
Turns out to be hard work. In our business we have a system that runs on Industrial PC boxes and uses parallel port cards with 8055 chips on it (A chip from the 1970's good grief). I just managed, after about a year, to convince by boss that the software runs just as well on a credit card sized ARM board. Complete with little luxuries like WIFI, Bluetooth and such.
The missing part is the large number of parallel I/Os we need. Enter the Prop. Perhaps after another year he'll accept that as a solution.