Processor is the heart of an embedded system. It is the basic unit that takes inputs and produces an output after processing the data. For an embedded system designer, it is necessary to have the knowledge of both microprocessors and microcontrollers.
Processors in a System
A processor has two essential units −
- Program Flow Control Unit (CU)
- Execution Unit (EU)
The CU includes a fetch unit for fetching instructions from the memory. The EU has circuits that implement the instructions pertaining to data transfer operation and data conversion from one form to another.
The EU includes the Arithmetic and Logical Unit (ALU) and also the circuits that execute instructions for a program control task such as interrupt, or jump to another set of instructions.
A processor runs the cycles of fetch and executes the instructions in the same sequence as they are fetched from memory.
Types of Processors
Processors can be of the following categories −
- General Purpose Processor (GPP)
- Embedded Processor
- Digital Signal Processor
- Media Processor
- Application Specific System Processor (ASSP)
- Application Specific Instruction Processors (ASIPs)
- GPP core(s) or ASIP core(s) on either an Application Specific Integrated Circuit (ASIC) or a Very Large Scale Integration (VLSI) circuit.
A microprocessor is a single VLSI chip having a CPU. In addition, it may also have other units such as coaches, floating point processing arithmetic unit, and pipelining units that help in faster processing of instructions.
Earlier generation microprocessors’ fetch-and-execute cycle was guided by a clock frequency of order of ~1 MHz. Processors now operate at a clock frequency of 2GHz
A microcontroller is a single-chip VLSI unit (also called microcomputer) which, although having limited computational capabilities, possesses enhanced input/output capability and a number of on-chip functional units.
|I/O Port||Timer||Serial COM Port|
Microcontrollers are particularly used in embedded systems for real-time control applications with on-chip program memory and devices.
Microprocessor vs Microcontroller
Let us now take a look at the most notable differences between a microprocessor and a microcontroller.
|Microprocessors are multitasking in nature. Can perform multiple tasks at a time. For example, on computer we can play music while writing text in text editor.||Single task oriented. For example, a washing machine is designed for washing clothes only.|
|RAM, ROM, I/O Ports, and Timers can be added externally and can vary in numbers.||RAM, ROM, I/O Ports, and Timers cannot be added externally. These components are to be embedded together on a chip and are fixed in numbers.|
|Designers can decide the number of memory or I/O ports needed.||Fixed number for memory or I/O makes a microcontroller ideal for a limited but specific task.|
|External support of external memory and I/O ports makes a microprocessor-based system heavier and costlier.||Microcontrollers are lightweight and cheaper than a microprocessor.|
|External devices require more space and their power consumption is higher.||A microcontroller-based system consumes less power and takes less space.|