difference between microcontroller and microprocessor

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.

Post a Comment

0 Comments