Difference Between Microprocessor and Microcontroller

来源:互联网 发布:国家网络管理局 编辑:程序博客网 时间:2024/06/07 00:59

efore going to the difference between microprocessor and micro controller, let’s see the brief introduction of micro processor and micro controller

Microprocessor:

The microprocessor is a small computer or CPU (central processing unit) used to do arithmetic and logical operation, controlling the system and storing the data etc. the micro processor will process the data of the input/output peripherals and give the results back to them to function. The first commercial Microprocessor was released by Intel in year 1971 November named as 4004. It is 4-bit micro processor. But first micro processor was development by Garrett Research’s in the year 1968.  Block diagram of microcontroller shown below:

Microprocessor

The initial Microprocessor uses the Von-Neumann architecture. In the Von Neumann architecture the data memory and program memory are placed in one memory. If processor wants to process an instruction from memory or request from the I/O, it has to get instruction through a bus from the memory or I/O, Place it in the registers and process it in the registers. Processor can save the result in the memory through the bus. But this architecture has some drawbacks like it is slow and data operations cannot occur at the same time because they share the same common bus. Later Harvard architecture is developed. In the Harvard architecture the data memory and program memory are placed as separate memory and separate buses are connected to communicate each other. There are also two types of CPU micro programming and hardwired programming. Microprogramming is slow when compared to hardwired. Hardwired implementation is mainly of logic gates and passive elements. Microcode is used  to in the microprogramming.

Microprocess Architecture Models

The instruction set architecture (ISA) also plays an important role in the microprocessors. There are different instructions set architecture microprocessors available in them market. They are

  1. Complex programming Instruction Set Computer:  this was first ISA. In the complex instruction set computer (CISC) instruction set is complex instructions which will take long time to execute; complex instruction may consist of opcode addressing mode operand etc.  The execution speed will be slow. X86 architecture is example
  2. Reduced Instruction Set Computer: in the reduced instruction set computer (RISC) the instruction set will be small and execution speed will be fast. The implementation is simple and does not require complex architecture. RISC is widely used in embedded applications. SHARC and POWERPC use RISC.

There are other architecture like Very Long Instruction word (VLIW) and FUSION of RISC AND CISC architecture etc.

Microprocessor should be chosen according to the application for small application you don’t need CISC. You cannot use RISC for large application. According to the application and peripherals you are using micro processor should be taken.

Note: Read the post All about Microprocessors for more information

Microcontroller:

It is also a small computer in which CPU, memory unit (RAM, ROM), I/O peripherals, timers, counters, are embedded in one integrated circuit(IC) where as in the microprocessor all these units are combined on a board through buses. Microcontroller can be interfaced easily to external peripherals like serial ports, ADC, DAC, Bluetooth, Wi-Fi, etc. the interfacing process is fast when compared to the microprocessor interfacing. The most of microcontroller uses RISC architecture. There are also some microcontroller uses CISC architecture like 8051, motorolla, etc.

Microcontroller

Note: Read the post Types and Applications of Microcontrollers to get more information.

Difference Between Microprocessor and Microcontroller:

  • Architecture: Most of the microprocessors use CISC and Von-Neumann architecture. There microprocessors used Harvard and RISC also. But popularly microprocessor uses CISC. Where as Microcontroller uses RISC and Harvard architecture. But there are some microcontroller uses CISC architecture like 8051 and SHARC. Microcontroller has ROM, RAM, secondary storage memory I/O peripherals, timers; counters etc are placed on a board and connected through buses where as in the microcontroller all these peripherals are combined in a single integrated circuit (IC).
  • CPU Speed: Processors are more speed than controllers because of the clock. Processors can have high clock rate, even if they become heat due to over clock rate the heat sink will stop from over heating. Controllers may be slow when compared to the processors but they are reliably fast. The execution speed will always depends up on the clock. If we take the overall performance and application execution speed microcontroller will be fast because all the peripherals are inbuilt. Processors will be slow because it has get every resource from outside of the cpu through buses
  • Design Time: The design an application microcontroller will take less time when compared to the processor. The interfacing between the peripherals and programming them will be easy when compared to the processor.
  • Protection: if you programmed the microcontroller it is hard to get the program from the Rom by other users. The rom will be locked and it is very hard to retrieve the program from the rom of microcontroller. Processor will not give that much protection to its program.
  • Cost: cost of microprocessors and implementing microprocessor based systems will be costly when compared to the microcontroller based system. The microprocessor system will never be a compact system. Most of the microcontroller based systems are compact systems
  • Applications: processors are mainly used in computation systems, defense systems, network communications etc. microcontrollers are mainly used in embedded application like watches, cellphone, mp3 player, etc.

What ever is the difference between controllers and processors, processors cannot be replaced by controllers and controllers cannot be replaced by processors. Each of them have unique way of usage in application development.