From Wikipedia, the free encyclopedia
Jump to: navigation, search
XMOS Limited
Industry Semiconductors
Headquarters Bristol, United Kingdom
Key people
Nigel Toon, Simon Knowles, David May
Products Multicore microcontrollers, xCore, xCORE-200, xCORE-AUDIO, xTIMEcomposer
Website xmos.com

XMOS is a fabless semiconductor company that develops multicore microcontrollers capable of parallel execution of multiple real-time tasks, DSP, and control flow concurrently, with deterministic, predictable behavior.

Company history[edit]

XMOS was founded in July 2005 by Ali Dixon (then final-year student at the University of Bristol), James Foster (former CEO of Oxford Semiconductor), Noel Hurley (formerly at ARM Holdings), David May (former chief architect of Inmos), and Hitesh Mehta (Acacia Capital Partners). It received seed funding from the University of Bristol enterprise fund, and Wyvern seed fund (formerly the Sulis Seedcorn fund).

The name XMOS is a loose reference to Inmos.[1] Some concepts found in XMOS technology are part of the Transputer legacy.

In the autumn of 2006, XMOS secured funding from Amadeus Capital Partners, DFJ Esprit, and Foundation Capital.[2] It also has strategic investors Robert Bosch Venture Capital GmbH, Huawei Technologies, and Xilinx Inc.

XMOS' processor technology is general-purpose and has therefore been exploited in a range of different markets, including audio,[3] LED tiles,[4] communications,[5] robotics and amateur innovation.[6] This enables third parties to establish products and businesses based around the technology - and in June 2009, it was announced that venture capital firms were considering funding XMOS-related startups.[7]

In December 2009, XMOS launched a community website, the XCore Exchange as a site to enable and encourage innovative and entrepreneurial discussion and collaboration.

xCORE multicore microcontrollers[edit]

The xCORE multicore microcontroller architecture divides the application into elements whose requirements can be accommodated by dedicated processing cores that form an array. The basic building block is a 32bit RISC processor with dedicated register files and tightly coupled local memory. The processing cores can communicate with each other through memory or through a network that connects all processors. A hierarchy of interconnect is provided – processors on a tile have direct connection and interfaces between tiles pass through a high-speed switch.

The xCORE architecture delivers, in hardware, many of the elements that are usually seen in a real-time operating system (RTOS). This includes the task scheduler, timers, and channel communication as well as the separate logical processor cores for the real-time tasks. By eliminating sources of timing uncertainty often found in a traditional processor system (RTOS, interrupts, caches, buses and shared resources), xCORE can provide deterministic and predictable performance for most applications. The processing cores typically respond in nanoseconds to events - either external I/O events, timers or processor events, with worst-case response time falling within 100ns. This allows the xCORE devices to emulate functions previously requiring dedicated hardware, using a processor and software.

xCORE devices have been used in a range of different markets, including USB Audio, AVB and time sensitive networking, industrial communications, and robotics.

Programming xCORE multicore microcontrollers[edit]

xCORE devices can be programmed using C, C++, xC or native assembler. To help programmers access the real-time hardware features of xCORE devices some multicore language extensions for C have been added. These extensions form a programming language called xC which contains features for task based parallelism and communication, accurate timing and I/O, and safe memory management.

The software environment complements these hardware features by providing development tools that allow the definition of real-time tasks as a parallel system with relative ease. The xTIMEcomposer tools come with LLVM-based compilers for C, C++ and xC, cycle-accurate simulator, symbolic debugger, runtime instrumentation and trace libraries (xSCOPE) and a static code timing analyzer (XTA). All of the components are aware of the real-time multicore nature of the programs, giving a fully integrated approach. The xTIMEcomposer development tools are multi-platform and can be used from an Eclipse-based GUI (xTIMEcomposer Studio) or the command line.


XMOS has developed multiple families of silicon device based on xCORE technology, with supporting development boards.

  • xCORE-200 - Released in March 2015,[8] the flagship family of multicore microcontrollers. xCORE-200 devices have processor core counts of eight to 32 and 4000 MIPS processing power, with options for embedded flash. The family includes XL/XLF parts (general purpose devices), XU/XUF (include one or more integrated High Speed USB PHYs) and XE/XEF (include support for an RGMII interface and an integrated High Speed USB PHY).
  • xCORE-AUDIO - Audio-specific processors built on xCORE-200 technology,[9] that meet the demands[promotional language] of both high-resolution consumer audio and complex multichannel professional audio applications.
  • xCORE - The first family of multicore microcontrollers, with processor counts of four to 16 and up to 1000MIPS of processing power. The family includes XS1-L (general purpose devices that can run up to 16 real time tasks), XS1-A (ADC, and DC-DC converters), and the XS1-U (integrated USB, ADC, and DC-DC converters). The family also include xCORE-XA[10] devices with an integrated ARM Cortex-M3 core with fixed peripherals.

XMOS coined the term Software Defined Silicon to describe hardware devices that can be programmed to implement low level I/O protocols. XMOS describes its processors as event-driven.

XMOS produces a range of development boards for xCORE devices including the starter kits eXplorerKIT (xCORE-200) and startKIT (XS1), sliceKITs which contain a single target device on a core board that can be extended by plugging in additional hardware sliceCARDs, and reference platforms such as the Multi Function Audio Platform (MFA) and Multi Channel Audio Platform, for audio applications.

Digital audio solutions[edit]

XMOS multicore microcontrollers are used extensively by multinational companies such as Audio Partnership, Cambridge Audio, Meridian Audio, Native Instruments, Oppo Digital, Sennheiser and Sony[11] to implement USB Audio 2.0 interfaces in their products.

In December 2014, AVnu Alliance, the industry consortium driving open standards-based deterministic networking through certification, announced XMOS as the first available AVnu-certified Audio Video Bridging (AVB) audio endpoint reference platform.

Industrial and robotics solutions[edit]

In June 2014, XMOS partnered with Synapticon, leaders in Cyber Physical Systems, to support emerging trends such as Industry 4.0 in the factory automation market and service robotics market.


  1. ^ David May. "From Inmos to XMOS" (PDF). Retrieved 2009-02-02. [dead link]
  2. ^ Peter Clarke (2007-09-06). "XMOS raises $16 million in Series A funding". EE Times Europe. Retrieved 2009-02-02. 
  3. ^ "Software Flaws from". Electronics Weekly. Retrieved 2016-04-27. 
  4. ^ "XMOS LED Tile Reference Design Kit". Embedded Star. Retrieved 2016-04-27. 
  5. ^ [1][dead link]
  6. ^ "Archived copy". Archived from the original on August 21, 2009. Retrieved November 15, 2009. 
  7. ^ [2][dead link]
  8. ^ Graham Prophet (2015-03-23). "XMOS boosts performance & connectivity with 2nd-generation multicore MCUs | EETE Automotive". Automotive-eetimes.com. Retrieved 2016-04-27. 
  9. ^ "Multicore Microcontrollers for IoT and audio". EE Journal. 2015-03-23. Retrieved 2016-04-27. 
  10. ^ "XMOS Adds ARM Core to Its Multi-Processor xCORE-XA Chip". EE Times. 2014-09-26. Retrieved 2016-04-27. 
  11. ^ "XMOS helps Sony to sound better". Xmos.com. 2013-10-07. Retrieved 2016-04-27. 

External links[edit]

Coordinates: 51°27′7.06″N 2°35′44.40″W / 51.4519611°N 2.5956667°W / 51.4519611; -2.5956667