Archive for March, 2009

XMOS XC-1 review

Saturday, March 28th, 2009

Intro
A few months ago i found XMOS a semiconductor startup from Bristol.
XMOS has designed a very innovating new embedded processor (XS1-G family). They call their technology “Software Defined Sillicon”. Components that are traditionally implemented in hardware can be done in software running on the new processor. You can think of UART’s, SPI, I2C, PWM and even Ethernet MAC and USB 2.0 MAC.
I decided to order an evaluation board, the XMOS XC-1. I have received it more than two months ago and had some time to play with it (although i wish i had some more time).

Architecture
“Software Defined Sillicon” devices are made up of Xcore tiles. Each Xcore has its own dedicated memory. Each Xcore can run 8 threads simultanously. This means that the quadcore XS1-G4 can run 32 threads simultanously! If the chip is running at 400MHz (400MIPS), each thread is guaranteed to be able to use 50MIPS, but each thread is limited to 100MIPS. This means that you cannot run 1 thread using all the processor time.  Context switching between threads are done by a hardware scheduler and based on events (i.e timers, I/O, communication). Threads that block waiting for an event are not scheduled.  Because each thread has its own set of registers context switches do not take time. This makes it possible that an interrupt can be served next-cycle!. Threads can communicate with eachother through Xlink channels. These Xlinks makes it possible to communicate between cores. It is even possible to communicate between devices, making possible to build a grid of SDS devices.

Xcore Tile Architecture

Xcore Tile Architecture

Xlinks

Xlinks

XC-1 evaluation board

The XC-1 evaluation board contains just the most basic interfacing components:

  • 12 dual color (green/orange) leds set up as a clock.
  • 4 buttons
  • 4 button leds
  • piezo speaker

The board offers additional expansion ports in which you can solder 0.1″ headers to interface with your own circuit.

If you want to have a lot of interfacing components like color LCD, audio out, ethernet etcetera take a look at the XDK XS1-G development kit.

Pictures of the XC-1

XC-1 Case

XC-1 Case

XC-1 Case opened

XC-1 Case opened

XC-1 Front

XC-1 Front

XC-1 Back

XC-1 Back

XS1-G4 Closeup

XS1-G4 Closeup

More will follow…