Multicore Processors Revolutionize Real-Time Embedded Systems

Dec. 13, 2007
The proliferation of multicore processors has done more than provide a boost in processing power to server applications. Multicore chips also pose the opportunity to revolutionize how embedded systems are constructed. Developers now can host real

The proliferation of multicore processors has done more than provide a boost in processing power to server applications. Multicore chips also pose the opportunity to revolutionize how embedded systems are constructed. Developers now can host real-time operating systems (RTOSs) and general-purpose operating systems (GPOSs) on separate cores of a single multicore processor to create systems that once required multiple hardware platforms. The benefit is a reduction in cost, size, and complexity.

A typical embedded system comprises dedicated subsystems performing functions such as real-time control, data acquisition, and a human-machine interface (HMI). Frequently, a mix of processor architectures is used to construct such a system: DSPs, microcontrollers, and general-purpose microprocessors.

The inefficiencies of working with multiple support environments and programming models impacts time-to-market and long-term support costs. Building systems with multiple circuit cards, power supplies, memories, and I/O interfaces to support the different processors adversely impacts system component and manufacturing costs.

If time and money are important, it makes much more sense to implement multiprocessing systems on a single computing platform, where the different operating environments are given their own dedicated processor cores.

Getting the most processing efficiency from a multicore platform is not trivial, however, because access to some hardware resources must be shared between the operating environments. The key to supporting a diverse mix of real-time and general-purpose OSs on the individual cores of a multicore processor is to use a real-time operating environment that supports virtualization.

THE ROLE OF VIRTUALIZATION Virtualization removes contention for resources in a multi-OS platform, providing the needed isolation between multiple operating environments. Not only does virtualization allow real-time and general-purpose OSs to coexist on neighboring cores, it also enables legacy real-time systems to be integrated with new functionality while incurring a minimal impact on legacy software.

Multicore processors enable system designers to maintain the integrity of their real-time environments. By running on a dedicated core, real-time applications are ensured 100% of the CPU instruction cycles. There is no performance penalty for sharing the platform with a GPOS such as Windows. DSP code typically is written in C, or a C-like language. It can be easily converted to run on a high-performance general-purpose processor, such as an Intel architecture CPU, which includes specialized single-instruction multiple-data (SIMD) instructions to facilitate the implementation of DSP algorithms. Integrated development environments (IDEs) like Microsoft Visual Studio make possible the development of real-time and general-purpose applications using a single set of tools.

The result is systems that are easier to maintain and enhance. Also, the performance of these systems can be extended in many cases by simply moving to platforms with additional processor cores. Newer and cheaper I/O subsystems can be constructed—a benefit of PC market economies of scale (for example, USB, PCI Express, and Ethernet).

Combining multiple operating environments on a multicore processor has a dramatic impact on realtime performance metrics, such as interrupt latency, when compared to multi-OS platforms that must share a single CPU.

Interrupt latencies that measure in the 10- to 30-µs range on single-core systems are reduced to 1 to 3 µs on equivalent- speed dual-core systems. With such low latencies, real-time control loops can execute in the 50- to 200-µs range with very high precision while simultaneously supporting a GPOS, such as Windows, on the same hardware platform.

REAL-TIME AND VIRTUALIZATION The net gains from the application of real-time virtual-machine technology on multicore processor platforms include the elimination of redundant computer and communication hardware, faster communication and coordination between RTOS and GPOS subsystems, improved reliability and robustness, reuse of proven legacy applications, and simplified development and debugging. The result is a bright future for embedded system developers.

Sponsored Recommendations

Near- and Far-Field Measurements

April 16, 2024
In this comprehensive application note, we delve into the methods of measuring the transmission (or reception) pattern, a key determinant of antenna gain, using a vector network...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.

Empowered by Cutting-Edge Automation Technology: The Sustainable Journey

April 16, 2024
Advanced automation is key to efficient production and is a powerful tool for optimizing infrastructure and processes in terms of sustainability.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!