A microprocessor, also known as a Central Processing Unit (CPU), is an Integrated Circuit (IC), which is the brain of a Computer. Although a microcontroller performs a similar role to that of a microprocessor, there are a number of major differences between them.
Typically, a microprocessor is just only the core. It is a CPU and sometimes complemented with a memory controller and nothing more. It is a programmable and clocked electronic device, which accepts binary data as input then processes the data according to the instructions available in the program memory and finally outputs the result. It is used with other components such as memory modules (for both data and program memory), storage devices and input/output peripherals. The typical components you find inside a microprocessor are ALUs, registers, fetching and decoding units, etc. Intel 4004 is attributed for the first ever microprocessor and was made public in 1971 by Intel Corporation . Microprocessors are used as the CPU for a range of computers starting from low-end netbooks to the high-end servers.
A microcontroller is a single IC that typically contains a small processor core, a program and a data memory, and programmable input/output peripherals. Microcontrollers are targeted for embedded applications as opposed to the microprocessors, which are targeted for personal purpose computers. The point of using a microcontroller in embedded systems is to try to use less possible external components. So, generally, microcontrollers have memory (program memory and some RAM), IO ports, counters, UART, all integrated into a single chip.
What is the difference between Microprocessor and Microcontroller?
Microprocessors are usually faster, versatile and expensive than microcontrollers are, although we are now seeing microcontrollers with higher speed and lower prices. The main point again, a microprocessor is just that, ‘processor’ and a microcontroller is a microprocessor plus a dozen other functions on the chip. When you purchase a microprocessor, you are free to use the components you want around the processor. With a microcontroller, the user usually chooses between different flavors of microcontrollers (more/less memory, 0/1/2 UART, more/less timers, SPI, etc.) but you will have those functions.
According to a market estimate the number of microprocessors and microcontrollers sold in 2008 were ten billion out of which just 2% of them are microprocessors, attributing 98% to the microcontrollers. Due to the bulk manufacturing and small core size, the microcontrollers are very cheap compared to microprocessors.