Welcome, Guest. Please login or register.

Author Topic: X1000 xmos  (Read 15613 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: X1000 xmos
« on: January 26, 2012, 08:11:59 PM »
Quote from: koaftder;677549

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,


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.

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.

Quote

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.


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.
 

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: X1000 xmos
« Reply #1 on: January 27, 2012, 02:07:29 PM »
Quote from: koaftder;677594
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.


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.

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.

Quote

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.


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.

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.

Quote

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.


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.

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

Offline vidarh

  • Sr. Member
  • ****
  • Join Date: Feb 2010
  • Posts: 409
    • Show all replies
Re: X1000 xmos
« Reply #2 on: January 29, 2012, 04:17:01 PM »
Quote from: koaftder;677763
You do have an entire processor core in the A1X1K doing nothing clipping along at 2GHz.


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.

Trying to do multi-threaded IO on a PPC core with the kind of latency the XMOS can achieve, for example, would be a rather impressive demonstration, if it's possible at all. They're not designed for that at all.

Throughput is another matter - there it'd totally thrash the XMOS chips.

Quote

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


All it tells us is that people aren't interested in hacking Amiga-specific projects with the standalone units. I'm in that category. I want to play with it more, but what interests me is exploring what I can do with the integration, not really the standalone units.

Quote

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.


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.

As for "shutting yourself off", if that's so critical I doubt you'll find many people here who don't *have* other hardware if they absolutely need it, but even if not, converting XC source is not generally a lot of work - the syntax extensions are tiny.

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

Quote

Good for you, and you'll not have access to the simulator and code profiling tools.


The simulator can be run from the command line. No need to run Eclipse. Profiling can be done with the GNU toolchain, no need to run Eclipse (and/or you can do it with instruction traces from the simulator).

Have you even bothered looking at the command line tools available?

Though some of the tools including the simulator is still closed source so there you would be stuck with running them on a Windows/Mac/Linux box unless they're getting it ported.

Quote

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?


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.