A Propeller by any other name...
Seairth
Posts: 2,474
In hopes of consolidating the naming/terminology discussion to a dedicated thread, I've started this one. Maybe some moderators could move some of that chatter over here. In the meantime, here are my own thoughts on naming:
Propeller / Cog
I've always thought that the use of "propeller" and "cog" together didn't make any sense. It feels like a mixed metaphor. Additionally, "propeller" is a mouth-full. So, one ends up saying "prop", which just doesn't do the chip justice. And I agree that "cog" stands out, compared to "core". Here's one suggestion: rename "Propeller" to "Cognition" and keep "cog". "In this case, "Cognition" is a catch-all for the overall style of chip (what we general attribute to the "propeller design philosophy"). For versioning purposes, prefix a model name/number. For instance the "Neo Cognition Chip". Then we can informally refer to the chip by the prefix (e.g. "I'm using the Neo to [insert awesome thing here]."). In this case, the "Neo" would be a particular variant of the Cognition chip (based on the P1+), which would allow for revisions (Neo2, Neo3, etc.). When the P2/P3 is finally released, it would get a new prefix.
Memory / Registers
Following on [post=1258343]Cluso's post[/post], I'd just go with "Private Memory" and "Shared Memory" (less verbose).
Propeller / Cog
I've always thought that the use of "propeller" and "cog" together didn't make any sense. It feels like a mixed metaphor. Additionally, "propeller" is a mouth-full. So, one ends up saying "prop", which just doesn't do the chip justice. And I agree that "cog" stands out, compared to "core". Here's one suggestion: rename "Propeller" to "Cognition" and keep "cog". "In this case, "Cognition" is a catch-all for the overall style of chip (what we general attribute to the "propeller design philosophy"). For versioning purposes, prefix a model name/number. For instance the "Neo Cognition Chip". Then we can informally refer to the chip by the prefix (e.g. "I'm using the Neo to [insert awesome thing here]."). In this case, the "Neo" would be a particular variant of the Cognition chip (based on the P1+), which would allow for revisions (Neo2, Neo3, etc.). When the P2/P3 is finally released, it would get a new prefix.
Memory / Registers
Following on [post=1258343]Cluso's post[/post], I'd just go with "Private Memory" and "Shared Memory" (less verbose).
Comments
Except, as I said in the other topic, if you put "512-words of private memory" on the datasheet you'll get very odd looks.
In the other topic I said...
Cores, not so much but I fear they are an evil necessity. I think Heater has the best example - with COGS and HUB and Spin, it's hard to even get listed in a catalog much less have anybody talk about you. Once folks join the "family" they can learn about COGs.
COREINIT, CORNEW, CORRUN, CORID.....not so thrilled about those.
If you don't go with cores?
code engines
instruction processors
logic engines
processing units
lobes (as in brain)
??
So, the P16x32:
16 200MHz independent cores with 512 32 bit registers. Deterministic programming when executing from the register space. Each core contain video capability and two multi-function timers.
512KBytes of RAM shared by all cores available for code or data use.
64 Smart Pins - intelligent I/O pins with multiple built in functions. Each pin is accessible from every core.
.
.
.
I deserve a name better than Corey Cogsworth!!
The term COG has a place in the history of the Propeller, however it has some drawbacks. For one, the word is inherently awkward to say as it begins and ends with consonants. When trying to teach someone about your product, you want not only clarity of purpose, but also endearing "phonics" that are easily remembered and that flow off the tongue. Alliteration, double consonants(Cyclone), rhythm, rhyme, imagery and emotional connotations are your friends when selecting the audibles associated with your product. There are exceptions to every rule. But if you are rebranding a product, or launching a new product, it is a good time to get a white board started and accumulate lots of ideas to draw from and see what sticks out. Smart IO, Intelli-IO, Turbo IO, SuperIO, are examples and defining the difference between YOUR input/output as compared to others in competing market space. Vague and ambiguous (even debatable) concepts of the parallelism should be refined until a clearer definition arises, and even now, there is no real consensus. I would go so far as to say that the name "Propeller" does not have to be part of the name of every successor. I would also suggest that a jump from the fun "beanie cap" hobby-centric overtone be leaned up and meaned up towards something more kick A&$. Make the thing sound like a beast, yet a cool refined elegant device. In a sort of summation of the New Grand Prop(Prop 2 or now Prop 3), what everyone has pushed for over the years is the Holy Grail of simplicity, multi language access, speed of development, speed of processor, etc, all merged into one elusive Unicorn of a device. Words used in the marketing and naming don't necessarily have to have technical terms included, but they need an overall "sound" to put a glue on the product and subsequent offshoots.
Cluso is right on the MONEY here.
You NEED to use common terms. A big reason for that is SEARCHING. Your custom descriptors cause you to fail to come up, or rank low, in a lot of common search terms.
Like others here I have found it frustrating to find the Prop on retail sites when I KNEW they were there. All because you don't show up in the search functions.
Example: Go to mouser and enter multi-core in the search. You get 33 results, not one Prop reference. Yet they sell them! You have to search for 'propeller' to find them.
Why? Because searching is automated based on database field and pattern matching. Field entry is done by some data entry person who has no idea what the heck a 'cog' is so they just put that bit in a misc field (if entered at all).
Go to digikey and search 'core'. Select Integrated Circuits (ICs) > Embedded - Microcontrollers. Then select '32-Bit 8-Core' in the Core Size filter. You get 31 XMOS chips, no propeller! Yet they too sell them!
You are losing out on potential sales because your terms don't match industry standards and you are getting lost in searches.
Brian, I like the Register/RAM distinction.....then once they start reading about it it's like "Whoa, dude, I can execute code from the registers? Cool! And that's deterministic?? Awesome!"
I think cores are a necessary evil thrust upon us by the industry........but then once hooked, a bait and switch to COGs works for me!!
Cognition shortening to COG, OK, but then COG is referring to the entire chip when we all know it's just 1/8 or 1/16 of the chip. That's going to confuse us old timers!
Yeah, actually, I like "local memory" and "global memory" better. The original comment was more about using less verbose terms (e.g. no need to use "cog" and "private" in the same statement).
I really like "Cognition"… but I would use it to replace the acronym PASM. It is pretty simple to keep new terms in mind, one at a time, but far more difficult to quickly absorb acronyms. If we called the assembly language "Cognition" then Cog could also be explained as a shortened form of "Cognition."
This would give two ways for remembering the term "cog" by a new audience.
The term "cog" creates an almost perfect mental picture for easily explaining the timing relationship between the hub and the individual cores. If this relationship changes substantially… as I think it will... the term "cog" becomes more misleading… less useful and should probably be changed.
I also like the imagery that gets created by the interplay of the terms "Spin" and "Cognition"…
We weave individual thoughts together to form ideas. At the edge of sleep, this process often feels like our thoughts(cognition) are spinning.
... the only microcontroller with 512KB or ram that comes with 16 independent cores with 496 registers each - as a special feature, you can even execute code loaded into the register!
(not 512, as 512 are not easily usable)
Absolutely.
"Additionally the microcontroller has 64 intelligent pins with autonomous functions such as....."
Alex
Honestly, if Parallax needs to say multi-core a lot, do it. Marketing is marketing. After thinking on this, I realized something:
In most development / technical circles, the internal discussion is internal. Using COG as we do here, would be just fine, because it isn't marketing and or exposed. In fact, those that came to associate with the internal thing would pick up on the lingo as insider stuff, and it's cool.
Here, it's all one thing.
So here's what I'm going to do personally. If the official words change, I'll use 'em in communications, documentation, etc. In general collequal use, I'm very likely to say cog. Over time, if core feels good, I'll switch over as the general trend does.
One thing cog has, that the other words does not, is the history, and it's encapsulation of the concept that got us here. Like I said, internal teams, like say ones that get bought by another company, don't really quit using their vision words as much as they compartmentalize how they are used.
For what it's worth, I actually went down this road a long time ago, using "shared memory" instead of HUB. Never saw too much traction and dropped it. Funny we are here now.
(although I hope it will be 80)
All:
Thanks!
P2 ==> P2HP8R256 Propeller 2 High Performance edition, 8 core, 256KB ram
Future 65nm version:
P3HP32R1024 ... exercise to the reader - decode the name
Future 28nm version:
P4HP128R4096
I always liked names, abstracting the numbers away just a little, like SGI did with iris, indy, O2, Octane, Origin, Fuel
That said, nice numbers Bill. If we want to maximize it, you are on the right track.
Chip@#393 in the new chip thread:
Bailey
We so have to put "PT" in the part number now.
PT16X512
Great, we've just associated PT Barnum with this marvelous new creation! Gee, I wonder if there are any good quotes of his the reviewers could use??
"The Gracey Bros. rival the Ringling Bros. with the announcement of their new micro-controller, the PT16X32X512LP. Even though PT Barnum said there was one born every minute, but don't you be a sucker! Contact your distributor and order some Circus chips now.
{marketing specs}
Creating an embedded application hasn't been this much fun since the Circus was last in town!! Run rings around you competition! Stop clowning around with other solutions! Make your next product release in-tents!
Cyclone is a great name on several levels. Despite the fact that Cyclone is Altera's low-cost line (FPGAs for the masses), they picked a humdinger! Roman numerals add to the awesomeness. ("Look, Dear, a Cyclone V board for only $49! It would be a steal at 10x the price!")
Rjo__, did you find my post offensive? It was kind of crass, invoking freak shows, etc. As I reread it, it seemed a little mean-spirited, which I regret.
I believe, counter to popular supposition, that the "Fat Lady" might have been quite content being so, and acclimated to and enjoying the circus life. I imagine she'd come out swinging if a mob tried to deprive her of her livelihood, based on some popular notion of saving her from exploitation. Same with her husband, the Skinny Man.
Considering the outstanding contributions by Aussies, perhaps the new chip could be called Tasmanian Devil? Big Red? Joey? Vegemite?
Pretty sure rjo__ wasn't offended. I think he was taking a swat at the recent spate of closed threads.
Like potatohead, I thought it was great!
I found your naming suggestion funny and laced with a sarcasm that I thought you deserved to express about the naming and marketing appeal to the drones. Well played! I think I even splurted a bit of the morning tea!