New XMOS sliceKIT!
This new XMOS kit looks interesting:
http://www.xmos.com/discover/products/xkits/slicekit#tabs?utm_medium=email&utm_campaign=sliceKIT+launch&utm_content=sliceKIT+launch+CID_f4b5495fe6ac36bfb2078bf7ddf86d92&utm_source=Campaign%20Monitor%20e%20shot&utm_term=here
It uses a 16 core device.
The starter kit isn't too expensive at $149.
http://www.xmos.com/discover/products/xkits/slicekit#tabs?utm_medium=email&utm_campaign=sliceKIT+launch&utm_content=sliceKIT+launch+CID_f4b5495fe6ac36bfb2078bf7ddf86d92&utm_source=Campaign%20Monitor%20e%20shot&utm_term=here
It uses a 16 core device.
The starter kit isn't too expensive at $149.
Comments
Recently they have revamped their web site and marketing which also involved renaming "cores" to "tiles" and "threads" to "logical cores".
All of which I think is a bit dishonest.
However the whole slice kit idea seems quite attractive.
I think you pointed out that there isn't any difference between XMOS cores/tiles and Propeller cogs!
I'll be ordering one of the starter kits at the end of the month.
It has 2 cores which can each have 8 threads.
I guess my PC has dozens of "cores"...
Bean
And why on earth can't they state the chip used in the front page of the slice kit blurb with a link to its data sheet.
This all disturbs be greatly because I think xores are good stuff and deserve better.
P.S. Do they now have to move the forum from xcore.com to xtile.com? It's all gone nuts over there.
1) renamed cores "tiles"
2) renamed threads "cores"
I wonder if they will re-write all the documentation, samples, code, etc.
Not a nice move.
A rose is a rose is a rose......unless you are in marketing!
By any other name would smell as sweet."
It's not even that I have a problem with hardware scheduled threads, done properly I think they are a great idea for splitting the cpu power between threads. I prefer to deal with companies that provide clear, honest, and straight forward information on their products, and feel that XMOS is doing themselves a great disservice by using this kind of marketing.
Thing is, in the XMOS architecture even if your cpu is clocked at 400MH, say, a single thread can only dispatch instructions at 100MHz. One quarter the clock speed. But it can also dispatch 2, 3, or 4 threads at 100MHz each. This is all to do with their instruction pipeline. So to get maximum performance you want to be running at least 4 threads. After 4 threads time gets divid up between threads and the exaecution speed of each drops accordingly.
In addition from 1 to 4 threads are deterministic in timing. All instructions take the same time and starting and stopping threads will not vary the speed of the ones currently executing.
So in a way an XMOS thread can be seen as a "logical core" provided you stick to only using 4 threads and that chip in the slice kit has 8 of them, 4 per "tile".
Start using using more that 4 threads on a processor and the timing of the threads changes. At which point the "logical core" idea falls down.
Leon,
What's in a name? It's not really a case of a name. The words "core" and "thread" have meanings we are all used to. They are descriptive of the product on offer no matter what its name is. If the description is confusing or downright misleading it is wrong.
The marketing people tend to win.
That was IBM. Intel provided all the information for the chip in it's data sheet so you knew up front that the internal architecture was 16 bit, while the access to memory was 8 bit. They were also candid about the system cost reasons for doing that.
@Heater
RE:
I thought it would be something like that although I have not researched it. Essentially multiple program counters in hardware accessing instructions round robin style like the cogs access hub ram. More efficient than software threading and still gives deterministic timing, at least for 4 threads. Might even be deterministic for more threads albeit at lower speeds.
Yes you can.
Problem is that to be consistant requires effectively halving the speed of your device.
Consider that on the Prop we can happily mix and match objects in our projects, perhaps all written by differnt people, pehaps pulled from OBEX or the forum perhaps supplied by the language system we are using. We can do this safe in the knowledge that none of those alien objects can upset the timing of our application.
For this to be true in the XMOS world we have to:
a) Ensure that all codes we use assume a max of four threads running or
b) Ensure that all codes assume all threads are running all the time and accept half the performance or
c) Use the XMOS timing analysis tools to check that no matter what we throw in there our timing requirements will be met.
Item c) there is excellent by the way, my only beef with all this is that the timing analysis may well tell me that the mix of codes I have won't meet my deadlines and I have to pull someting out. This cannot happen on the Prop.
And that is why renaming "threads" as "cores" is dumb and/or dishonest.
That's exactly it.
Yes threads slow down after the 4th one. Provided there is always a constant number of threads running they are deteministic.
I should point out the with XMOS you are not expected to be writing in assembler and counting instructions in order to get your timing right.
Rather you work in a high level language, XC, which is like C tweaked for parallelism. The dev tools include a timing analyser that can tell you how long code sequences take to run. You can set up timing requirements on critical codes and the compiler will warn you if hey are not met.
Together with some funky hardware support for events like pin changes, timeouts, channel communications you can meet some amazingly tight time constraints.
It's all very cool actually.
Oh and note that the Prop II is now getting a very similar round robin hardware scheduled thread mechanism. Good times ahead.
http://www.electronicsweekly.com/Articles/20/06/2012/53925/sennheiser-design-win-for-xmos.htm
They seem to be cornering the market in high-end audio applications.
And bigger bonuses too!
After all, it is the oldest profession!
@Rick, seems like shipping and receiving is a closer analogy.