Entire difference between
Microcontroller and Microprocessor
Mr. Akshay
Dattatray Shelke
B.E. Electronics and telecommunication
Email: (akky487@gmail.com)
Selecting the right device on which to base your new
design can be daunting. The need to make the right balance of price,
performance and power consumption has many implications. First, there will be
the immediate technology considerations for the design you are able to
embark on. However if microcontroller (MCU) or microprocessor
(MPU), becomes the basis of a platform approach, the decision can have
long-lasting consequences. Difference between microprocessor and
microcontroller becomes an important debate at this point.
v
Primary Differences
Typically an MCU uses on-chip embedded Flash memory
in which to store and execute its program. Storing the program this way
means the MCU having a shorter start-up period and executing code quickly.
The only practical limitation to using embedded memory is that the total
available memory space is finite. Most Flash MCU devices available on the
market have a maximum of 2 Mbytes of Program memory. This may prove to be a limiting
factor, depending on the application.
MPUs do not have memory constraints in the same way.
They use external memory to provide program and data storage. The program is
typically stored in non-volatile memory, such as NAND or
serial Flash. At start-up, this is loaded into an external DRAM and
execution commences. This means the MPU will not be up and running as quickly
as an MCU but the amount of DRAM and NVM you can connect to the processor
is in the range of hundreds of Mbytes and even Gbytes for NAND.
Another difference is power. By embedding its own power
supply, an MCU needs just one single voltage power rail. By comparison, an
MPU requires several difference voltage rails for core, DDR etc. The
developer needs to cater for this with additional power ICs / converters on- board.
For
example, an ARM Cortex-M4-based microcontroller such as Atmel’s SAM4 MCU is
rated at 150 DMIPS. Whereas an ARM Cortex-A5 application processor (MPU) such
as Atmel’s SAMA5D3 can deliver up to 850 DMIPS. One way of estimating the
DMIPS required is by looking at the performance hungry parts of the application.
Difference
between Microprocessor and Microcontroller
Running a full operating system (OS), such as Linux,
Android or Windows CE, for your application would demand at least 300–400
DMIPS. For many applications, a straightforward RTOS might suffice and an
allowance of 50 DMIPS would be more than adequate. Using an RTOS also has
the benefit that it requires little memory space; a kernel of just a few kB
being typical. Unfortunately, a full OS demands a memory management unit
(MMU) in order to run; this in turn specifies the type of processor
core to be used and require more processor capability.
v
Applications
Difference:
For running applications that are more number-crunching
intensive enough, DMIPS allowance needs to be reserved on top of any OS
and other communication and control tasks. The more numeric-based the
application, the more likely a MPU is required.
The user interface (UI) can be a serious consideration
irrespective of the aim of the application. As consumers, we have become
familiar and comfortable with using colorful and intuitive graphical UIs.
Industrial applications are increasingly using this method of operator
interaction. The operating environment however can limit the usage on this one.
For the UI there are a number of factors.
v
Why are the differences
necessary?
Firstly, is the processing overhead required. An overhead
of 80–100 DMIPS might suffice for a UI library such as Qt, since it is
widely used on top of Linux. The second factor is to do with the
complexity of the UI. Higher processing power and memory is needed for
more animations, effects, multimedia content and more changes applied to
the image to be displayed. And this requirements scale up with the
resolution, that is why for applications design ed to be UI centric a
MPU is more likely to suit.
On the other hand, a simpler UI with pseudo static images
on a lower resolution screen can be addressed by an MCU. Another argument in
favour of the MPU is that the generally come equipped with an
embedded TFT LCD controller. Very few MCUs have this capability. The
TFT LCD controller and some other external driver components have to be added
externally. So, while possible to achieve with an MCU , the
developer needs to look at the overall BOM.
v Difference
between Connectivity Standpoints:
From the connectivity standpoint, most MCU
and MPU devices are available, with all the common popular peripheral
interfaces. High speed communication peripherals such as HS USB 2.0, multiple
10/100 Ethernet ports or Gigabit Ethernet port are generally only
found on MPU. They are better capable to handle and process large amounts
of data. Whether there are enough suitable channels and bandwidth to
handle the data traffic is a key question.
Depending on the communication protocols
used, the impact on code space using third-party stacks should be
checked. Applications demanding high-speed connectivity especially in
combination with using OS-based stacks will require a MPU-based design.
Another key aspect driving the difference
between microprocessor and microcontroller selection, is the need for a
real time/deterministic behavior of the application. Because of the
processor core used in an MCU, as well as the embedded flash and
considering the software used that is either an RTOS or bare metal C,
the MCU will definitely take the lead on this aspect and will address
perfectly the most time critical and deterministic applications.
v Difference
between Power Consumption:
A final point to consider is power
consumption. While MPUs do have low power modes there
are not as many or as low as the ones you would find on a typical MCU.
With the external hardware supporting an MPU has an added factor, putting
an MPU into a low power mode might also be slightly more complex.
Also, the actual consumption of an MCU is
magnitudes lower than an MPU. In low power mode for example, with SRAM and
register retention, you can consider a factor 10 to 100. This is directly
related to the amount of RAM and power required by an operating system to resume
operation instantaneously. The decisions involved in selecting either an
MCU or MPU-based approach are many and involve performance, capability and
the BOM budget.
v Selecting
one?
Broadly speaking, MCUs tend to be used in
cost optimized solutions which require tight control of BOM and power
saving. Functionally rich and high performance applications employ on a scale,
larger number of MPUs. Ultra low power applications such as remote
controls, consumer electronics and smart
meters where
the design emphasis puts longevity of battery life and none or little UI
interaction find larger use of MCUs.
They are also used where a highly
deterministic behavior is needed. MPUs are ideal for OS-based industrial
and consumer applications. These might be compute intensive and require
multiple high-speed connectivity or a rich UI.
Selecting a vendor offering highly compatible
MCU and MPU products where you can easily migrate up and down and maximize
software reuse provides the best return on investment over time.
0 Comments