Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Embedded

Understanding multicore basics: AMP and SMP

Posted: 27 Jun 2014 ?? ?Print Version ?Bookmark and Share

Keywords:C? static? embedded developers? desktop programming? variable?

In addition to oversubscription scenario described above, when a design demands to run more operating systems than cores available in the silicon, hypervisors are also used to enable consolidation and robustness or security of devices.

When migrating from a system with multiple CPUs to the single multi-core device, it is common to have applications on various points on the real time spectrum. For example, one might need to mix an application that performs polling and cannot tolerate jitter with an application that needs graphics or connectivity, but can tolerate a bit of delay every once in a while. Thus we see many designs where users have Linux running side-by-side with an RTOS.

In a multi-core system, special attention must be paid to make sure these operating systems and applications are properly separated from each other and not compromising each other's resources, such as memory or peripherals. On the other hand, if there are limited resources, there might be a need to share them between various operating systems. For example one might need to run a GPOS such as Linux side by side with an RTOS like Nucleus and share one Ethernet or serial port between them.ÿEmbedded hypervisors enable virtualisation to enforce strong isolation of guests for robustness, security, or the separation of IP.

Combining AMP and SMP
Although there is a clear distinction between AMP and SMP architectures, there is not necessarily a simple choice between the two. For example, there may be a number of cores of identical architecture which are configured to be an SMP sub-system. Logically, this sub-system looks like a single core and can, therefore, be included in an AMP system.

There is no doubt that multi-core designs will be increasingly common going forward. There are a variety of choices in terms of both hardware and software architecture, the selection of which is strongly driven by the application.

I acknowledge the valuable input for this article that I received from my colleague Felix Baum.

About the author
Colin Walls has over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is an embedded software technologist with Mentor Embedded [the Mentor Graphics Embedded Software Division], and is based in the UK.

To downoad the PDF version of this article, click here.

?First Page?Previous Page 1???2

Article Comments - Understanding multicore basics: AMP ...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top