Welcome, Guest. Please login or register.

Author Topic: X1000 xmos  (Read 15754 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« on: January 26, 2012, 03:08:52 PM »
I used an xs1l1 in a commercial product. The advantage of using it over various other microcontrollers was that you could delegate parts of the software off to different threads instead of having to manage a nested interrupt scheme dealing with I/O. This made auditing the code and verifying the design extremely easy.

As for what it's use could be in a desktop computer... I'd call it useless and a waste of time. You have gigs of ram, a 2GHz 64 bit dual core processor to play with. A little microcontroller with 2 cores with 64KiB of ram each and no FPU doesn't look very interesting compared to that, not to mention the development environment which makes using said microcontroller a productive experience requires Java, which if I'm not mistaken doesn't run on on AOS4.

That's not to say there isn't lots of fun to be had with the Xmos microcontrollers. You won't have any fun with it as long as its bolted onto a motherboard and wired up to a card slot that's next to impossible for a hobbyist to interface to. For anyone wanting to get their feet wet I'd recommend visiting Xmos's website and picking up one of their inexpensive eval boards.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #1 on: January 26, 2012, 07:21:57 PM »
Quote from: Piru;677570
No, it doesn't have enough bandwidth.


The bandwidth actually gets worse as you use more threads on a core. Clock is roundrobbined between active threads.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #2 on: January 26, 2012, 08:32:12 PM »
Quote from: vidarh;677587
You're considering exactly the wrong type of applications if you're even trying to compare it to the CPU performance. The benefit it has is hard realtime guarantees and extremely low latency with direct access to IO pins. If you don't need that, you don't need that and it cost you a handful of dollars more. If you do come up with applications that needs that, that powerful CPU won't do you much good on its own.


It's only interesting in applications that are external to a desktop computer. It has no value bolted onto the gpio pins of a 2GHz dual core beast. There is absolutely nothing this microcontroller can do that the host processor isn't capable of exceeding. It's value as a compute engine is nil and if anything it represents a bandwidth bottle neck between the CPU and the pins on the XORRO bus it's connected to.

Quote
Given that this is a community where tons of people have all kinds of funky legacy hardware, I would not consider it surprising at all if we get to see some interesting uses of it.


I'd be surprised if anyone did anything with it at all considering that there's been nothing stopping people interested in xcore microcontrollers from having a go at it for the low price of 100 USD with kit directly from XMOS. We've had what, two years now since this was all announced? I've seen nothing from the hobby hackers.

Quote
If you can't handle a command line compiler. Plenty of us have no problems dealing with gcc of the command line, and/or prefer it.


The programming language created for this family of microcontrollers (XC) is proprietary and closed source.  You won't even get to invoke it from the command line in AOS4. Their tool chain and development environment (centered around eclipse) is high class stuff, you'd simply be wasting your time and doing yourself a disservice if you didn't use it anyway.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #3 on: January 27, 2012, 05:54:54 PM »
Quote from: vidarh;677733
Try to get the latency guarantees the XMOS chips offer from a desktop CPU running a multitasking OS. Just a plain context switch in most OS's takes many times longer than it takes the XMOS to handle IO. Modern CPU's have high throughput, but their latency for the CPU to respond is still abysmal.


You do have an entire processor core in the A1X1K doing nothing clipping along at 2GHz.

Quote
Now, you might never need anything that requires those kind of low latency guarantees, but that doesn't mean nobody else can come up with uses for it.


Sure, it's quite possible someone could come up with a use for it. That doesn't mean it makes any sense.  

Quote
That's meaningless. The appeal of its inclusion in the X1000 is that it's integrated in the X1000. While that may not be a rational response, the Amiga market is hardly rational - it is largely emotional.


Highly emotional Amiga users doesn't mean it makes any sense

Quote
We'll see once the X1000 is in the hands of more people whether or not people come up with something interesting - until then, the absence of Amiga-focused hacks hacks tells us nothing.


It is absolutely telling. It tells us that people aren't actually interested in this enough to start hacking.

Quote
There's no need to use XC. The only functionality XC offers over plain C is some basic syntax support for channels that you can trivially do with a few lines of inline asm if you don't mind a slightly uglier syntax - their asm manuals are easily available.


You're right that you don't need XC, but you're wasting your time and making trouble for your self for no good reason by ignoring it. You'd also be shutting yourself off from using a large base of library code the Xcore community has developed and put out for others to use. The ASM documentation sucks, you'll find yourself on the forums begging XMos engineers for help.

Quote
And Eclipse is a pile of junk. I'll use a command line + my preferred editors over Eclipse any day.


Good for you, and you'll not have access to the simulator and code profiling tools. But who are we kidding here, you've never used this stuff and you'll never do any of the things you mentioned in the previous paragraph. Haven't we had this conversation before on that other site... like a year ago?
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #4 on: January 27, 2012, 06:04:06 PM »
Quote from: AmigaNG;677746
I doubt adding the xmos chip to the board raise the cost that much, the reason it cost this much is largely the small production run and I guess the CPU and OS4 development costs.


In parts, may about 15 USD. Some people have mentioned an increase in design complexity, I don't really agree with that. There's nothing to it. I doubt it had anything to do with causing the project to be delayed. For sure there's some work to be done on the software side of the fence, but given ssolie's last conference, i get the impression that support will be minimal, if there's anything at all.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #5 on: January 27, 2012, 06:08:13 PM »
Quote from: Haranguer;677697

XC, on the other hand, is similar to C, but it has easier ways to set up parallel threads and access I/O.


Yea, it's really slick and very intuitive.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #6 on: January 29, 2012, 12:58:18 AM »
Quote from: Iggy;678013
You obviously haven't been paying attention then.

We've had several interesting projects created with XMOS hardware.

Examples? And please don't refer to stuff on the xcore website project directory as those have nothing to do with the A1X1K.

Quote
Really, the Xena port is more of hacker oriented I/O port.

Is it really? What's hacker friendly about a PCIe connector?
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #7 on: January 29, 2012, 01:24:44 AM »
Quote from: Iggy;678046

Have you actually looked into XMOS programming?
Its not just hacker friendly, its relatively easy to use (and quite flexible).
Its just not that fast.


Yes, I used the XS1L1 in a commercial product, where I designed the hardware and wrote the firmware. I'm very familiar with it.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #8 on: January 29, 2012, 01:31:47 AM »
Quote from: Iggy;678046

Its just not that fast.


For a microcontroller, it's no slouch.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #9 on: January 29, 2012, 02:02:59 AM »
Quote from: Iggy;678053
That I will agree with you on.

Its also a little easier to implement then most microcontrolleers.

But, you're also right to point out that development hasn't moved as fast as you might expect.


You won't get any disagreement from me on those points, I think it's a great little micro. Earlier in this thread I state why I used it in a commercial project. I do, however, think it's little more than a gimmick in the A1X1K and I expect that it'll get about as much use as the FPGA in the sam.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #10 on: January 29, 2012, 02:05:38 AM »
Quote from: Karlos;678055
PCIe ribbon cables, for one. Since it's a point to point "many serial lanes" protocol, rather than some tricky to time parallel one, breaking out of a PCIe slot for some hacking probably involves getting a PCIe ribbon cable, chopping one end off and soldering the signal lines to your nefarious homebrew hardware...


Looks like a pain but your suggestion is the best one i've heard of yet to interface to that thing.
 

Offline koaftder

  • Hero Member
  • *****
  • Join Date: Apr 2004
  • Posts: 2116
    • Show all replies
    • http://koft.net
Re: X1000 xmos
« Reply #11 on: January 30, 2012, 01:03:03 AM »
Quote from: vidarh;678120
Which still makes it a massive pain to keep latency down to the level the XMOS can without hand-writing asm with no OS support, and locking yourself into a situation where your code won't work whenever someone cooks up another use for that core.

The latency thing isn't very interesting. There isn't a damn thing you can do with an XCore micro controller that you can't do with a whole slew of other devices (obviously, we've been doing just that for decades). The only real advantage is that the architecture makes for some really simple and easy design albeit at a high per unit cost and with a chip that has an atrocious energy profile.


Quote
The asm documentation coupled with assembler output from the XC compiler is more than sufficient. The channel extensions are simply and straightforward, and I had no problems finding out how to do it in asm. Have you actually looked at it? I have. It's a tiny amount of work.

Yes I have looked at it, I wrote a BASIC compiler for it as well as a FORTH interpreter and quite frankly I think you're making this stuff up. If you think the documentation is sufficient I'd have to assume you've done nothing beyond the most trivial of things with it. There are all kinds of gaping holes in the documentation describing the execution environment and in order to get a complete view of how this chip works you will have to ask a lot of questions.  

Quote
And the "good reason" is to avoid a proprietary compiler and tools that aren't available everywhere you might want to use them.

The compiler source is slated to be released some time in the future when they get the language spec finalized.

Quote
I've used it. But I'm one of those that don't have all that much interest in the standalone units, at least not enough to compete with the far too many other projects I have ongoing.

And yes, we've had this conversation before, and we still don't have the X1000 and so like many others I still don't have a platform that'll make it interesting for me to invest time in it.

When I have one, I'll play with it. Whether or not anything "useful" will come of it, we'll have to wait and see, but I'm not buying an X1000 for productivity, but for fun -  otherwise there'd be no way I'd be willing to spend that much money on it.

Confused, you say in one sentence that you've used it, and in another that you'll have to wait for the A1X1K before you'll have a chance to work with it. Which is it? Have you done anything with XCore micro controllers or not?

I know you think you've got this stuff figured out, but you obviously don't.