When it comes to the world of electronics, you would have definitely come across the terms, Microprocessor and Microcontroller.
Maybe you are like me and when you first heard these terms you assumed that they were just two ways of referring to the same thing.
But, after learning more about them over the years, there are many differences between the microprocessor and the microcontroller.
Things such as the structure, memory, speed, application are just some of the few differences.
Before we dive in deeper at the differences, I shall give you an overview of the basics of the Microprocessor and Microcontroller.
What is a Microprocessor?
Let’s get started with the Microprocessor. The Microprocessor in its simplest definition is an electronic component designed to carry out computational tasks.
At the heart of a computer is located a central processing unit (CPU). A microprocessor is a computer processor that incorporates the functions of a CPU that can be found on a single integrated chip.
The central processing unit is essentially the brain of a computer and can consist of one or more microprocessors made up of thousands of transistors located on an integrated chip.
The microprocessor and other parts of the computer work together in achieving the goal to compute arithmetic and logical functions using a set of instructions to perform tasks within a computer.
History
The 1970’s saw the invention of the Microprocessor. The main purpose for it’s invention was to be utilized in embedded systems. Embedded systems such as mobile phones, cars, military weapons, home appliances and many more.
The microprocessor has dramatically evolved over the years.
In the early 70’s Intel released the 4004 microprocessor; a 4-bit chip that ran at a clock speed of 108 kHz. Due to its small size, the 4004 microprocessor could not perform mathematical calculations.
The second generation in 1972 saw the release of the 8080 microprocessor. This was an 8-bit microprocessor which was quite popular commercially.
The late 70’s was the dawn of the third generation with Intel releasing the first ever 16-bit microprocessor; the 8086. This increase in memory size saw a rise in its uses as it could now be used to do arithmetic calculations.
The 4th and 5th generation in the late 80’s and early 90’s gave way to 64-bit microprocessors. An increase in memory was not the only upgrade, as speeds increased exponentially.
The major companies that were instrumental in the development and innovation of the microprocessor include Intel, Motorola, and Zilog.
Basic operation of a Microprocessor
So how does it all work? What are the basics of the structure and operation?
The microprocessor plays a vital role in computer systems. If you were to eliminate the microprocessor from computer architecture, you would not be able to perform any operations.
The basic operation can be broken down into three parts; fetching, decoding and execution.
It takes a set of instructions in machine language and then proceeds to execute them.After that it relays information to the processor telling it what to do.
While executing the instruction the microprocessor will perform basic operations such as, addition, subtraction, multiplication, division and logical tasks using the Arithmetic Logic Unit.
After this data which is located in one area in the Microprocessor can now move to the next location.
There is a register known as the Program counter that stores the address of the next instruction.
Types of Microprocessor
With the many different companies that are involved in the production of microprocessors, there are many different types of microprocessors.
The main differences between the different types are the way the carry out instructions.
They include Complex Instruction Set Computer (CISC), Reduced Instruction Set Computer (RISC), and Explicitly Parallel Instruction Computing (EPIC).
Complex Instruction Set Computer
CISC is a type of architecture where a single line of instruction can execute many low level tasks such as loading from memory, storing into memory or an arithmetic calculation.
Reduced Instruction Set Computer
RISC is a type of architecture involving simple instructions that get executed straight away. These instructions are performed every clock cycle.
RISC takes advantage of using many registers to avoid having large exchanges with memory.
Explicitly Parallel Instruction Computing
Finally we have Explicitly Parallel Instruction Computing. EPIC allows a computer to perform instructions parallel.
It eliminates the use of high clock frequencies when executing complex instructions.
Applications of Microprocessors
The most common place microprocessors can be found, and one that most people are familiar with are in Computers.
Other than computers, they can also be found in Control applications.
Most commonly one can find them in home appliances such as microwaves, ovens, washing machines etc. They are used to control different parameters such as speed, temperature, pressure etc.
Communication is another field where you can find a wide range of products that use microprocessors. They are used by telecommunication companies in digital telephones and modems.
Broadcasting via satellite to television sets has also been made possible because of the microprocessor.
Many Consumer Products have a microprocessor. From toys to education and beyond. Things like calculators, gaming systems, mobile phones, and more.
What is a microcontroller?
Now that we have covered the basics of what a Microprocessor is, let us cover the basics of the Microcontroller.
So what is a Microcontroller?
A Microcontroller is essentially a mini computer. It is an integrated circuit that contains one or more processors.
It can be found everywhere from your smartphone, coffee machine, flashlight and many more.
It is compared to a small computer due to its similar features.
It contains a Central Processing Unit, Random Access Memory (RAM), Flash memory, Serial Bus Interface, Input/Output ports and EEPROM.
Much like the Microprocessor, the Microcontroller takes some sort of input, processes it and then outputs a certain action based on certain criteria.
History
As we saw that during the early 70’s, Intel was busy inventing the first ever microprocessor.
While this was happening, a guy named Gary Boone of Texas Instruments was working on something similar. That something similar was the Microcontroller.
He created a calculator with all the essential circuits on a single integrated chip. The only things missing however, were the keypad and display. But, still a major breakthrough.
It was called the TMS1802NC. It included five thousand transistors which gave it three thousand bits of program memory and 128 bits of access memory. Because of this, it was possible to perform a variety of tasks.
Between 1972 and 1974, microcontrollers developed by Texas Instruments were primarily used in the calculators they were manufacturing.
After this, Texas Instruments started to offer the microcontroller to the electronics industry with a selection of ROM and RAM sizes.
As with the microprocessor, the microcontroller also saw exponential growth.
Basic operation of a Microcontroller
The basic operation of a Microntroller is controlling hardware based on commands that it receives, decodes and executes.
It can receive information via inputs such as switches, buttons and sensors.
It can control peripheral (output) circuitry like displays, led’s, motors etc.
Basic structure of a Microntroller
CPU: This is the brain. It’s main purpose is to fetch an instruction, decode it and execute it accordingly. All parts of the microcontroller lead to the CPU.
Memory: The memory in a Microcontroller has the same function as it does in a microprocessor. Program source code is stored either through the ROM, RAM or flash memory depending on the situation.
Parallel Input/Output Ports: As the name suggests, parallel input/output ports are used to connect inputs and outputs to the microcontroller. Input can include buttons, switches and sensors, Outputs can include motors, LED’s LCD’s etc.
Serial Ports: The serial port provides a means of interfacing a microcontroller with other peripheral circuitry.
Timers/Counters: These are an essential part of the system. Timers and counters provide all timing and counting functions inside a microcontroller.
Analog to Digital Converter (ADC): The main function of an ADC is to convert an analog input signal to a digital signal. Sensors will normally always output an analog signal. So the ADC can take this analog signal and convert it to a series of 0’s and 1’s.
Digital to Analog Converter (DAC): The DAC works the opposite way to the ADC. It takes a digital signal and converts it to analog.
Types of Microcontroller
In the world of microcontrollers, there are a lot of different types available.
The most common of them all is the 8051 family. Among hobbyists and experts, the 8051 is the ideal pick.
The first 8051, was an 8-bit microcontroller created by Intel in 1981. It was available in a 40 pin dual inline package (DIP) with 4kb of ROM and 128 bytes of RAM.
We then have the Peripheral Interface Controller (PIC) which was created by Microchip technology.
Because of its wide availability, low cost and large user base, the PIC is also a great choice for hobbyists and experts alike.
Next we have the AVR microcontroller, or Advanced Virtual RISC. This is my choice of microcontrollers that I use for many of my projects. They are easy to use, low cost and have a lot of resources available online.
It was one of the earlier microcontroller families to use on-chip flash memories.
Finally we have the ARM microcontroller. ARM refers to the name of the company that manufactures them.
The ARM base of microcontrollers do not have on board flash memory. ARM microcontrollers are great for complex embedded systems.
They are a 32-bit architecture, and because of its power saving attributes, a lot of them are found in mobile phone applications.
Applications of Microcontrollers
Much like the microprocessor, the microcontroller can be found in many embedded electronic devices.
They are used for control and sensing applications.
Control applications can be found in many industrial companies such as food sorting, packaging, etc.
When it comes to sensing applications, due to the wide selection of sensors available the microcontrollers can be found in a variety of applications where sensing is required.
Sensors such as for temperature, light, fire detection, gas, pressure and many more.
Because of its low cost and ease of use, the microcontroller has become the hobbyists best friend.
Many aspiring inventors, startups, and DIYer’s will utilize the microcontroller in many of their projects without having to fork out a whole lot of money.
So what are the differences between a Microprocessor and Microcontroller?
Now that we have covered the basics of both devices, we can dive into what is the difference between a microprocessor and microcontroller.
As you might have seen from reading about both devices that they are actually quite similar.
There isn’t a whole lot that separates them. They were both created around the same time and for similar purposes.
They also both use the fetch, decode and execute as their primary means of operation.
Saying this, there are few differences between the microprocessor and microcontroller.
I shall break down the differences into categories which are; structure, speed, power consumption, and price.
Structure
One of the major differences lies inside both IC’s, and that is the structure.
The structure of microcontroller can be viewed as a computer embedded onto a single IC.
It has its own processor core, memory (ROM,RAM) and input/output ports.
The microprocessor only contains a CPU. It does not have it’s own memory (RAM, ROM , EEPROM).
The designer of the system has to include memory externally.
The microcontroller is a self contained system which has its own memory.
Speed
When it comes to operating speeds, the microprocessor leads the way.
The average microprocessor has speeds of up to 1GHz, whereas the microcontroller has speeds in the range of 8MHz to 50MHz.
Power consumption
If you are looking for the right IC to save on power, the microcontroller is your best option.
The microcontroller has an in built power saving system, like idle or power saving modes which can be programmed accordingly.
Also, there are less external components needed to get the microcontroller going, so it requires far less power.
The microprocessor however does not have any specific power saving system and also requires external components.
Due to this fact it consumes more power than the microcontroller.
Price
Because the microprocessor requires more peripheral circuitry (memory, input/output ports) to operate, it costs more to setup a system with a microprocessor than it does with a microcontroller.
Applications
When it comes to applications, the microcontroller is mostly used in less complex systems.
Systems where specific resources are needed and known. So the microcontroller is used because all resources are found on a single chip.
The relationship between the input and output is known.
A microprocessor is used in more complex applications, where tasks and resources are not specific and so the system needs to be designed accordingly.
The relationship between input and output here is not known.
Which is better?
Now you know the differences between the microprocessor and microcontroller.
So which is better?
The thing is that one is not better than the other.
It all depends on what the application or project demands.
If you require an IC with higher processing speeds and your system has much more complex tasks, the microprocessor is your device of choice.
If however, you require an IC that has power saving capabilities and requires fewer peripherals, then the microcontroller is what is right for your system.
So, you can see that it really all depends on whatever system one is designing that will determine which is better.
Conclusion
So you can see that though they are similar, things like structure, speed, power consumption and price are what differentiates the microprocessor and microcontroller.
A microcontroller can be viewed as an all in one integrated chip. It is essentially a computer.
Whereas, a microprocessor has a single function and requires external peripheral circuitry depending on the application.