SlideShare a Scribd company logo
1 of 3
Download to read offline
By using Operating System (OS) parti-
tioning on a multicore processor platform,
embedded systems developers can
shrink multiple hardware platforms into
a single hardware platform, with a con-
comitant reduction in cost, size, and
hardware complexity. Embedded systems
that incorporate a mix of dedicated sub-
systems, performing functions such as
real-time control, data acquisition, and
a Human Machine Interface (HMI), can
be built to run on a single computing
platform where each operating environ-
ment has a dedicated processor core. The
key to supporting a mix of real-time and
general-purpose OSs on individual cores
within a multicore processor is to use a
real-time operating environment that
supports virtualization.
Case study:
Precision motion operations
For a case in point, consider a high-
speed electronic assembly machine that
performs precision motion operations
(Figure 1). The system includes a DSP
subsystem for calculating coordinated
multi-axis motion profiles in real time
that drive a positioning platform, while
another subsystem performs real-time
data acquisition from a vision subsystem.
A third subsystem serves as an HMI to
monitor and control overall machine oper-
ation and to set up and initiate assembly
tasks from a menu of options.
The motion subsystem needs to com-
plete a complex sequence of calculations
in a predetermined amount of time. In
one such high positioning system, the
cycle time between position updates
is 100 microseconds (10 KHz). Within
each cycle, the DSP performs a set of
floating-point calculations, position set
points, that represent the coordinated
profiles of several axes of motion. In
addition to calculating motion set points,
the DSP also monitors and controls a col-
lection of digital and analog I/O points
connected to system safety switches
and status and control points within the
equipment.
In the vision subsystem, a real-time
processor captures and analyzes images
from cameras to determine placement and
orientation of the components to be placed
by the motion system. The decisions
made by the real-time processor guide the
motion system, in the form of multi-axis
positioning targets. Again, a complex set
of operations must be completed within a
time-limited window (typically within a
few milliseconds) in order to ensure that
the motion system is able to hit its targets
precisely, repeatedly, and on time.
Many problems plague machine builders
that require complex real-time processing
systems (Table 1). First is the cost penalty
due to using specialized processing
subsystems like DSP cards. Second is
the duplication of memory components,
power supplies, circuit cards, and enclo-
sures within the machine. Third is an
Embedded systems developers can reduce multiple embedded systems
into a single hardware platform by allocating CPU cores in a multicore
processor to dedicated real-time tasks.
Software Virtualization and multicore
Cost-reduce your embedded system using multicore
processors
By Paul Fischer
Figure 1
Windows
Machine
RTOS
Machine DSP Card
Network
Interface
Shared
Memory
Costs associated with multiplatform systems
Issues Solutions
Cost of specialized processing
subsystems (for example, DSP cards)
Dedicate a CPU core and utilize libraries that exploit
Single Instruction, Multiple Data (SIMD) instructions
such as SSE on x86 processors
Hardware duplication (for example,
memory, power supplies, enclosures)
increases costs
Merge multiple hardware platforms into one single
hardware platform
Increased complexity and decreased
system reliability
A single hardware platform simplifies the system,
increasing reliability
Redesign costs and delays due to
obsolescence of hardware platforms	
Building on operating systems designed for
forward-moving platforms ensures the ability to
move forward
Development and maintenance
expenses associated with specialized
subsystems
Availability of engineers for standard software/
hardware platforms is much greater, resulting in
less development and maintenance risk
Table 1
PC/104 and Small Form Factors
©2007 OpenSystems Publishing. Not for Distribution.
ForSinglePrintOnly
increase in complexity of assembly with
a decrease in system reliability, due to
more parts and interconnects between
subsystems. Fourth are the cost and avail-
ability issues that arise due to the eventual
redesign resulting from the obsolescence
of nonmainstream processors by their
manufacturers. Fifth are the development
and maintenance expenses associated
with writing and maintaining specialized
DSP code that is too frequently debugged
using expensive and less than state-of-
the-art development systems.
The proliferation of multicore implemen-
tations on mainstream processors, such as
Intel Architecture (IA) CPUs, provides a
cost-effective solution to these problems.
By adapting DSP and real-time functions
to run on dedicated cores of a multicore IA
CPU, where each core is running its own
Real-Time Operating System (RTOS),
OEMs can achieve the following results:
n Significant cost reduction in the
control hardware
n Upgrades to the control hardware
and software more easily adapt to
new processing platforms
n Substantially improved development
and debugging of control software
using up-to-date development tools
n Additional processor cores provide
expanded resources for real-time pro-
cessing of more complex algorithms
n Newer and cheaper standardized
I/O subsystems can be constructed,
a benefit of PC market economies of
scale (for example, USB, PCI Express,
and Ethernet)
The availability of multicore processors
on the PC architecture enables system
designers to maintain the integrity of the
real-time environments by dedicating one
core of a multicore processor to an RTOS.
With a dedicated core, real-time applica-
tions are ensured 100 percent of the CPU
instruction cycles; there is no perfor-
mance penalty for sharing the platform
with a General-Purpose OS (GPOS) such
as Windows.
Virtualization-supporting
RTOS is key
The key to making multi-OS embedded
systems work on a multicore CPU is
an RTOS that supports virtualization.
Virtualizationprovidestheisolationneeded
between multiple operating environments
and also enables legacy real-time systems
to be integrated with new functionality and
minimal impact on legacy software.
The latest Intel multicore processors
include a feature called Intel Virtual-
ization Technology or Intel VT that
enables hardware-enforced isolation of
theprocessor’sI/Oandmemory(Table2).
With virtualization, multiple control
loops can run simultaneously. A dis-
tinct boundary is established between
real-time processes and threads and
nondeterministic tasks that execute on
different processor core(s). VT hardware
includes a collection of new proces-
sor instructions, traps, and a privileged
“root” operating mode that enables
Virtual Machine Manager (VMM) soft-
ware to host multiple virtual machines
on a single hardware platform.
Exploitation of VT hardware for embed-
ded systems requires a VMM that under-
stands the needs and requirements of
RTOSs and applications. An example
of such an operating environment is
TenAsys’ INtime RTOS for Windows
(Figure 2).
Removing contention for resources in a
multi-OS platform has a dramatic impact
on real-time performance metrics such
as interrupt latency, when compared to
multi-OS platforms that must share a
single CPU. TenAsys has measured a
10 to 1 improvement in interrupt latency
when running the INtime RTOS on dual-
core multi-OS platforms compared to
equivalent clock speed single-core plat-
forms. Interrupt latencies measured in the
10-30 microseconds range on single-core
systems are reduced by an order of mag-
nitude to 1-3 microseconds on equivalent
“The key to supporting
a mix of real-time and
general-purpose OSs ...
is to use a real-time
operating environment that
supports virtualization.”
Intel Architecture virtualization attributes
Software-only virtualization Limited to non time-critical applications such as
consolidating servers. Available today for Pentium grade
and above.
VT-x: CPU virtualization Special CPU root mode to trap system-level instructions.
Available today in most multicore processors.
VT-d: Chipset virtualization Hardware-supported DMA and interrupt remapping.
Available in upcoming chipsets.
PCI-SIG: I/O device virtualization Address Translation Services (ATS) to accommodate
sharing PCI Express I/O cards between multiple OSs.
ATS 1.0 spec available now.
Table 2
Windows VMRTOS VM
RTOS
CPU
GPOS
CPU
INtime Virtual Machine Manager
DSP VM
GPOS
CPU
DSP
CPU
Quad Core Processor
Figure 2
PC/104 and Small Form Factors
©2007 OpenSystems Publishing. Not for Distribution.
ForSinglePrintOnly
speed dual-core systems. With such low
latencies, real-time control loops can exe-
cute in the 50-200 microsecond range with
very high precision, while simultaneously
supporting a GPOS such as Windows on
the same hardware platform.
Virtual devices interface with
inter-OS protocols
To facilitate existing application reuse,
virtual devices can be used as the inter-
face for inter-OS protocols. For example,
an inter-OS protocol can be implemented
entirely within a virtual PCI hardware
interface. The guest OSs are configured
to share an area of shared memory in
which common data is posted (Figure 3).
After a guest updates its data structure in
the shared memory region, it signals the
other guests of the update via a register
in the virtual PCI interface.
In this example, each virtual PCI device
presents two memory ranges to each
guest. The first memory range, pointed
to by PCI configuration register BAR0,
maps the shared memory buffer. The
second range, pointed to by BAR1, pres-
ents an I/O address to each guest OS.
When an application within the guest
OS accesses the BAR1 I/O address,
a trap is made into the virtual device
driver hosted by the VMM. The virtual
device driver then injects a virtual IRQ
into the target guest OS, which responds
by accessing the shared memory area for
updated data.
RTOSs and virtualization:
Smoothing the way
The net gains from the application of real-
timevirtualmachinetechnologyonmulti-
core processor platforms are the elimina-
tion of redundant computer and commu-
nication hardware, faster communication
and coordination between RTOS and
GPOS subsystems, improved reliability
and robustness, reuse of proven legacy
applications, and simplified develop-
ment and debugging. ➤
Paul Fischer is a
senior technical
marketing engi-
neer at TenAsys
Corporation in
Beaverton, Oregon.
He has more than
25 years of experi-
ence building and writing about real-
time and embedded systems in a variety
of engineering and marketing roles. Paul
has an MSE from UC Berkeley and a
BSME from the University of Minnesota.
TenAsys Corporation
503-748-4720
info@tenasys.com • www.tenasys.com
Software Virtualization and multicore
Guest OS #1
Virtual Device
Virtual
Device Driver
Virtual
IRQ
CPU #0 CPU #1
Real-time Hypervisor
PCI Header PCI Header
BAR0
BAR1
Guest OS #0
Shared
Memory
Region
BAR0
BAR1
Virtual Device
Figure 3
PC/104 and Small Form Factors
©2007 OpenSystems Publishing. Not for Distribution.
ForSinglePrintOnly

More Related Content

What's hot

1 introduction
1 introduction1 introduction
1 introductionMohd Arif
 
Transcendent memoryupdate xensummit2010-final
Transcendent memoryupdate xensummit2010-finalTranscendent memoryupdate xensummit2010-final
Transcendent memoryupdate xensummit2010-finalThe Linux Foundation
 
Concepts of o s chapter 1
Concepts of o s  chapter 1Concepts of o s  chapter 1
Concepts of o s chapter 1cathline44
 
Operating System Structure (documentation)
Operating System Structure (documentation)Operating System Structure (documentation)
Operating System Structure (documentation)Navid Daneshvaran
 
Lesson 2 Ppt V6
Lesson 2 Ppt V6Lesson 2 Ppt V6
Lesson 2 Ppt V6ipwk
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OSAJAL A J
 
Chapter 1 part 1
Chapter 1 part 1Chapter 1 part 1
Chapter 1 part 1rohassanie
 
Operating system
Operating systemOperating system
Operating systemmak120
 
chapter 1 intoduction to operating system
chapter 1 intoduction to operating systemchapter 1 intoduction to operating system
chapter 1 intoduction to operating systemSiddhi Viradiya
 
Kernel | Operating System
Kernel | Operating SystemKernel | Operating System
Kernel | Operating SystemSumit Pandey
 
Operating systems
Operating systemsOperating systems
Operating systemsArdit Meti
 
Operating system notes
Operating system notesOperating system notes
Operating system notesSANTOSH RATH
 

What's hot (20)

1 introduction
1 introduction1 introduction
1 introduction
 
IBM System x3250 M5
IBM System x3250 M5IBM System x3250 M5
IBM System x3250 M5
 
Chapter01
Chapter01Chapter01
Chapter01
 
Transcendent memoryupdate xensummit2010-final
Transcendent memoryupdate xensummit2010-finalTranscendent memoryupdate xensummit2010-final
Transcendent memoryupdate xensummit2010-final
 
Concepts of o s chapter 1
Concepts of o s  chapter 1Concepts of o s  chapter 1
Concepts of o s chapter 1
 
Operating System Structure (documentation)
Operating System Structure (documentation)Operating System Structure (documentation)
Operating System Structure (documentation)
 
Presentation1 cc
Presentation1 ccPresentation1 cc
Presentation1 cc
 
Lesson 2 Ppt V6
Lesson 2 Ppt V6Lesson 2 Ppt V6
Lesson 2 Ppt V6
 
EMBEDDED OS
EMBEDDED OSEMBEDDED OS
EMBEDDED OS
 
Chapter 1 part 1
Chapter 1 part 1Chapter 1 part 1
Chapter 1 part 1
 
Operating system
Operating systemOperating system
Operating system
 
chapter 1 intoduction to operating system
chapter 1 intoduction to operating systemchapter 1 intoduction to operating system
chapter 1 intoduction to operating system
 
Kernel | Operating System
Kernel | Operating SystemKernel | Operating System
Kernel | Operating System
 
Operating systems
Operating systemsOperating systems
Operating systems
 
Operating system notes
Operating system notesOperating system notes
Operating system notes
 
25 e
25 e25 e
25 e
 
virtual memory - Computer operating system
virtual memory - Computer operating systemvirtual memory - Computer operating system
virtual memory - Computer operating system
 
Cpu spec
Cpu specCpu spec
Cpu spec
 
Os question
Os questionOs question
Os question
 
Chapter01 os7e
Chapter01 os7eChapter01 os7e
Chapter01 os7e
 

Viewers also liked

Viewers also liked (9)

Japan vs
Japan vsJapan vs
Japan vs
 
Stalin
StalinStalin
Stalin
 
Stalin
StalinStalin
Stalin
 
Dictator slides
Dictator slidesDictator slides
Dictator slides
 
Hideki Tojo
Hideki TojoHideki Tojo
Hideki Tojo
 
Mussolini
MussoliniMussolini
Mussolini
 
Biography of joseph stalin
Biography of joseph stalinBiography of joseph stalin
Biography of joseph stalin
 
La dictadura de stalin (1927 1953)
La dictadura de stalin (1927   1953)La dictadura de stalin (1927   1953)
La dictadura de stalin (1927 1953)
 
La Revolución Rusa. La dictadura de Stalin
La Revolución Rusa. La dictadura de StalinLa Revolución Rusa. La dictadura de Stalin
La Revolución Rusa. La dictadura de Stalin
 

Similar to TenAsys.Fall07

Reducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System ConsolidationReducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System ConsolidationIntel IoT
 
Avionics Paperdoc
Avionics PaperdocAvionics Paperdoc
Avionics PaperdocFalascoj
 
H64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaH64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaOsama Azim
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software TestingColloquium
 
TCO is the assessment of all life time costs from owning ertain kind.pdf
TCO is the assessment of all life time costs from owning ertain kind.pdfTCO is the assessment of all life time costs from owning ertain kind.pdf
TCO is the assessment of all life time costs from owning ertain kind.pdfnareshsonyericcson
 
Spie2006 Paperpdf
Spie2006 PaperpdfSpie2006 Paperpdf
Spie2006 PaperpdfFalascoj
 
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...Editor IJCATR
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdfenriquealbabaena6868
 
Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad
 Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad
Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridadMarketing Donalba
 
Os rtos.ppt
Os rtos.pptOs rtos.ppt
Os rtos.pptrahul km
 
Ec8791 unit 5 processes and operating systems
Ec8791 unit 5 processes and operating systemsEc8791 unit 5 processes and operating systems
Ec8791 unit 5 processes and operating systemsRajalakshmiSermadurai
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxArjayBalberan1
 
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIESEFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIEScscpconf
 
UNIT I_Introduction.pptx
UNIT I_Introduction.pptxUNIT I_Introduction.pptx
UNIT I_Introduction.pptxssuser4ca1eb
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.pptzahixdd
 

Similar to TenAsys.Fall07 (20)

Reducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System ConsolidationReducing Cost and Complexity with Industrial System Consolidation
Reducing Cost and Complexity with Industrial System Consolidation
 
ERTS_Unit 1_PPT.pdf
ERTS_Unit 1_PPT.pdfERTS_Unit 1_PPT.pdf
ERTS_Unit 1_PPT.pdf
 
Embedded Linux
Embedded LinuxEmbedded Linux
Embedded Linux
 
Avionics Paperdoc
Avionics PaperdocAvionics Paperdoc
Avionics Paperdoc
 
H64CSA_1A_023799_Osama
H64CSA_1A_023799_OsamaH64CSA_1A_023799_Osama
H64CSA_1A_023799_Osama
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software Testing
 
TCO is the assessment of all life time costs from owning ertain kind.pdf
TCO is the assessment of all life time costs from owning ertain kind.pdfTCO is the assessment of all life time costs from owning ertain kind.pdf
TCO is the assessment of all life time costs from owning ertain kind.pdf
 
Spie2006 Paperpdf
Spie2006 PaperpdfSpie2006 Paperpdf
Spie2006 Paperpdf
 
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
CPU Performance in Data Migrating from Virtual Machine to Physical Machine in...
 
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
1.1. SOC AND MULTICORE ARCHITECTURES FOR EMBEDDED SYSTEMS (2).pdf
 
Kairos aarohan
Kairos  aarohanKairos  aarohan
Kairos aarohan
 
Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad
 Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad
Procesamiento multinúcleo óptimo para aplicaciones críticas de seguridad
 
Os rtos.ppt
Os rtos.pptOs rtos.ppt
Os rtos.ppt
 
Ec8791 unit 5 processes and operating systems
Ec8791 unit 5 processes and operating systemsEc8791 unit 5 processes and operating systems
Ec8791 unit 5 processes and operating systems
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
MYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptxMYSQL DATABASE Operating System Part2 (1).pptx
MYSQL DATABASE Operating System Part2 (1).pptx
 
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIESEFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
 
UNIT I.pptx
UNIT I.pptxUNIT I.pptx
UNIT I.pptx
 
UNIT I_Introduction.pptx
UNIT I_Introduction.pptxUNIT I_Introduction.pptx
UNIT I_Introduction.pptx
 
System_on_Chip_SOC.ppt
System_on_Chip_SOC.pptSystem_on_Chip_SOC.ppt
System_on_Chip_SOC.ppt
 

TenAsys.Fall07

  • 1. By using Operating System (OS) parti- tioning on a multicore processor platform, embedded systems developers can shrink multiple hardware platforms into a single hardware platform, with a con- comitant reduction in cost, size, and hardware complexity. Embedded systems that incorporate a mix of dedicated sub- systems, performing functions such as real-time control, data acquisition, and a Human Machine Interface (HMI), can be built to run on a single computing platform where each operating environ- ment has a dedicated processor core. The key to supporting a mix of real-time and general-purpose OSs on individual cores within a multicore processor is to use a real-time operating environment that supports virtualization. Case study: Precision motion operations For a case in point, consider a high- speed electronic assembly machine that performs precision motion operations (Figure 1). The system includes a DSP subsystem for calculating coordinated multi-axis motion profiles in real time that drive a positioning platform, while another subsystem performs real-time data acquisition from a vision subsystem. A third subsystem serves as an HMI to monitor and control overall machine oper- ation and to set up and initiate assembly tasks from a menu of options. The motion subsystem needs to com- plete a complex sequence of calculations in a predetermined amount of time. In one such high positioning system, the cycle time between position updates is 100 microseconds (10 KHz). Within each cycle, the DSP performs a set of floating-point calculations, position set points, that represent the coordinated profiles of several axes of motion. In addition to calculating motion set points, the DSP also monitors and controls a col- lection of digital and analog I/O points connected to system safety switches and status and control points within the equipment. In the vision subsystem, a real-time processor captures and analyzes images from cameras to determine placement and orientation of the components to be placed by the motion system. The decisions made by the real-time processor guide the motion system, in the form of multi-axis positioning targets. Again, a complex set of operations must be completed within a time-limited window (typically within a few milliseconds) in order to ensure that the motion system is able to hit its targets precisely, repeatedly, and on time. Many problems plague machine builders that require complex real-time processing systems (Table 1). First is the cost penalty due to using specialized processing subsystems like DSP cards. Second is the duplication of memory components, power supplies, circuit cards, and enclo- sures within the machine. Third is an Embedded systems developers can reduce multiple embedded systems into a single hardware platform by allocating CPU cores in a multicore processor to dedicated real-time tasks. Software Virtualization and multicore Cost-reduce your embedded system using multicore processors By Paul Fischer Figure 1 Windows Machine RTOS Machine DSP Card Network Interface Shared Memory Costs associated with multiplatform systems Issues Solutions Cost of specialized processing subsystems (for example, DSP cards) Dedicate a CPU core and utilize libraries that exploit Single Instruction, Multiple Data (SIMD) instructions such as SSE on x86 processors Hardware duplication (for example, memory, power supplies, enclosures) increases costs Merge multiple hardware platforms into one single hardware platform Increased complexity and decreased system reliability A single hardware platform simplifies the system, increasing reliability Redesign costs and delays due to obsolescence of hardware platforms Building on operating systems designed for forward-moving platforms ensures the ability to move forward Development and maintenance expenses associated with specialized subsystems Availability of engineers for standard software/ hardware platforms is much greater, resulting in less development and maintenance risk Table 1 PC/104 and Small Form Factors ©2007 OpenSystems Publishing. Not for Distribution. ForSinglePrintOnly
  • 2. increase in complexity of assembly with a decrease in system reliability, due to more parts and interconnects between subsystems. Fourth are the cost and avail- ability issues that arise due to the eventual redesign resulting from the obsolescence of nonmainstream processors by their manufacturers. Fifth are the development and maintenance expenses associated with writing and maintaining specialized DSP code that is too frequently debugged using expensive and less than state-of- the-art development systems. The proliferation of multicore implemen- tations on mainstream processors, such as Intel Architecture (IA) CPUs, provides a cost-effective solution to these problems. By adapting DSP and real-time functions to run on dedicated cores of a multicore IA CPU, where each core is running its own Real-Time Operating System (RTOS), OEMs can achieve the following results: n Significant cost reduction in the control hardware n Upgrades to the control hardware and software more easily adapt to new processing platforms n Substantially improved development and debugging of control software using up-to-date development tools n Additional processor cores provide expanded resources for real-time pro- cessing of more complex algorithms n Newer and cheaper standardized I/O subsystems can be constructed, a benefit of PC market economies of scale (for example, USB, PCI Express, and Ethernet) The availability of multicore processors on the PC architecture enables system designers to maintain the integrity of the real-time environments by dedicating one core of a multicore processor to an RTOS. With a dedicated core, real-time applica- tions are ensured 100 percent of the CPU instruction cycles; there is no perfor- mance penalty for sharing the platform with a General-Purpose OS (GPOS) such as Windows. Virtualization-supporting RTOS is key The key to making multi-OS embedded systems work on a multicore CPU is an RTOS that supports virtualization. Virtualizationprovidestheisolationneeded between multiple operating environments and also enables legacy real-time systems to be integrated with new functionality and minimal impact on legacy software. The latest Intel multicore processors include a feature called Intel Virtual- ization Technology or Intel VT that enables hardware-enforced isolation of theprocessor’sI/Oandmemory(Table2). With virtualization, multiple control loops can run simultaneously. A dis- tinct boundary is established between real-time processes and threads and nondeterministic tasks that execute on different processor core(s). VT hardware includes a collection of new proces- sor instructions, traps, and a privileged “root” operating mode that enables Virtual Machine Manager (VMM) soft- ware to host multiple virtual machines on a single hardware platform. Exploitation of VT hardware for embed- ded systems requires a VMM that under- stands the needs and requirements of RTOSs and applications. An example of such an operating environment is TenAsys’ INtime RTOS for Windows (Figure 2). Removing contention for resources in a multi-OS platform has a dramatic impact on real-time performance metrics such as interrupt latency, when compared to multi-OS platforms that must share a single CPU. TenAsys has measured a 10 to 1 improvement in interrupt latency when running the INtime RTOS on dual- core multi-OS platforms compared to equivalent clock speed single-core plat- forms. Interrupt latencies measured in the 10-30 microseconds range on single-core systems are reduced by an order of mag- nitude to 1-3 microseconds on equivalent “The key to supporting a mix of real-time and general-purpose OSs ... is to use a real-time operating environment that supports virtualization.” Intel Architecture virtualization attributes Software-only virtualization Limited to non time-critical applications such as consolidating servers. Available today for Pentium grade and above. VT-x: CPU virtualization Special CPU root mode to trap system-level instructions. Available today in most multicore processors. VT-d: Chipset virtualization Hardware-supported DMA and interrupt remapping. Available in upcoming chipsets. PCI-SIG: I/O device virtualization Address Translation Services (ATS) to accommodate sharing PCI Express I/O cards between multiple OSs. ATS 1.0 spec available now. Table 2 Windows VMRTOS VM RTOS CPU GPOS CPU INtime Virtual Machine Manager DSP VM GPOS CPU DSP CPU Quad Core Processor Figure 2 PC/104 and Small Form Factors ©2007 OpenSystems Publishing. Not for Distribution. ForSinglePrintOnly
  • 3. speed dual-core systems. With such low latencies, real-time control loops can exe- cute in the 50-200 microsecond range with very high precision, while simultaneously supporting a GPOS such as Windows on the same hardware platform. Virtual devices interface with inter-OS protocols To facilitate existing application reuse, virtual devices can be used as the inter- face for inter-OS protocols. For example, an inter-OS protocol can be implemented entirely within a virtual PCI hardware interface. The guest OSs are configured to share an area of shared memory in which common data is posted (Figure 3). After a guest updates its data structure in the shared memory region, it signals the other guests of the update via a register in the virtual PCI interface. In this example, each virtual PCI device presents two memory ranges to each guest. The first memory range, pointed to by PCI configuration register BAR0, maps the shared memory buffer. The second range, pointed to by BAR1, pres- ents an I/O address to each guest OS. When an application within the guest OS accesses the BAR1 I/O address, a trap is made into the virtual device driver hosted by the VMM. The virtual device driver then injects a virtual IRQ into the target guest OS, which responds by accessing the shared memory area for updated data. RTOSs and virtualization: Smoothing the way The net gains from the application of real- timevirtualmachinetechnologyonmulti- core processor platforms are the elimina- tion of redundant computer and commu- nication hardware, faster communication and coordination between RTOS and GPOS subsystems, improved reliability and robustness, reuse of proven legacy applications, and simplified develop- ment and debugging. ➤ Paul Fischer is a senior technical marketing engi- neer at TenAsys Corporation in Beaverton, Oregon. He has more than 25 years of experi- ence building and writing about real- time and embedded systems in a variety of engineering and marketing roles. Paul has an MSE from UC Berkeley and a BSME from the University of Minnesota. TenAsys Corporation 503-748-4720 info@tenasys.com • www.tenasys.com Software Virtualization and multicore Guest OS #1 Virtual Device Virtual Device Driver Virtual IRQ CPU #0 CPU #1 Real-time Hypervisor PCI Header PCI Header BAR0 BAR1 Guest OS #0 Shared Memory Region BAR0 BAR1 Virtual Device Figure 3 PC/104 and Small Form Factors ©2007 OpenSystems Publishing. Not for Distribution. ForSinglePrintOnly