Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was wondering what relation and differences are between single chip computer, microcontroller and embedded system?

  1. Are single chip computer and microcontroller the same concept? Is microcontroller implemented as a single chip computer and for the purpose of controlling something else? On the other hand a single chip computer can be general purpose, not just for controlling something else?
  2. Are embedded system and microcontroller the same concept? If not, how are they related?
share|improve this question – Aki Jun 18 '11 at 15:26
up vote 3 down vote accepted

Well, the main differences are marketing*.

Basically microcontroller can do everything a single chip computer can do, but microcontrollers usually have lower performance than system on a chip computers. It is normal for SoCs to have complicated operating system such as VxWorks, GNU/Linux or maybe even windows. On the other hand, microcontrollers often run very simple operating systems and it's not uncommon for them to just run a single program, without OS. So basically, yes, they are same concept but SoCs are much more expensive and have higher capabilities than microcontrollers. To put it simply, microcontrollers are usually as capable as 20 to 25 year old home computers while SoC are as capable as 10 to 15 year old desktop computers.

Embedded systems are computers installed in a device and are intended to just run the device. They may or may not be microcontroller based or SoC based. Some embedded systems even use standard PC components in a (sometimes) special enclosure. So their main point is that they are considered a part of a more complicated device, like a oscilloscope, x-ray computed tomography scanners, magnetic resonance imaging scanners and so on.

*Why marketing? Well powerful microcontrollers may be as powerful as low performance SoCs and basically anything may be called embedded system as long as it's a part of the device. If you buy a table and a computer, you could say that the computer is table's embedded system.

share|improve this answer
Thanks! (1) If a computer that is related to a device is not installed in the device, is it not an embedded system? What will it be called? (2) Is a controller also a computer? From Wikipedia "controller signifies a chip or expansion card that interfaces with a peripheral device. This may be a link between two parts of a computer (for example a memory controller that manages access to memory for the computer) or a controller on an external device that manages the operation of (and connection with) that device. A controller is usually also an adapter." – Tim Jun 18 '11 at 17:01
@Tim Note that microcontroller is a more specific term than a just controller. All microcontrollers are computers and almost all will have RAM, ROM (or flash) for program storage and EEPROM for data storage integrated on the same chip in addition to other peripherals like serial ports, analog to digital converters, pulse-width modulation units, I2C ports and so on. Do note that sometimes microcontrollers are used as say keyboard controllers which may add to confusion. The fact that they are complete computes does not in any way prevent them from being used as a part of a larger computer. – AndrejaKo Jun 18 '11 at 22:35
@Tim For question number one, I think that the term embedded system may be usable, but the problem here is that it's a borderline case. Some may call it while other will not. For example computers used in supervisory control and data acquisition (SCADA) systems may often be very related to things they control and some consider them embedded while other will not consider them embedded. To complicate things further, some companies will call them embedded only if they use a piece of proprietary hardware to communicate with sensors. – AndrejaKo Jun 18 '11 at 22:37
@Tim To answer the name part, you could call such systems special-purpose computers but some consider the term synonymous with embedded computer while others consider it distinct. – AndrejaKo Jun 18 '11 at 22:39
Thanks! I know controller is more broader than microcontroller. My question is while a microcontroller is a computer, is a controller always a computer? – Tim Jun 18 '11 at 22:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .