One of the most common questions in the world of digital electronics is the difference between Microcontrollers and Microprocessors; two very similar terms, yet two very different concepts. Keep reading if you want to find out the differences between there two important building blocks in embedded designs
What is a Microprocessor
The exact components of a processor may change between applications. If we design them to run different kinds of applications, we call them “General Purpose Microprocessor”. On the contrary, if we design them to perform a specific task, we call them “Special-purpose Microprocessor”.
However you build your device, the minimum requirements are: an arithmetic logic unit (ALU) and a control logic section in charge of accepting binary input data and returning a result.
Real processors are however a bit more complex. We can usually find registers, which helps diversify the types of operations the device can perform; or specialized circuitry, for applications like graphic processing or signal processing. All this is orchestrated by a clock and a series of operation instructions, which the CPU receives through an input bus.
In conclusion, a microprocessor:
- Contains an ALU, control logic and registers.
- Perform binary operations.
- Uses operation instructions that contain a group of input values.
- Needs a clock to operate.
These components are packed in a single chip that can then be used to build complex computers just by adding peripherals and external memory.
Read more: Osborne, Adam (1980). An Introduction to Microcomputers. Volume 1: Basic Concepts (2nd ed.). Berkeley, California: Osborne-McGraw Hill. ISBN 0-931988-34-9.
What is a Microcontroller
In simple words, a Microcontroller is a computer compressed in a single chip. Usually compared to a System on a Chip (SoC), they share similar characteristics with different components.
A typical Microcontroller encloses:
- A Microprocessor
- RAM Memory
- ROM Memory with the set of instructions to be execute
Microprocessors, MCUs are usually classified by their speed, the amount of memory (both RAM and ROM) and the type of peripheral included on the chip.
The relationship between Microprocessors and Microcontrollers is that the first is contained inside the second; however, this doesn’t mean this is the only use case of a processor.
- Processors are used on home computers. Most of the times manufacturers design PCs to be easy to customize and repair. Every component of the device is a single unit that the user can replace either as a module or as a chip on the board.
- We also use Processors as building blocks for Microcontrollers, SoC or electronic devices that require a very high degree of customization.
- We use Microcontrollers on embedded devices where all you need to add is a couple of peripherals; this includes, but is not limited to: IoT, Home Automation, Consumer electronics, Microwaves, Laundry Machines, etc.
These are just some use cases; real applications are a bit more complex and we can find devices with varying combinations of processors, microcontrollers and SoC talking to each other and collaborating to create complex systems.