In the past, the computers design consists of multiple small and medium scale circuits. The circuits made were bulky and complicated to analyze. The enhancements in the electronic industries and improvements made in microprocessors result in the reduction of cost and make it popular to use in various applications. The development of MOSFET has originated the path for the invention of microprocessors. To overcome certain drawbacks in the microprocessor, micro-controllers were designed. In the year 1959, the company named ‘Fair Child Semiconductors’ invented the very first integrated circuit. Basing this idea Gordan Moore, Andrew Grove, and Robert Noyce have invented the first microprocessor. It is named after their company Intel 4004. This invention is made possible in the year 1971. During the same year, Gary Boone of ‘Texas Instruments’ has invented the microcontroller. Both of these essential IC’s are designed to fulfill real-time application demands. This article discusses the difference between microprocessor and microcontroller.
Introduction to Microprocessor and Microcontroller
The short term of the microprocessor is uP, and it is a central processing unit. A Microprocessor is used to make many tasks like arithmetic and logic operations, system controlling and storing the data, etc. It will process the I/O peripheral data and gives the results back to the peripherals to function. In the year 1968 the first microprocessor was developed by Garrett Research’s .But, the commercial microprocessor was released in the year 1971 which is termed as 4004.The block diagram of microprocessor is shown below.
If a processor desires to process an instruction from memory or a request from the I/O, it has to induce instruction through a bus from the memory or I/O, Place it within the registers and process it within the registers. The Processor will save the result in the memory through the bus. However, this architecture has some drawbacks. It is slow and knowledge operations cannot occur at an equivalent time as a result of them share an equivalent common bus. Later, Harvard design is developed. In the Harvard design the information memory and program memory are placed as separate memory and separate buses are connected to communicate with one another. There are two kinds of central processing unit small programming and hardwired programming. Microprogramming is slow in comparison to hardwired. Hardwired implementation is principally of logic gates and passive elements. Code is employed within the microprogramming.
In the microprocessors, the ISA (instruction set architecture) also plays a vital role. There are various types of ISA microprocessors are available in the market such as
CISC: CISC was first instruction set architecture. In the CISC instruction set, instructions will take long time to execute; which may contain of opcode addressing mode and operand, etc. The execution speed will be slow. The best example is X86 architecture.
RISC: In the RISC (reduced instruction set computer), the instruction set will be small & execution speed will be fast. The implementation of this instruction is simple and does not require complex architecture. This is widely used in many embedded systems applications. POWERPC and SHARC use RISC.
Microprocessor should be selected according to the application and peripherals. RISC cannot be used for large applications and CISC cannot be used for small applications.
Take a closer look at the block diagram of the microprocessor, it has several support devices like ROM, Read write memory, timer, serial interface, I/O ports, etc.All these support devices are interfaced to the microprocessor through a system bus.So finally we can conclude that all support devices in a microprocessor are connected externally. The system bus consists of an address bus, control bus and data bus.
A microcontroller is a computer on a chip in which many support devices like RAM, ROM, timers, counters, I/O peripherals are fixed in one IC. Most of the microcontrollers uses RISC architecture. But, some microcontrollers like 8051, Motorola uses CISC architecture. Microcontrollers is mainly designed to control specific electronic applications. The short term of the microcontroller is MCU or uC. Microcontroller is a heart of an embedded system.Microocntroller can be easily interfaced to external peripheral devices like ADC, DAC, serial ports, Bluetooth, Wi-Fi, etc. The interfacing procedure of the microcontroller is very fast.
Examples of the microcontrollers are microchip’s PIC, Intel’s 80196, The 8051, Motorola’s 68HCxx. Microcontrollers are normally found in toys, office machines, automobiles, home appliances, etc. The applications of microcontrollers involve in various embedded system projects and electronics projects.
Difference between Microprocessor and Microcontroller
The main difference between microprocessor and microcontroller are discussed below.
What is a Microprocessor?
An integrated circuit that performs the functions as the central processing unit in which the inputs and the outputs are not defined is known as a microprocessor. The chip is programmable which operates based on the applied inputs. The input bits applied are in the form of binary. The processing of the input to obtain the desired output is done based on the instructions stored in the memory.
- The operations performed if require storage devices it will be interfaced externally in the circuits.
- The design of the microprocessor is not dedicated to a specific task. It is used during the complex circuits computations.
- The applications that require high memory utilizes this circuit of the microprocessor.
- The processors are used whenever lots of processing is required.
- It is also known as the ‘Heart of the Computer system’.
- Examples of microprocessors are Pentium, Intel I3, I5 etc…
What is Microcontroller?
A Microcontroller is a minicomputer present on a single IC. It consists of a processor, ROM, RAM, and the Input/ Output pins to perform various tasks. The inputs applied and the output obtained is defined by the user to perform the tasks.
- On-chip storage is present for storing information related to the program.
- No External circuit interfacings are required.
- Examples of micro-controllers are 8051, PIC, AVR, etc…
- Microcontrollers are used in real-time systems like ABS, EBS, Robots and in most of our electronic devices.
What is the Difference between Microprocessor and Microcontroller?
Both circuits are used for various purposes. But they differ in terms of various factors called memory, power and their desired area of applications. Some of the differences are listed as :
|1. It interfaces memory externally. So, there are no memory-related constraints.||1. The memory is available on the board. Hence it is finite. But it has a short Start-up duration.|
|2. Due to the external connection of multiple peripheral units the power consumption increases. Several rails of voltages are required.||2. It has its inbuilt unit of power supply. Further, it requires only a single rail of voltage.|
|3. The lesser registers are used because the number of operations is based on memory.||3. More quantity of registers is used. This makes easier to write the programs in micro-controllers.|
|4. The connections of peripherals make the system bulky.|| |
4. The system is compact because the peripherals share a common chip with the processor.
|5. The overall cost of the microprocessor is high.||5. The design of the micro-controller is based on Complementary Metal Oxide Semiconductor (CMOS) technology. This makes the design cheap in terms of cost.|
|6. General microprocessors have the speed of processing about 1 GHz.||6. The processing speed of the microcontrollers is ranging from 8 MHz to 50 MHz|
|7. No power-saving mode flexibility.||7. The flexibility for power Saving is provided by Idle modes.|
|8. These are used in the execution of complex tasks such as Software, Gaming Developments, etc….||8. It performs less complicated tasks and less complex operations.|
|9. These are used in large applications.||9. Preferable for the small applications.|
|10. It follows Von-Neumann architecture. Both the program and the data are stored in the same memory.||10. It follows the Harvard architecture. It possesses different program and data memories.|
1. Which is Faster Microprocessor or Micro-controller?
As the microprocessor is bulky because the peripherals are accessed externally. But in comparison to the micro-controller, the processing speed of microprocessors is about 1 GHz. Therefore, in terms of processing the microprocessors are faster than the micro-controllers.
2. Is Raspberry pi a Microprocessor or Micro-controller?
Raspberry pi is known for its functioning as an Embedded Computer. It is a system on chip (SoC) which possess BROADCOM CPU with the ARM processor. It also includes the On-Chip peripherals. Hence the functionality of the Raspberry pi is more like a micro-controller rather than a microprocessor.
3. What is the main function of the Micro-controller?
The main functions carried out by the microcontroller are:
- It is a compact version of microcomputers. These are capable of controlling certain tasks of Embedded Systems. It is also referred to as an ‘Embedded Controller’.
- Any device that requires a user’s control has to prefer a microcontroller.
- Home Appliances, Robots, Motor Vehicles, etc… are the practical considerations where micro-controllers are used.
4. What is the difference between Controller and Processor?
A chip with the required peripheral and memory present on it and compact in size is defined as a controller. In the chip where the accessing of the peripherals is external is defined as a processor. The major difference between the processor and the controller is the user has control over the action performed by the device in the controller and coding is easier.
Please refer to this link to know more about Microcontrollers MCQs
Thus, this is all about the difference between microprocessors and microcontrollers. A micro-controller is cheap in terms of cost than that of a microprocessor. Both the processor and controller have their significance. One cannot be replaced with the other during the dedicated tasks. It’s not about which is one is the best. It is based on what is the demand of the system. Larger applications require the involvement of microprocessors whereas smaller applications prefer microcontrollers. There are many enhancements and the usage of the processor and controller with the Internet of Things are providing the beneficiary results. Are there any types for microprocessors and micro-controllers?