xCORE products are designed from the ground up to solve problems that are beyond traditional microcontrollers:
- Multiple deterministic processor cores that can execute several tasks simultaneously and independently.
- External interfaces and peripherals are implemented in software – you choose the exact combination of interfaces you need.
- Perform static timing analysis and hardware-like simulations on your designs, using unique development tools that use the determinism of the architecture.
- Test on real hardware and collect real-time data from a running application.
The unparalleled responsiveness of the xCORE I/O ports is rooted in some fundamental features:
- Single cycle instruction execution
- No interrupts
- No cache
- Multiple cores allow concurrent independent task execution
- Hardware scheduler performs 'RTOS-like' functions
A tour of F9 microkernel and BitSec hypervisorLouie Lu
A brief tour about F9 microkernel and BitSec hypervisor
This slide won't covering all aspect about them, but to focus on some point in these two kernel.
F9 microkernel repo: https://github.com/f9micro/f9-kernel
Impress template from: http://technology.chtsai.org/impress/
The lecture by Bjoern Doebel for Summer Systems School'12.
Brief introduction to microkernels illustrated by examples (Fiasco.OC and L4Re).
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
A tour of F9 microkernel and BitSec hypervisorLouie Lu
A brief tour about F9 microkernel and BitSec hypervisor
This slide won't covering all aspect about them, but to focus on some point in these two kernel.
F9 microkernel repo: https://github.com/f9micro/f9-kernel
Impress template from: http://technology.chtsai.org/impress/
The lecture by Bjoern Doebel for Summer Systems School'12.
Brief introduction to microkernels illustrated by examples (Fiasco.OC and L4Re).
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
The lecture by Bjoern Doebel for Summer Systems School'12.
IPC mechanisms and memory management in Fiasco.OC and L4Re
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
The lecture by Bjoern Doebel for Summer Systems School'12.
L4Linux, DDEkit, POSIX compatabls
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
How to Measure RTOS Performance – Colin Walls
In the world of smart phones and tablet PCs memory might be cheap, but in the more constrained universe of deeply embedded devices, it is still a precious resource. This is one of the many reasons why most 16- and 32-bit embedded designs rely on the services of a scalable real-time operating system (RTOS). An RTOS allows product designers to focus on the added value of their solution while delegating efficient resource (memory, peripheral, etc.) management. In addition to footprint advantages, an RTOS operates with a degree of determinism that is an essential requirement for a variety of embedded applications. This paper takes a look at “typical” reported performance metrics for an RTOS in the embedded industry.
Microkernel-based operating system developmentSenko Rašić
Slides from my diploma thesis presentation. Theme was design and implementation of a microkernel-based operating system using open source components.
Mostly translated to English, except for a few pictures I don't have a source to, so couldn't change only the text. Hopefully it'll be clear form the context.
RTOS-MicroC/OS-II
It is a priority-based real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language.It is intended for use in embedded systems.
Microcontrollers, or MCUs, are transforming consumer goods, industrial automation, infrastructure and more — essentially reshaping how we interact with the world around us. With MCUs you can easily control everything from your refrigerator to your thermostat. At ICS, a quarter of the projects we work on include at least one MCU and most projects incorporate several — so we understand the potential MCUs hold. We’ve designed this webinar to introduce you to this tiny technology and show how it can be implemented using various approaches.
This presentation includes a detail of various real time operating systems and it focuses on Vx Works. It will also help you understand what not is a RTOS.
The lecture by Bjoern Doebel for Summer Systems School'12.
IPC mechanisms and memory management in Fiasco.OC and L4Re
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
The lecture by Bjoern Doebel for Summer Systems School'12.
L4Linux, DDEkit, POSIX compatabls
SSS'12 - Education event, organized by ksys labs[1] in 2012, for students interested in system software development and information security.
1. http://ksyslabs.org/
How to Measure RTOS Performance – Colin Walls
In the world of smart phones and tablet PCs memory might be cheap, but in the more constrained universe of deeply embedded devices, it is still a precious resource. This is one of the many reasons why most 16- and 32-bit embedded designs rely on the services of a scalable real-time operating system (RTOS). An RTOS allows product designers to focus on the added value of their solution while delegating efficient resource (memory, peripheral, etc.) management. In addition to footprint advantages, an RTOS operates with a degree of determinism that is an essential requirement for a variety of embedded applications. This paper takes a look at “typical” reported performance metrics for an RTOS in the embedded industry.
Microkernel-based operating system developmentSenko Rašić
Slides from my diploma thesis presentation. Theme was design and implementation of a microkernel-based operating system using open source components.
Mostly translated to English, except for a few pictures I don't have a source to, so couldn't change only the text. Hopefully it'll be clear form the context.
RTOS-MicroC/OS-II
It is a priority-based real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language.It is intended for use in embedded systems.
Microcontrollers, or MCUs, are transforming consumer goods, industrial automation, infrastructure and more — essentially reshaping how we interact with the world around us. With MCUs you can easily control everything from your refrigerator to your thermostat. At ICS, a quarter of the projects we work on include at least one MCU and most projects incorporate several — so we understand the potential MCUs hold. We’ve designed this webinar to introduce you to this tiny technology and show how it can be implemented using various approaches.
This presentation includes a detail of various real time operating systems and it focuses on Vx Works. It will also help you understand what not is a RTOS.
A micro chip could be a pc processor which contains the functions of.pdfangelnxcom
A micro chip could be a pc processor which contains the functions of a computer\'s central
process unit (CPU) on one microcircuit (IC),[1] or at the most many integrated circuits.[2] The
micro chip could be a useful , clock driven, register based mostly, programmable device that
accepts digital or binary knowledge as input, processes it in step with directions keep in its
memory, and provides results as output. Microprocessors contain each combinatory logic and
ordered digital logic. Microprocessors care for numbers and symbols delineate within the binary
numeral system.
The integration of a full {cpu|central process unit|CPU|C.P.U.|central
processor|processor|mainframe|electronic equipment|hardware|computer hardware} onto one
chip or on many chips greatly reduced the value of processing power. microcircuit processors
square measure created in massive numbers by extremely automatic processes leading to a coffee
per cost. Single-chip processors increase responsibleness as there square measure several fewer
electrical connections to fail. As micro chip styles get quicker, the value of producing a chip
(with smaller parts designed on a semiconductor chip an equivalent size) typically stays an
equivalent.
Before microprocessors, little computers had been designed victimization racks of circuit boards
with several medium- and small-scale integrated circuits. Microprocessors combined this into
one or many large-scale ICs. continuing will increase in micro chip capability have since
rendered alternative types of computers virtually fully obsolete (see history of computing
hardware), with one or additional microprocessors utilized in everything from the tiniest
embedded systems and hand-held devices to the most important mainframes and
supercomputers.
The internal arrangement of a micro chip varies betting on the age of the look and also the
supposed functions of the micro chip. The complexness of associate degree microcircuit (IC) is
delimited by physical limitations of the quantity of transistors that may be place onto one chip,
the quantity of package terminations that may connect the processor to alternative components of
the system, the quantity of interconnections it\'s potential to create on the chip, and also the heat
that the chip will dissipate. Advancing technology makes additional complicated and powerful
chips possible to manufacture.
A lowest theoretical micro chip would possibly solely embody associate degree arithmetic logic
unit (ALU) and an effect logic section. The ALU performs operations like addition, subtraction,
and operations like AND or OR. every operation of the ALU sets one or additional flags during a
standing register, that indicate the results of the last operation (zero worth, negative range,
overflow, or others). The management logic retrieves instruction codes from memory and
initiates the sequence of operations needed for the ALU to hold out the instruction. one computer
code would possibly have an effect on several .
Introduce F9 microkernel, new open source implementation built from scratch, which deploys modern kernel techniques, derived from L4 microkernel designs, to deep embedded devices.
:: https://github.com/f9micro
Characteristics of F9 microkernel
– Efficiency: performance + power consumption
– Security: memory protection + isolated execution
– Flexible development environment
Webinar: OpenEBS - Still Free and now FASTEST Kubernetes storageMayaData Inc
Webinar Session - https://youtu.be/_5MfGMf8PG4
In this webinar, we share how the Container Attached Storage pattern makes performance tuning more tractable, by giving each workload its own storage system, thereby decreasing the variables needed to understand and tune performance.
We then introduce MayaStor, a breakthrough in the use of containers and Kubernetes as a data plane. MayaStor is the first containerized data engine available that delivers near the theoretical maximum performance of underlying systems. MayaStor performance scales with the underlying hardware and has been shown, for example, to deliver in excess of 10 million IOPS in a particular environment.
XMOS: Why do you need to use USB Audio Class 2.0?XMOS
The XMOS UAC2 infographic summarizes: the background of the USB and UAC standards, the key features of the USB Audio standard, the differences between UAC1 and UAC2, the benefits of choosing UAC2 for your audio product.
Multicore microcontrollers are changing the world of embedded computing. XMOS is the leading the way with their unique timing critical, deterministic architecture.
Benchmark methods to analyze embedded processors and systemsXMOS
xCORE multicore microcontrollers are 100x more responsive than traditional micros. The unparalleled responsiveness of the xCORE I/O ports is rooted in some fundamental features:
- Single cycle instruction execution
- No interrupts
- No cache
- Multiple cores allow concurrent independent task execution
- Hardware scheduler performs 'RTOS-like' functions
HEAP SORT ILLUSTRATED WITH HEAPIFY, BUILD HEAP FOR DYNAMIC ARRAYS.
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...ssuser7dcef0
Power plants release a large amount of water vapor into the
atmosphere through the stack. The flue gas can be a potential
source for obtaining much needed cooling water for a power
plant. If a power plant could recover and reuse a portion of this
moisture, it could reduce its total cooling water intake
requirement. One of the most practical way to recover water
from flue gas is to use a condensing heat exchanger. The power
plant could also recover latent heat due to condensation as well
as sensible heat due to lowering the flue gas exit temperature.
Additionally, harmful acids released from the stack can be
reduced in a condensing heat exchanger by acid condensation. reduced in a condensing heat exchanger by acid condensation.
Condensation of vapors in flue gas is a complicated
phenomenon since heat and mass transfer of water vapor and
various acids simultaneously occur in the presence of noncondensable
gases such as nitrogen and oxygen. Design of a
condenser depends on the knowledge and understanding of the
heat and mass transfer processes. A computer program for
numerical simulations of water (H2O) and sulfuric acid (H2SO4)
condensation in a flue gas condensing heat exchanger was
developed using MATLAB. Governing equations based on
mass and energy balances for the system were derived to
predict variables such as flue gas exit temperature, cooling
water outlet temperature, mole fraction and condensation rates
of water and sulfuric acid vapors. The equations were solved
using an iterative solution technique with calculations of heat
and mass transfer coefficients and physical properties.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
Using recycled concrete aggregates (RCA) for pavements is crucial to achieving sustainability. Implementing RCA for new pavement can minimize carbon footprint, conserve natural resources, reduce harmful emissions, and lower life cycle costs. Compared to natural aggregate (NA), RCA pavement has fewer comprehensive studies and sustainability assessments.
Online aptitude test management system project report.pdfKamal Acharya
The purpose of on-line aptitude test system is to take online test in an efficient manner and no time wasting for checking the paper. The main objective of on-line aptitude test system is to efficiently evaluate the candidate thoroughly through a fully automated system that not only saves lot of time but also gives fast results. For students they give papers according to their convenience and time and there is no need of using extra thing like paper, pen etc. This can be used in educational institutions as well as in corporate world. Can be used anywhere any time as it is a web based application (user Location doesn’t matter). No restriction that examiner has to be present when the candidate takes the test.
Every time when lecturers/professors need to conduct examinations they have to sit down think about the questions and then create a whole new set of questions for each and every exam. In some cases the professor may want to give an open book online exam that is the student can take the exam any time anywhere, but the student might have to answer the questions in a limited time period. The professor may want to change the sequence of questions for every student. The problem that a student has is whenever a date for the exam is declared the student has to take it and there is no way he can take it at some other time. This project will create an interface for the examiner to create and store questions in a repository. It will also create an interface for the student to take examinations at his convenience and the questions and/or exams may be timed. Thereby creating an application which can be used by examiners and examinee’s simultaneously.
Examination System is very useful for Teachers/Professors. As in the teaching profession, you are responsible for writing question papers. In the conventional method, you write the question paper on paper, keep question papers separate from answers and all this information you have to keep in a locker to avoid unauthorized access. Using the Examination System you can create a question paper and everything will be written to a single exam file in encrypted format. You can set the General and Administrator password to avoid unauthorized access to your question paper. Every time you start the examination, the program shuffles all the questions and selects them randomly from the database, which reduces the chances of memorizing the questions.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
6th International Conference on Machine Learning & Applications (CMLA 2024)ClaraZara1
6th International Conference on Machine Learning & Applications (CMLA 2024) will provide an excellent international forum for sharing knowledge and results in theory, methodology and applications of on Machine Learning & Applications.
Water billing management system project report.pdfKamal Acharya
Our project entitled “Water Billing Management System” aims is to generate Water bill with all the charges and penalty. Manual system that is employed is extremely laborious and quite inadequate. It only makes the process more difficult and hard.
The aim of our project is to develop a system that is meant to partially computerize the work performed in the Water Board like generating monthly Water bill, record of consuming unit of water, store record of the customer and previous unpaid record.
We used HTML/PHP as front end and MYSQL as back end for developing our project. HTML is primarily a visual design environment. We can create a android application by designing the form and that make up the user interface. Adding android application code to the form and the objects such as buttons and text boxes on them and adding any required support code in additional modular.
MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software. It is a stable ,reliable and the powerful solution with the advanced features and advantages which are as follows: Data Security.MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software.
Hierarchical Digital Twin of a Naval Power SystemKerry Sado
A hierarchical digital twin of a Naval DC power system has been developed and experimentally verified. Similar to other state-of-the-art digital twins, this technology creates a digital replica of the physical system executed in real-time or faster, which can modify hardware controls. However, its advantage stems from distributing computational efforts by utilizing a hierarchical structure composed of lower-level digital twin blocks and a higher-level system digital twin. Each digital twin block is associated with a physical subsystem of the hardware and communicates with a singular system digital twin, which creates a system-level response. By extracting information from each level of the hierarchy, power system controls of the hardware were reconfigured autonomously. This hierarchical digital twin development offers several advantages over other digital twins, particularly in the field of naval power systems. The hierarchical structure allows for greater computational efficiency and scalability while the ability to autonomously reconfigure hardware controls offers increased flexibility and responsiveness. The hierarchical decomposition and models utilized were well aligned with the physical twin, as indicated by the maximum deviations between the developed digital twin hierarchy and the hardware.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
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