Computer Science

Share this article:

Computer Science

  • Join our comunity:

Asymmetric Multi-Processing (AMP) vs. Symmetric Multi-Processing (SMP)

By: , Posted on: June 17, 2015

It is becoming common for embedded designs to incorporate more than one CPU – maybe multiple cores on a chip or multiple chips on a board or any combination of these. Indeed, it has been suggested that it will soon be the norm to build systems that way.

The use of multiple cores has spawned various technologies and, of course, much terminology and jargon. When new technical terms and acronyms appear, there is inevitable misuse and misunderstanding. This seems to be the case with AMP and SMP, so maybe I can set the record straight …

AMP stands for Asymmetric Multi-Processing; SMP means Symmetric Multi-Processing. These terms are not at all transparent. In seeking a means to clarify, I thought I would check Wikipedia and looked up “AMP”. From the disambiguation page, I found the relevant article. Well, I say “relevant”, but it really does not cover the topic as we see it today. It talks about historical uses of multiple CPUs and dismisses it to history. So, I will try to advance definitions:

An AMP system:

  • multiple CPUs
  • each of which may be a different architecture [but can be the same]
  • each has its own address space
  • each may or may not run an OS [and the OSes need not be the same]
  • some kind of communication facility between the CPUs is provided

An SMP system:

  • multiple CPUs
  • each of which has the same architecture
  • CPUs share memory space [or, at least, some of it]
  • normally an OS is used and this is a single instance that runs on all the CPUs, dividing work between them
  • some kind of communication facility between the CPUs is provided [and this is normally shared memory]

nucleus SMPTypically, SMP is used when an embedded application simply needs more CPU power to manage its workload, in much the way that multi-core CPUs are used in desktop computers.

AMP is most likely to be used when different CPU architectures are optimal for specific activities – like a DSP and an MCU. In an AMP system, there is the opportunity to deploy a different OS on each core – e.g. Nucleus and Android/Linux – as befits the required functionality.

Read more from Colin on SciTech Connect:

Using a Memory Management Unit (MMU)
OS Influence on Power Consumption
Vintage Multi-core – the IPC
Staying Inline
Thanks for the Memory
Embedded Optimization: Small or Fast?
C, C++ and the Family Tree
Agile Embedded

Embedded Software The Works new coverColin’s most recent publication, Embedded Software: The Works is available now on the Elsevier Store. 

Save 30% on his book and other Newnes Press and embedded systems books. Use discount code “STC3014″ at checkout. 

About the Author

Colin WallsColin Walls (@Colin_Walls) is an embedded software technologist at Mentor Graphics (@mentor_graphics), the leading EDA software company.

You can read more about Colin and his work on embedded systems at The Colin Walls Blog at Mentor Graphics here. Connect with Colin online here:

facebook google plus linkedin slideshare twitter wordpress

Connect with us on social media and stay up to date on new articles

One thought on “Asymmetric Multi-Processing (AMP) vs. Symmetric Multi-Processing (SMP)

Comments are closed.

Computer Science

Computing functionality is ubiquitous. Today this logic is built into almost any machine you can think of, from home electronics and appliances to motor vehicles, and it governs the infrastructures we depend on daily — telecommunication, public utilities, transportation. Maintaining it all and driving it forward are professionals and researchers in computer science, across disciplines including:

  • Computer Architecture and Computer Organization and Design
  • Data Management, Big Data, Data Warehousing, Data Mining, and Business Intelligence (BI)
  • Human Computer Interaction (HCI), User Experience (UX), User Interface (UI), Interaction Design and Usability
  • Artificial intelligence (AI)
Morgan Kaufmann companion resources can be found here You can also access companion materials and instructor’s resources for all our new books on the Elsevier Store. Search by author, title or ISBN, then look for the “Resources” tab on any book page. Looking for companion materials or instructor’s resources for these titles? Connect below: