Tuesday, September 9, 2014

Difference Between Microprocessor and Microcontroller



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:


                         
                                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.

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.

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.

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. Microprocessor 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.

28 comments:

  1. i've learned a lot from this .. :)

    ReplyDelete
  2. Grabe naman itis! :D
    Ang hirap Mam!

    ReplyDelete
  3. it's very interesting..

    ReplyDelete
  4. Mam nang dahil sa info ako'y may nalaman :D
    :)

    ReplyDelete
  5. Woaw!clap clap! A lot of knowledgeable info. !:-D:-D:-D
    It somewhat like it tells us that microprocessor is powerful than microcontroller,but still there's a function of controller that processor can't do like securing its program.
    Still there's a question in my mind,the first microprocessor here was developed by Garrett research in 1968,but what we have discussed is dated in 1969 by Tedd Hoff??

    ReplyDelete
    Replies
    1. Yes, Tedd Hoff is the one who invented the microprocessor. Because,Garrett Research is credited with inventing one of the first complete microprocessors, when it developed the 20-bit MP944 Central Air Data Computer for the US Navy's F-14 Tomcat fighter in 1968-1970.

      you must read the other information here ..

      http://en.wikipedia.org/wiki/Garrett_AiResearch

      http://history-computer.com/ModernComputer/Basis/microprocessor.html

      thank you for your question . :)

      Delete
  6. Hi Mam May Anne . Thank you for the information that you've share . It helps a lot specially to us that take the microphy subject . Thanks .😃😃😃

    ReplyDelete
  7. Hi ma'am. Thanks for the additional knowledge. God blessO:-)

    -partosa jerome.

    ReplyDelete
  8. nice maam . :)) i learn a lot from this blog :))
    keep up the goodwork ! ;)

    ReplyDelete
  9. Thanks for the info maam
    I learn from these


    Bordas

    ReplyDelete
  10. very informative~! ^^ thanks for this..

    ReplyDelete
  11. Thanks for the information :D

    ReplyDelete
  12. Venice Julliane EnriquezSeptember 11, 2014 at 6:30 AM

    Thankyou mam for the informations! Malaking tulong po saming lahat to. God bless po :)

    ReplyDelete
  13. Now I know! :D Thanks For this information! :)

    ReplyDelete
  14. What a new information about the difference between microprocessor and microcontroller ..
    Thank you maam
    (JadeLopez)

    ReplyDelete
  15. it helps me a lot..thank you ;-) !

    ReplyDelete
  16. salmat maam.. para dito:)
    marami akong natutuunan

    ReplyDelete
  17. wow fruitful information puh ha,,,,
    but there are some question that stuck up in my mind,,,,,yes stuck up,,,,,hehehhhe?

    a.mam anu po yung opcode addressing mode operand?elaborate more please....

    and can you elaborate more about the two types of CPU, at anu po yung specific function ng bawat isa in microprocessor?

    question lang kung ikao po mam ang papipiliin which one you will choose,,,,microprocessor or microcontroller?why?

    atska mam mgagamit ba namin or pwede po bang gamitin yung program ng MPLAB, or ASSEMBLER sa paggawa ng program sa microprocessor?

    well,,,,salamat po sa INFO,,,, :) have a good day!

    =SABELLA= "aka jarjar"

    ReplyDelete
  18. very informative, this will help

    ReplyDelete
  19. Nice Two XD !!

    learned a lot from this blog !!!


    #Ramos,Adonis

    ReplyDelete