SlideShare a Scribd company logo
There is a limit to how much any
of us can do alone. When faced
with complex problems, and tight
timescales, we break problems down
into smaller tasks, then we distribute
them to capable individuals, and
we try to leave them to get the job
done. When this is accepted wisdom
in the workplace, why do we tolerate
computer systems that operate alone,
that must be interrupted to respond
to urgent requirements, that exhibit
huge inefficiency and/or deliver results
late? Because, until now, there has
been no choice.
xCORE multicore microcontrollers are
unique. Like traditional MCUs they are
programmed in C/C++, but unlike
traditional products
 each device
contains a team of multiple processor
cores that can execute several tasks
concurrently and independently. Each
xCORE ARCHITECTURE
Today’s embedded applications must
process multiple concurrent tasks quickly,
minimize jitter and handle combinations
of fast, complex interfaces. It must
provide easy integration of a wide range
of components and be scalable to large
and small systems.
Traditional real-time systems are
interrupt-driven, relying on an RTOS to
schedule tasks and handle communication.
These systems face many challenges;
such as handling demanding I/O streams,
interrupt latency, kernel processing time,
scheduling jitter, cold-cache effects and
memory/resource contention. Systems
built on such a foundation are difficult or
impossible to verify, and the RTOS itself
imposes significant processor and memory
overhead.
The xCORE architecture solves these
problems by removing all of the features
of a traditional MCU that introduce
uncertainty. Many RTOS features are
integrated in hardware: for example,
THE ANSWER IS SIMPLE, MULTICORE MICROCONTROLLERS
system events are handled using a
scheduled single-cycle context switch,
so applications do not suffer context-
switching latency or jitter.
On xCORE, each activity has its own
dedicated core and resources ensuring
that, when needed, a response is
immediate.
With multiple processing cores executing
completely independently, tasks are
guaranteed to complete within a
strict timing budget. Each core can
run I/O, DSP and application code.
The connection between processor
resource and hardware ports is so tight
that response times are measured in
nanoseconds - thousands of times faster
than traditional microcontrollers. This
hardware-like performance enables
interfaces to be entirely written in
software, allowing systems to be
designed with the exact combination of
peripheral interfaces they require.
MULTICORE MICROCONTROLLERS
• Multiple processing cores
– 	Runs multiple tasks concurrently
– Guaranteed performance
• 	Immediate response time
	 – 	100x faster than other MCUs
• 	Flexible ports and peripherals
	 – 	Sophisticated port logic
	 – Supports fast complex interfaces
	 – Multiple peripherals in one chip
• 	RTOS features in hardware
–	Scheduler, timers, communications
	 – Predictable repeatable behavior
	 – Low latency
• 	Integrated development tools
	 – 	Programmed in C and C++
	 – 	Instrumentation/trace libraries
	 – Static timing analyzer
• 	Multicore extensions for C
	 – 	Concurrent tasks, timing,
communication, I/O,
memory management
xCORE ARCHITECTURE 	 XM-005135-PC
core is incredibly flexible - capable
of control, DSP and high performance
GPI/O processing. Each core is also
predictable, exhibiting completely
reliable timing characteristics. Finally,
each core is connected, tightly coupled
with other members of the team.
Put simply, xCORE multicore
microcontrollers let you deliver smarter
solutions quicker, using technology that
is as simple as it is flexible, predictable
and scalable.
xCORE ARCHITECTURE
Traditional devices take a number of instruction cycles to
respond to an interrupt, during which time they store the
state associated with the running task and then load the
new state associated with the higher priority task that
needs to be started.
XMOS devices respond to events triggered by I/O pins,
timers and tasks, rather than interrupts. Since an xCORE
device can run multiple tasks in parallel there is no need
for one task to interrupt another. A task can handle an
event by running in parallel with other tasks and waiting
for the event to happen.
By default, each task in an xCORE application is placed
on a different logical core. This means the task runs
independently of the others and has incredibly quick
event response time. In RTOS terms, each task running
on its own core enjoys the highest priority scheduling by
Event
Task A
Task B
Execute Task B Task B Paused
XMOS
Traditional MCU
Execute Task B
Task A
Internal operation
Task B
Event
Interrupt
Save all registers
Fetch ISR vector
Save all registers
Fetch ISR vector
Execute Task B
Clear request
Restore registers
etc...
Interrupt
Each xCORE device has one or more tiles. Each tile has
up to eight independent 32-bit logical cores that run in
parallel without interruption from other cores.
Active cores are guaranteed a minimum level of MIPS.
Cores that are idle are not scheduled to the processing
resource.
All instructions complete in a single core cycle, or pause the
core, waiting for an external event. On xCORE-200 each
core can issue up to 2 instructions per clock cycle.
Cores are triggered by events that are managed by the
xTIME scheduler. Events that occur at I/O pins are fed
directly to a core by the Hardware Response ports. Events
can also be generated by timers and tasks, and serviced by
the scheduler, with guaranteed behavior.
xTIME™ SCHEDULER
Single core running: executes every 5 clock ticks (f/5 MHz)
xCORE XL200, XU200, XE200: five stage proecssing pipeline
Five cores running: executes every 5 clock ticks (f/5 MHz)
Eight cores running: executes every 8 clock ticks (f/8 MHz)
Decode
Read
Execute 1
Execute 2
Write
Decode
Read
Execute 1
Execute 2
Write
Decode
Read
Execute 1
Execute 2
Write
EVENTS AND INTERRUPTS
TASK PRIORITY
The advantages of the XMOS approach include:
•	 Response time to events is dramatically improved (in
conjunction with the multi-core xCORE architecture).
•	 Reasoning about worst-case execution time (WCET) is
easier since code cannot be interrupted during its execution.
Independent tests show that xCORE devices respond to
single events within 10ns and handle multiple asynchronous
real-time events within a worst-case response time of 100ns;
this is 100x times faster than conventional real-time systems
and critically, does not degrade in larger, more integrated
systems.
(http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6389416)
the hardware. To reduce resource requirements, lower priority
tasks can share a core via more traditional multi-tasking;
either by running an RTOS, or by using built-in co-operative
multitasking features.
xCORE ARCHITECTURE
The high-speed xCONNECT network ensures that all tasks
can communicate with very low overhead, whether they
are on the same tile, different tiles within a chip, or across
a network of xCORE devices.
When combined with the predictability of xCORE, the
scalability of xCONNECT enables both large and small
systems can be constructed from the same software
investment.
TASK COMMUNICATION
Many microcontrollers have a single complex memory
system with caches to hide the latency of memory
accesses. The uncertainty in the behavior of these
caches contributes to the lack of predictability of the
overall system. Rather than accelerate a slower memory
subsystem with caches, the entire xCORE memory runs at
the operating frequency of the processing pipeline and
is entirely deterministic:
• 	 Each tile contains local SRAM memory, which is
shared between all cores on that tile for code and data.
• 	 Each scheduled core has an allocated slot to access
the memory in a single cycle;
• 	 The xCORE memory will always respond within the
allocated cycle
• 	 Tasks communicate via inter-task communication
channels over the xCONNECT switch, or shared memory.
• 	 Tasks communicate explicitly with external FLASH/
SDRAM memory using I/O ports, separate to the
local tile memory; no additional memory manager is
required.
• 	 Each tile also has a block of one-time programmable
memory for secure boot code and encryption keys.
The GPIO pins of the xCORE device are managed by
port logic that can efficiently drive external pins high and
low, and sample values.
Ports are available in different widths (1/4/8/16/32bit)
depending on the device package. They are driven by
clocks or timers, and data can be buffered, serialized
and timestamped.
xCORE devices can communicate with fast, complex
interfaces that would not be possible using standard bit-
banging techniques required by other microcontrollers.
As well as running real-time parallel applications,
XMOS microcontrollers allow complex I/O protocols and
combinations of peripherals to be implemented via the
ports within a single device.
MEMORY SYSTEM
HARDWARE RESPONSE™ PORTS
PINS CORE
PORT
SERDES
FIFO
transfer
register
port counter
port
value
stamp/time
port
logic
output (drive) all blocks optional input (sample)
conditional
value
readyOut
readyIn
... ...
clock block
1-bit portdivider
100MHz
reference
clock
SPI
MAIN MEMORY
L1i CACHE
BUS
CPU COREL1d CACHE
L2 CACHE
L3 CACHE
CORE 0
CORE 0
CORE 0
CORE 0
CORE 0
CORE 0
CORE 0
CORE 0
SRAM
PORTS
XMOS
TRADITIONAL MCU
OTP
FLASH
xCORE ARCHITECTURE 	 XM-005135-PC
MULTICORE EXTENSIONS TO C
SOFTWARE DEVELOPMENT ENVIRONMENT
To help programmers access the real-time hardware
features of the architecture, some easy-to-use, yet powerful,
multicore language extensions for C have been added.
Software projects can mix C source files with or without the
multicore extensions enabled. The xTIMEcomposer compiler
automatically enables the extensions based on the file
extension.
On xCORE devices, programs are composed of multiple
tasks running in parallel. The concurrent tasks manage their
own state and resources and interact by communicating with
each other through xCONNECT. The ability of the xCORE
architecture to run code independently on multiple cores
allows tasks to be very responsive to events that occur in the
system. Each task can be expressed entirely in ANSI C, and
built into a system using multicore extensions. The compiler
maps tasks onto the logical cores of the device under user
direction in the code.
PROGRAMMING MULTICORE APPLICATIONS
The hardware features are complemented by a software
development environment, which makes it easy to define
real-time tasks as a scalable parallel system. The
xTIMEcomposer tools include fully standards-compliant C
and C++ compilers plus the standard language libraries, an
IDE, simulator, symbolic debugger, runtime instrumentation
and trace libraries 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.
64-bit load and store
Each memory cycle can now load 64b of instruction or data,
compared to 32b on the XS1 architecture.
More memory
Four times as much instruction/data memory is made
available to xCORE-200 applications.
More instructions
As well as adding load and store instructions for the
wider word width, there are also additional instructions to
accelerate common compression, extraction, DSP and timing
functions.
WHAT’S NEW IN xCORE-200
Dual issue
The XS1 architecture issues a maximum of 1 instruction
per clock cycle, xCORE-200 can issue 2 instructions per
clock cycle. This means that, for a given clock frequency,
xCORE-200 has twice the peak instruction issue rate.
High priority logical cores
xCORE-200 allows some cores to have a higher priority
in the scheduler. Groups of high priority cores and
low priority cores will be scheduled in a round robin.
Determinism is not affected.
The C extensions includes features for:
•	 Task based parallelism
•	 Task communication
•	 Accurate timing and timestamping
•	 Ports and I/O
•	 Safe memory management

More Related Content

What's hot

Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
National Cheng Kung University
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
Vasily Sartakov
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4Re
Vasily Sartakov
 
Rtos
RtosRtos
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
mentoresd
 
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent SandboxHITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
Seunghun han
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad Usb
Seunghun han
 
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel ProtectorBlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
Seunghun han
 
Microkernel-based operating system development
Microkernel-based operating system developmentMicrokernel-based operating system development
Microkernel-based operating system development
Senko Rašić
 
Fpga implementation of multilayer feed forward neural network architecture us...
Fpga implementation of multilayer feed forward neural network architecture us...Fpga implementation of multilayer feed forward neural network architecture us...
Fpga implementation of multilayer feed forward neural network architecture us...
Ece Rljit
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
Christian Charreyre
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
National Cheng Kung University
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
pauldeng
 
Embedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile DevicesEmbedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile Devices
National Cheng Kung University
 
Reconfigurable Computing
Reconfigurable ComputingReconfigurable Computing
Reconfigurable Computingppd1961
 
MicroC/OS-II
MicroC/OS-IIMicroC/OS-II
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
Srikanth Pasumarthy
 
An In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into Microcontrollers
ICS
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
Sharad Pandey
 

What's hot (20)

Priority Inversion on Mars
Priority Inversion on MarsPriority Inversion on Mars
Priority Inversion on Mars
 
Memory, IPC and L4Re
Memory, IPC and L4ReMemory, IPC and L4Re
Memory, IPC and L4Re
 
Advanced Components on Top of L4Re
Advanced Components on Top of L4ReAdvanced Components on Top of L4Re
Advanced Components on Top of L4Re
 
Rtos
RtosRtos
Rtos
 
How to Measure RTOS Performance
How to Measure RTOS Performance How to Measure RTOS Performance
How to Measure RTOS Performance
 
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent SandboxHITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
HITBSecConf 2017-Shadow-Box-the Practical and Omnipotent Sandbox
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad Usb
 
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel ProtectorBlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
BlackHat Asia 2017-Myth and Truth about Hypervisor-Based Kernel Protector
 
Microkernel-based operating system development
Microkernel-based operating system developmentMicrokernel-based operating system development
Microkernel-based operating system development
 
Fpga implementation of multilayer feed forward neural network architecture us...
Fpga implementation of multilayer feed forward neural network architecture us...Fpga implementation of multilayer feed forward neural network architecture us...
Fpga implementation of multilayer feed forward neural network architecture us...
 
Developing an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architectureDeveloping an embedded video application on dual Linux + FPGA architecture
Developing an embedded video application on dual Linux + FPGA architecture
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
Rtos part2
Rtos part2Rtos part2
Rtos part2
 
Embedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile DevicesEmbedded Virtualization applied in Mobile Devices
Embedded Virtualization applied in Mobile Devices
 
Reconfigurable Computing
Reconfigurable ComputingReconfigurable Computing
Reconfigurable Computing
 
MicroC/OS-II
MicroC/OS-IIMicroC/OS-II
MicroC/OS-II
 
Lecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpgaLecture syn 024.cpld-fpga
Lecture syn 024.cpld-fpga
 
An In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into Microcontrollers
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 

Similar to xCORE architecture flyer

Vx works RTOS
Vx works RTOSVx works RTOS
Vx works RTOS
Sai Malleswar
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
Pawandeep Kaur
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded SystemsHimanshu Ghetia
 
Embedded os
Embedded osEmbedded os
Embedded os
K Senthil Kumar
 
UNIT V PPT.ppt
UNIT V PPT.pptUNIT V PPT.ppt
UNIT V PPT.ppt
ThanmayaGoud
 
Lab6 rtos
Lab6 rtosLab6 rtos
Lab6 rtos
indirakumar86
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
Pratik Gohel
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Michael Christofferson
 
A micro chip could be a pc processor which contains the functions of.pdf
A micro chip could be a pc processor which contains the functions of.pdfA micro chip could be a pc processor which contains the functions of.pdf
A micro chip could be a pc processor which contains the functions of.pdf
angelnxcom
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
Rajan Kumar
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
National Cheng Kung University
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05
Rajesh Gupta
 
Embedded os
Embedded osEmbedded os
Embedded oschian417
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
LEGATO project
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
MayaData Inc
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxVivek Kumar
 

Similar to xCORE architecture flyer (20)

Vx works RTOS
Vx works RTOSVx works RTOS
Vx works RTOS
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
 
Embedded os
Embedded osEmbedded os
Embedded os
 
UNIT V PPT.ppt
UNIT V PPT.pptUNIT V PPT.ppt
UNIT V PPT.ppt
 
Embedded systemppt2343
Embedded systemppt2343Embedded systemppt2343
Embedded systemppt2343
 
Lab6 rtos
Lab6 rtosLab6 rtos
Lab6 rtos
 
Introduction to embedded System.pptx
Introduction to embedded System.pptxIntroduction to embedded System.pptx
Introduction to embedded System.pptx
 
Embedded systems
Embedded systemsEmbedded systems
Embedded systems
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
 
A micro chip could be a pc processor which contains the functions of.pdf
A micro chip could be a pc processor which contains the functions of.pdfA micro chip could be a pc processor which contains the functions of.pdf
A micro chip could be a pc processor which contains the functions of.pdf
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded SystemsF9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
F9: A Secure and Efficient Microkernel Built for Deeply Embedded Systems
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Embeddedsystem
EmbeddedsystemEmbeddedsystem
Embeddedsystem
 
Embedded os
Embedded osEmbedded os
Embedded os
 
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...Device Data Directory and Asynchronous execution: A path to heterogeneous com...
Device Data Directory and Asynchronous execution: A path to heterogeneous com...
 
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageWebinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storage
 
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptxProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
ProjectVault[VivekKumar_CS-C_6Sem_MIT].pptx
 

More from XMOS

XMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice CaptureXMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice Capture
XMOS
 
XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)
XMOS
 
XMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographicXMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographic
XMOS
 
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart MicrophoneXMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS
 
XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?
XMOS
 
XMOS Company Overview
XMOS Company OverviewXMOS Company Overview
XMOS Company Overview
XMOS
 
Which xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio productWhich xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio product
XMOS
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
XMOS
 

More from XMOS (8)

XMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice CaptureXMOS Four Dimensions of Voice Capture
XMOS Four Dimensions of Voice Capture
 
XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)XMOS Voice Controller for the Internet of Things (IoT)
XMOS Voice Controller for the Internet of Things (IoT)
 
XMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographicXMOS Voice Interface Ecosystem infographic
XMOS Voice Interface Ecosystem infographic
 
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart MicrophoneXMOS xCORE array microphone vs xCORE-Voice Smart Microphone
XMOS xCORE array microphone vs xCORE-Voice Smart Microphone
 
XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?XMOS: Why do you need to use USB Audio Class 2.0?
XMOS: Why do you need to use USB Audio Class 2.0?
 
XMOS Company Overview
XMOS Company OverviewXMOS Company Overview
XMOS Company Overview
 
Which xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio productWhich xCORE processor is right for your Hi-Res Audio product
Which xCORE processor is right for your Hi-Res Audio product
 
Benchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systemsBenchmark methods to analyze embedded processors and systems
Benchmark methods to analyze embedded processors and systems
 

Recently uploaded

Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
ssuser7dcef0
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
itech2017
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 

Recently uploaded (20)

Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 

xCORE architecture flyer

  • 1. There is a limit to how much any of us can do alone. When faced with complex problems, and tight timescales, we break problems down into smaller tasks, then we distribute them to capable individuals, and we try to leave them to get the job done. When this is accepted wisdom in the workplace, why do we tolerate computer systems that operate alone, that must be interrupted to respond to urgent requirements, that exhibit huge inefficiency and/or deliver results late? Because, until now, there has been no choice. xCORE multicore microcontrollers are unique. Like traditional MCUs they are programmed in C/C++, but unlike traditional products
 each device contains a team of multiple processor cores that can execute several tasks concurrently and independently. Each xCORE ARCHITECTURE Today’s embedded applications must process multiple concurrent tasks quickly, minimize jitter and handle combinations of fast, complex interfaces. It must provide easy integration of a wide range of components and be scalable to large and small systems. Traditional real-time systems are interrupt-driven, relying on an RTOS to schedule tasks and handle communication. These systems face many challenges; such as handling demanding I/O streams, interrupt latency, kernel processing time, scheduling jitter, cold-cache effects and memory/resource contention. Systems built on such a foundation are difficult or impossible to verify, and the RTOS itself imposes significant processor and memory overhead. The xCORE architecture solves these problems by removing all of the features of a traditional MCU that introduce uncertainty. Many RTOS features are integrated in hardware: for example, THE ANSWER IS SIMPLE, MULTICORE MICROCONTROLLERS system events are handled using a scheduled single-cycle context switch, so applications do not suffer context- switching latency or jitter. On xCORE, each activity has its own dedicated core and resources ensuring that, when needed, a response is immediate. With multiple processing cores executing completely independently, tasks are guaranteed to complete within a strict timing budget. Each core can run I/O, DSP and application code. The connection between processor resource and hardware ports is so tight that response times are measured in nanoseconds - thousands of times faster than traditional microcontrollers. This hardware-like performance enables interfaces to be entirely written in software, allowing systems to be designed with the exact combination of peripheral interfaces they require. MULTICORE MICROCONTROLLERS • Multiple processing cores – Runs multiple tasks concurrently – Guaranteed performance • Immediate response time – 100x faster than other MCUs • Flexible ports and peripherals – Sophisticated port logic – Supports fast complex interfaces – Multiple peripherals in one chip • RTOS features in hardware – Scheduler, timers, communications – Predictable repeatable behavior – Low latency • Integrated development tools – Programmed in C and C++ – Instrumentation/trace libraries – Static timing analyzer • Multicore extensions for C – Concurrent tasks, timing, communication, I/O, memory management xCORE ARCHITECTURE XM-005135-PC core is incredibly flexible - capable of control, DSP and high performance GPI/O processing. Each core is also predictable, exhibiting completely reliable timing characteristics. Finally, each core is connected, tightly coupled with other members of the team. Put simply, xCORE multicore microcontrollers let you deliver smarter solutions quicker, using technology that is as simple as it is flexible, predictable and scalable.
  • 2. xCORE ARCHITECTURE Traditional devices take a number of instruction cycles to respond to an interrupt, during which time they store the state associated with the running task and then load the new state associated with the higher priority task that needs to be started. XMOS devices respond to events triggered by I/O pins, timers and tasks, rather than interrupts. Since an xCORE device can run multiple tasks in parallel there is no need for one task to interrupt another. A task can handle an event by running in parallel with other tasks and waiting for the event to happen. By default, each task in an xCORE application is placed on a different logical core. This means the task runs independently of the others and has incredibly quick event response time. In RTOS terms, each task running on its own core enjoys the highest priority scheduling by Event Task A Task B Execute Task B Task B Paused XMOS Traditional MCU Execute Task B Task A Internal operation Task B Event Interrupt Save all registers Fetch ISR vector Save all registers Fetch ISR vector Execute Task B Clear request Restore registers etc... Interrupt Each xCORE device has one or more tiles. Each tile has up to eight independent 32-bit logical cores that run in parallel without interruption from other cores. Active cores are guaranteed a minimum level of MIPS. Cores that are idle are not scheduled to the processing resource. All instructions complete in a single core cycle, or pause the core, waiting for an external event. On xCORE-200 each core can issue up to 2 instructions per clock cycle. Cores are triggered by events that are managed by the xTIME scheduler. Events that occur at I/O pins are fed directly to a core by the Hardware Response ports. Events can also be generated by timers and tasks, and serviced by the scheduler, with guaranteed behavior. xTIME™ SCHEDULER Single core running: executes every 5 clock ticks (f/5 MHz) xCORE XL200, XU200, XE200: five stage proecssing pipeline Five cores running: executes every 5 clock ticks (f/5 MHz) Eight cores running: executes every 8 clock ticks (f/8 MHz) Decode Read Execute 1 Execute 2 Write Decode Read Execute 1 Execute 2 Write Decode Read Execute 1 Execute 2 Write EVENTS AND INTERRUPTS TASK PRIORITY The advantages of the XMOS approach include: • Response time to events is dramatically improved (in conjunction with the multi-core xCORE architecture). • Reasoning about worst-case execution time (WCET) is easier since code cannot be interrupted during its execution. Independent tests show that xCORE devices respond to single events within 10ns and handle multiple asynchronous real-time events within a worst-case response time of 100ns; this is 100x times faster than conventional real-time systems and critically, does not degrade in larger, more integrated systems. (http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6389416) the hardware. To reduce resource requirements, lower priority tasks can share a core via more traditional multi-tasking; either by running an RTOS, or by using built-in co-operative multitasking features.
  • 3. xCORE ARCHITECTURE The high-speed xCONNECT network ensures that all tasks can communicate with very low overhead, whether they are on the same tile, different tiles within a chip, or across a network of xCORE devices. When combined with the predictability of xCORE, the scalability of xCONNECT enables both large and small systems can be constructed from the same software investment. TASK COMMUNICATION Many microcontrollers have a single complex memory system with caches to hide the latency of memory accesses. The uncertainty in the behavior of these caches contributes to the lack of predictability of the overall system. Rather than accelerate a slower memory subsystem with caches, the entire xCORE memory runs at the operating frequency of the processing pipeline and is entirely deterministic: • Each tile contains local SRAM memory, which is shared between all cores on that tile for code and data. • Each scheduled core has an allocated slot to access the memory in a single cycle; • The xCORE memory will always respond within the allocated cycle • Tasks communicate via inter-task communication channels over the xCONNECT switch, or shared memory. • Tasks communicate explicitly with external FLASH/ SDRAM memory using I/O ports, separate to the local tile memory; no additional memory manager is required. • Each tile also has a block of one-time programmable memory for secure boot code and encryption keys. The GPIO pins of the xCORE device are managed by port logic that can efficiently drive external pins high and low, and sample values. Ports are available in different widths (1/4/8/16/32bit) depending on the device package. They are driven by clocks or timers, and data can be buffered, serialized and timestamped. xCORE devices can communicate with fast, complex interfaces that would not be possible using standard bit- banging techniques required by other microcontrollers. As well as running real-time parallel applications, XMOS microcontrollers allow complex I/O protocols and combinations of peripherals to be implemented via the ports within a single device. MEMORY SYSTEM HARDWARE RESPONSE™ PORTS PINS CORE PORT SERDES FIFO transfer register port counter port value stamp/time port logic output (drive) all blocks optional input (sample) conditional value readyOut readyIn ... ... clock block 1-bit portdivider 100MHz reference clock SPI MAIN MEMORY L1i CACHE BUS CPU COREL1d CACHE L2 CACHE L3 CACHE CORE 0 CORE 0 CORE 0 CORE 0 CORE 0 CORE 0 CORE 0 CORE 0 SRAM PORTS XMOS TRADITIONAL MCU OTP FLASH
  • 4. xCORE ARCHITECTURE XM-005135-PC MULTICORE EXTENSIONS TO C SOFTWARE DEVELOPMENT ENVIRONMENT To help programmers access the real-time hardware features of the architecture, some easy-to-use, yet powerful, multicore language extensions for C have been added. Software projects can mix C source files with or without the multicore extensions enabled. The xTIMEcomposer compiler automatically enables the extensions based on the file extension. On xCORE devices, programs are composed of multiple tasks running in parallel. The concurrent tasks manage their own state and resources and interact by communicating with each other through xCONNECT. The ability of the xCORE architecture to run code independently on multiple cores allows tasks to be very responsive to events that occur in the system. Each task can be expressed entirely in ANSI C, and built into a system using multicore extensions. The compiler maps tasks onto the logical cores of the device under user direction in the code. PROGRAMMING MULTICORE APPLICATIONS The hardware features are complemented by a software development environment, which makes it easy to define real-time tasks as a scalable parallel system. The xTIMEcomposer tools include fully standards-compliant C and C++ compilers plus the standard language libraries, an IDE, simulator, symbolic debugger, runtime instrumentation and trace libraries 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. 64-bit load and store Each memory cycle can now load 64b of instruction or data, compared to 32b on the XS1 architecture. More memory Four times as much instruction/data memory is made available to xCORE-200 applications. More instructions As well as adding load and store instructions for the wider word width, there are also additional instructions to accelerate common compression, extraction, DSP and timing functions. WHAT’S NEW IN xCORE-200 Dual issue The XS1 architecture issues a maximum of 1 instruction per clock cycle, xCORE-200 can issue 2 instructions per clock cycle. This means that, for a given clock frequency, xCORE-200 has twice the peak instruction issue rate. High priority logical cores xCORE-200 allows some cores to have a higher priority in the scheduler. Groups of high priority cores and low priority cores will be scheduled in a round robin. Determinism is not affected. The C extensions includes features for: • Task based parallelism • Task communication • Accurate timing and timestamping • Ports and I/O • Safe memory management