This is one of the most common doubts which arise in the minds of every person who is a beginner to microcontrollers and microprocessors. This question is so common, that it is taught to the students in the very first class of microcontrollers & microprocessors and answer to this can be easily found in the initial introductory chapters of any book on microcontrollers.
The primary objective behind this post is to familiarize with the very basic differences which separate a microcontroller from a microprocessor.
The difference between both can be summarised in the points mentioned below:
So to summarise, we can state the difference between both in layman’s term as:
One most important thing, I want to mention is that, though microcontroller is cheaper than microprocessor, we can’t use controller instead of processor or vice versa in their applications. In every application, the requirements are different and we can’t substitute one with the other.
The primary objective behind this post is to familiarize with the very basic differences which separate a microcontroller from a microprocessor.
The difference between both can be summarised in the points mentioned below:
8051 IC |
- Microprocessor contains only a CPU. In contrast Microcontroller contains few other components apart from CPU, which includes RAM, ROM and other peripherals like ports, clock, timer, UART (Universal Asynchronous Receiver Transmitter), ADC (Analog to digital converter), DAC (Digital to analog converter), Drivers for LCD, etc
- Microprocessor can be considered as just the processor, while microcontroller can be seen as a small computer which is embedded on a single IC (Eg. 8051).
- Since microcontroller can be embedded on a single IC, it is used mostly for embedded applications or for a more specific job. On the other hand, microcontroller are used for wider range of applications. For example, In Automotive applications, microcontrollers are used only for some specific tasks; while in computers, microprocessors are used for many applications ranging from ‘basic mathematical computation’ to ‘design and implementation of complex engineering problems’.
- Since microcontroller has inbuilt memory and peripherals, it is cheaper when compared to microprocessors which becomes costlier on addition of external memory and circuit components.
- Due to the absence of memory in the microprocessors, it is difficult to perform Boolean operations in them as compared to controllers.
- For the same reason, number of instructions required to access data from external memory is more in the case of processors compared to the controllers.
So to summarise, we can state the difference between both in layman’s term as:
“Microprocessor is present inside a Microcontroller”.This is valid to some extent because:
Microcontroller = Microprocessor + Few Extra components
One most important thing, I want to mention is that, though microcontroller is cheaper than microprocessor, we can’t use controller instead of processor or vice versa in their applications. In every application, the requirements are different and we can’t substitute one with the other.