What is the difference between microprocessor and microcontroller?

For beginners, who are just getting started with electronics, oftentimes it might be confusing to compare microprocessor and microcontroller. But both microprocessor and a microcontrollers are entirely different from one another in terms of hardware architecture and working. The primary difference between a microprocessor and a microcontroller is that a Microprocessor  IC only has a CPU inside it while a Microcontroller IC also has RAM, ROM, and other peripherals associated with it. Some popular examples of the microprocessor are Intel core i7, AMD Athlon, Broadcom BCM2711 (Raspberry Pi) etc, and some example for microcontrollers are ATmega328 (Arduino UNO), STM32, PIC16F877A etc. To understand in detail we have to take a look at the general architecture of a Microprocessor and Microcontroller, which is exactly what we are going to do in this article. 

What is a Microcontroller?

It’s like a small computer on a single IC. It contains a processor core, ROM, RAM, and I/O pins dedicated for performing various tasks. Microcontrollers are generally used in projects and applications that require direct control by users. As it has all the components needed in its single chip, it does not need any external circuits to do its task so microcontrollers are heavily used in embedded systems and major microcontroller manufacturing companies are making them be used in the embedded market. A microcontroller can be called the heart of an embedded system. Some examples of the popular microcontroller are 8051, AVR, PIC series of microcontroller. 

Above is architecture of 8051 microcontroller. And you can see all the required components for a small project is present in a single chip. With the advancements in electronics there are many new microcontrollers being launched in the market, if you want to understand how to select the right microcontroller for your application  you can check out the article linked. 

What is a Microprocessor?

Microprocessor has only a CPU inside them in one or few Integrated Circuits. Like microcontrollers it does not have RAM, ROM and other peripherals. They are dependent on external circuits of peripherals to work. But microprocessors are not made for specific task but they are required where tasks are complex and tricky like development of software’s, games and other applications that require high memory and where input and output are not defined. It may be called heart of a computer system.  Some examples of microprocessor are Pentium, I3, and I5 etc.

From this image of architecture of microprocessor it  can be easily seen that it have registers and ALU as processing unit and it does not have RAM, ROM in it.

Microprocessor Vs Microcontroller

As now you are basically aware of what is a microcontroller and microprocessor, it would be easy to identify the major differences between a microcontroller and microprocessor. 

1. Key difference in both of them is presence of external peripheral, where microcontrollers have RAM, ROM, EEPROM embedded in it while we have to use external circuits in the case of microprocessors.

2. As all the peripheral of microcontroller are on single chip it is compact while microprocessor is bulky.

3. Microcontrollers are made by using complementary metal oxide semiconductor technology so they are far cheaper than microprocessors. In addition the applications made with microcontrollers are cheaper because they need lesser external components, while the overall cost of systems made with microprocessors are high because of the high number of external components required for such systems.

4. Processing speed of microcontrollers is about 8 MHz to 50 MHz, but in contrary processing speed of general microprocessors is above 1 GHz so it works much faster than microcontrollers.

5. Generally microcontrollers have power saving system, like idle mode or power saving mode so overall it uses less power and also since external components are low overall consumption of power is less. While in microprocessors generally there is no power saving system and also many external components are used with it, so its power consumption is high in comparison with microcontrollers.

6. Microcontrollers are compact so it makes them favorable and efficient system for small products and applications while microprocessors are bulky so they are preferred for larger applications.

7. Tasks performed by microcontrollers are limited and generally less complex. While task performed by microprocessors are software development, Game development, website, documents making etc. which are generally more complex so require more memory and speed so that’s why external ROM, RAM are used with it.

8. Microcontrollers are based on Harvard architecture where program memory and data memory are separate while microprocessors are based on von Neumann model where program and data are stored in same memory module.