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

Understanding Thermal Challenges in EV Charging Applications

March 28, 2024
As EVs emerge as the dominant mode of transportation, factors such as battery range and quicker charging rates will play pivotal roles in the global economy.

Board-Mount DC/DC Converters in Medical Applications

March 27, 2024
AC/DC or board-mount DC/DC converters provide power for medical devices. This article explains why isolation might be needed and which safety standards apply.

Use Rugged Multiband Antennas to Solve the Mobile Connectivity Challenge

March 27, 2024
Selecting and using antennas for mobile applications requires attention to electrical, mechanical, and environmental characteristics: TE modules can help.

Out-of-the-box Cellular and Wi-Fi connectivity with AWS IoT ExpressLink

March 27, 2024
This demo shows how to enroll LTE-M and Wi-Fi evaluation boards with AWS IoT Core, set up a Connected Health Solution as well as AWS AT commands and AWS IoT ExpressLink security...

Comments

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