When you start learning about Microprocessors (in most case you will begin with Intel 8085) and Microcontrollers (usually you will begin with Intel 8051 from the MCS 51 micro controller family), the first question that pops up is “hey… what’s the difference in between” ? In this article I am explaining the basic differences and similarities between a microprocessor and micro controller. In fact you can call this article a simple comparison of both micro computing devices. This comparison will be same (at the basic level) for any micro processor and controller. So lets begin.
At the basic level, a microprocessor and micro controller exist for performing some operations – they are – fetching instructions from the memory and executing these instruction (arithmetic or logic operations) and the result of these executions are used to serve to output devices. Are you clear? Both devices are capable of continuously fetching instructions from memory and keep on executing these instructions as long as the power is not turned off. Instructions are electronic instructions represented by a group of bits. These instructions are always fetched from their storage area, which is named as memory. Now lets take a closer look at block diagrams of a microprocessor based system and a micro controller based system.
Microprocessor based system
Take a closer look at the block diagram and you will see a micro processor has many support devices like Read only memory, Read-Write memory, Serial interface, Timer, Input/Output ports etc. All these support devices are interfaced to microprocessor via a system bus. So one point is clear now, all support devices in a microprocessor based system are external. The system bus is composed of an address bus, data bus and control bus.
Okay, now lets take a look at the microcontroller.
Micro controller system
The above block diagram shows a micro controller system in general. What’s the primary difference you see? All the support devices like Read only memory, Read – Write memory, Timer, Serial interface, I/O ports are internal. There is no need of interfacing these support devices and this saves a lot of time for the individual who creates the system. You got the basic understanding ? A micro controller is nothing but a microprocessor system with all support devices integrated inside a single chip. There is no need of any external interfacing in a micro controller unless you desire to create something beyond the limit, like interfacing an external memory or DAC/ADC unit etc. To make this microcontroller function, you need to give a DC power supply, a reset circuit and a quartz crystal (system clock) from external source.
Okay, so we have an idea about the basic difference between a microprocessor and microcontroller. Now lets compare some features of both systems.
As you already know, support devices are external in a microprocessor based system where as support devices are internal for a micro controller. Micro controllers offer software protection where as micro processor base system fails to offer a protection system. This is made possible in microcontrollers by locking the on-chip program memory which makes it impossible to read using an external circuit. Okay! So that are basic differences, now you can come up with some more. As we need to interface support devices externally in a microprocessor based system, time required to build the circuit will be more, the size will be more and power consumption will be more in a microprocessor based system compared to microcontroller.
So you wanna read more about a specific microprocessor and micro controller ? Here is:-