XCore XS1-L1

XS1-L

An XMOS Xcore-L processor, 48 TQFP package, 7x7 mm.
Produced 2009
Max. CPU clock rate to 500 MHz
Instruction set XCore XS1
Cores 1 or 2
Package(s)

The XS1-L1[1] is a 32-bit processor designed by XMOS, featuring support for up to 8 concurrent threads. It was available as of June 2009 running at 400 MHz. As of April 2010 500 MHz versions are available. Each thread can run at up to 125 MHz; four threads follow each other through the pipeline, resulting in a top speed of 500 MIPS if at least four threads are active. The 500 MIPS of each core is equally distributed over all active threads. This allows the use of extra threads in order to hide latency.

Description

An XS1-L node comprises a single core processor and a switch. The execution core has a data path, a memory, and register banks for eight threads. The switches of two or more XS1-L nodes can be connected using a link, whereupon threads on all of the cores can communicate with each other by exchanging messages through the switches. The switching mechanism is abstracted by means of a channel, a virtual connection between two threads. The switch has eight external links, permitting a maximum throughput of 3.2 GBits/s to other cores.

An XS1-L1 device comprises a single XS1-L node; an XS1-L2 device comprises two XS1-L nodes connected by means of 4 links.[1][2]

Instruction set architecture

Main article: XCore XS1

Each thread has access to 12 general purpose registers, and a standard 3-operand instruction set is used for programming the thread.[3] The instruction set is encoded densely, encoding most instructions in 16 bits, where 11 bits are used for specifying 3 operands, and 5 bits are used to encode the opcode. Less frequently used instructions are encoded in 32 bits. The instruction set is a load-store instruction set. All instructions execute in a single cycle. If an instruction does not need data from memory (for example, arithmetic operations), the instruction will prefetch a word of instructions. This acts like a very small instruction cache, but its behaviour can be predicted at compile time, making timing behaviour as predictable as functional behaviour.

The XS1 is an event driven processor which enables the processor to stop a thread and restart it when an event is ready. In addition, a thread may be interrupted in order to deal with some external events.

Concurrency

The core runs eight threads concurrently. These threads can communicate and synchronise using memory, registers, channels, locks, or synchronisers.

Switch

The XS1-L has a XSwitch that enables the core to communicate with other cores. The switch has four internal links into the core, and eight external links, four of whom are available on I/O pins.

References

  1. 1 2 "XCore XS1-L1 datasheet". XMOS web site. Retrieved 2012-03-26.
  2. "XCore XS1-L2 datasheet". XMOS web site. Retrieved 2012-03-26.
  3. "XMOS XS1 Instruction Set Architecture" (PDF). XMOS web site. Retrieved 2009-01-19.
This article is issued from Wikipedia - version of the 4/1/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.