Microprocessor and microcontroller are the devices at the core upon which the whole embedded system resides. People generally get confused with these terms, using one in place of another. Though there are many similarities, both these devices are significantly different. A microprocessor is the heart of a Computer system. Whereas a microcontroller is the heart of an embedded system. Judging whether an IC is a microcontroller or microprocessor is difficult as both are available in many packages.
Bored of reading, Click here to jump to the point in tabular form.
Difference between microprocessor and microcontroller
A microprocessor is an Integrated Circuit (IC) which has only the Central Processing Unit (CPU) inside it. They lack Random Access Memory (RAM), Read Only Memory (ROM), and other peripherals on the chip. To deploy a microprocessor in a system, the above-mentioned peripherals are required to be connected. The Intel Pentium series, i3, i5, Cortex A8 are popular microprocessors which find their applications in desktop PC’s, Laptops, notepads etc.
Unlike microprocessors, microcontrollers possess a CPU along with RAM, ROM, and other peripherals. Therefore, it is also termed as a mini computer. Though the size of RAM and ROM and the processing power is far less as compared to an actual computer, it meets all the characteristics of a complete computer. Popular microcontrollers in the market are 8051, STM32, PIC32, Arduino, ATMEL etc.
Microprocessors are designed for generic and unspecific applications like on a PC. There is generally an Operating System (OS) installed which coordinates the different I/O’s. They need high amount of resources like RAM, ROM, I/O ports etc, which leads to increase in total cost of the system.
Microcontrollers are designed to perform specific tasks. For example washing machine, refrigerator, microwave, cars, bikes, telephones etc. As the application is limited to one or two processes, they require small resources like RAM, ROM, I/O ports etc. This allows the integration of all these components on a single chip leading to reduced size and cost.
Microprocessors generally run at very high speeds, generally above 1 GHz . On the other hand, the speed of a microcontroller is relatively very slow ranging from few MHz to 30 to 200 MHz. Microcontrollers are embedded inside small things and systems, and so they are designed to consume minimum power. Whereas a microprocessor is generally designed for better performance and consume more power than a microcontroller.
Owing to these major differences, a microprocessor cannot be used in place of a microcontroller and vice versa.
To cut things short:
|Application||Are application specific and are designed to perform certain limited tasks.||Have generic application and are capable of executing big and complicated tasks.|
|One Solution||Have inbuilt processor, RAM, ROM and I/O Ports. Like a small stand-alone computer in a single Integrate Chip.||Generally don’t have inbuilt RAM, ROM and I/O ports. The pins are used to interface with external RAM, ROM and ports.|
|Performance||Limited performance.||Very high performance.|
|Speed||Generally operate at speeds from 8 MHz – 200 MHz.||Generally operate at speeds above 1 GHz.|
|Power Consumption||Are embedded inside other devices, so are designed to consume less power.||Consume relative more power. As performance is the given higher weightage over power.|
|Cost||Affordable and cheap. Can get started with a minimum external circuit.||Very expensive and requires other peripherals to work along.|