element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Single-Board Computers
  • Products
  • Dev Tools
  • Single-Board Computers
  • More
  • Cancel
Single-Board Computers
Blog What’s the Difference Between a Microprocessor and a Microcontroller?
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Single-Board Computers to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: mrvolt
  • Date Created: 6 Aug 2019 12:17 PM Date Created
  • Views 5986 views
  • Likes 12 likes
  • Comments 11 comments
  • logic
  • soc
  • alu
  • microprocessor
  • dev board
  • microcontroller
  • cpu
  • arduino
Related
Recommended

What’s the Difference Between a Microprocessor and a Microcontroller?

mrvolt
mrvolt
6 Aug 2019

Introduction

 

On its surface, this is a simple question and chances are, if you’re already reading this, you’re smarter than the average electronically inclined bear and already know the answer. For those of you who are still getting a handle on the basics, let’s dive into the details.

 

What is a Microprocessor?

 

Like a brain to a body, a microprocessor is an integral part of any computer system. You can separate the two for sure, but they’re not all that useful on their own. A microprocessor is a central processing unit (CPU) contained entirely within an integrated circuit. At a given clock speed, it reads binary data from external memory into its registers and then executes instructions upon said data before presenting the result as its output.

 

You have pedantic permission to frown at anyone who says they program microprocessors, because that’s nonsense. You may program a microcontroller, or write a program for a certain microprocessor, but that’s it. Microprocessors require external hardware to do meaningful work, the least of which is a place to read data and instructions from (i.e. memory), and a place to send it, such as a serial or parallel bus or back to memory.

 

Microprocessors vary wildly in size and complexity, and of the key separating factors, word length is one with which most people are somewhat familiar. When you talk about a 64 or 32 bit system, your referring to the word length of the processor; that is generally how many bits can be processed in one cycle. Intel genuinely ushered in a new era of computing with the introduction of the venerable 4004 processor in 1971 which had a whopping 4-bit word length. While that doesn’t sound like much, even today “smaller” processors like an 8-bit 6052 can and often do address 16 bits or more, although at the expense of extra clock cycles to do so.

 

Nowadays, you likely won’t encounter a microprocessor outside of “building” a PC as you, carefully, drop it into a socket in a motherboard. However, variants of the 6502 and 8080 and other classic architectures abound, and the hobby of creating your own “personal home-computer” a là the 70’s and 80s is alive and well. If you’re feeling like embarking on an epic computer engineering journey though, you might love James Newman’s MEGAPROCESSOR, which is a fully functional, 16-bit processor scratch-built from individual transistors.

 

image

(Megaprocessor Copyright James Newman)

 

What is a Microcontroller?

 

Microcontroller units (MCU) however, are a complete “computer on a chip” and contain a CPU, as well as various types of ROM, RAM, and other peripherals like an FPU (floating point unit) for faster mathematical operations or a UART (universal asynchronous receiver and transmitter) for handling serial data.

 

As they are nearly fully integrated computers, many MCUs can run with minimal, or no, external components; give ‘em a power source and they’ll happily chug along at a reduced spec. Although you’ll often need to add a few passives as well as an oscillator for ideal clock frequency for peak operation. Either way, this makes development a breeze since your component count is simplified and the chip is designed to be programmed for standalone functionality.

 

While the latest and greatest microcontrollers are increasingly fast, running at hundreds of megahertz with 32-bit architectures, they’re meant to fill a compact, cost effective computing niche. While I would love to play with a 2GHz AVR with 8GB of RAM, it’s more power than I really need (but still want!). Much in the same way that we use bicycles and 18-wheelers for transportation, I wouldn’t want to peddle an engine block across the state, nor would I want to pick up groceries in a big rig. MCUs are great where they are, running microwaves, timing washing machines, and keeping our Casio watches ticking.

 

As an aside: most microcontrollers are of a reduced instruction set computer (RISC) architecture, while “desktop” Intel/AMD x86-based CPUs are often of complex instruction set computer (CISC) architecture. The nitty gritty of the differences between the two is beyond the scope of this article, but given that most mobile devices use ARM-based (RISC) system-on-a-chip (SoC) designs, this means wider understanding, and development for software that runs natively on RISCy hardware is greater than ever.

 

But what about SoCs?

 

If you reach into your pocket and pull out your shiny glass communicator, then you’ve probably heard something about its specs, which includes the processor’s many features which you definitely need to spend an extra $300 to get. While for the sake of marketing simplicity, you often just hear the term “processor,” in reality the Qualcomm Snapdragon 9999 in your phone is really an SoC that has a CPU, ROM, RAM and other useful peripherals like radios or graphical processing units (GPUs). Hmm, sounds like a microcontroller. What gives? SoCs aren’t as specialized as either a microprocessor or microcontroller - quite the opposite. They are often the “kitchen-sink” edition of portable computing, attempting to stuff as many useful features into one component. SoCs may contain a CPU or a Microcontroller, or both. In fact, a common term like “motion co-processor” is just marketing speak for a dedicated microcontroller that handles the real-time, intensive tasks of reading an inertial measurement unit (IMU) and similar sensors.

 

Conclusion

 

I’ll be honest, prior to starting my own electrical engineering journey, these and many other terms were lost on me as pop cultural depictions of technology are often inaccurate at best or aggressively wrong at their worst. Hollywood seems to love using the term “microchip” or “microprocessor” for just about any small component with pins sticking out of it (bonus points for using a full dev board littered with LEDs and still calling it a microchip), but a microprocessor is a specific component and not a catch-all term. I can’t recall ever hearing the word “microcontroller” used on T.V. or in a movie though...

 

(By the way, did you know that if you hot glue a Raspberry Pi to a nuclear warhead and short pins 1 and 5 in morse code to sound out “SHUTDOWN” absolutely nothing happens, because that’s not how any of this works?)*

 

If you’d like to share an analogy with someone who is interested, I particularly like to explain electronics in terms of food: a microprocessor is like a chef, given organized ingredients, she can cook a set number of styles and deliver consistent meals as an output. One piece of the equation. However, a microcontroller is the whole restaurant with the chef, waiters, hosts, cleaning crew, line cooks, etc. necessary for a customer to enjoy a meal.



*You obviously have to use “SUDO SHUTDOWN,” which I can neither confirm nor deny does the trick.

  • Sign in to reply

Top Comments

  • dougw
    dougw over 6 years ago +5
    I appreciate the differences, but I tend to use the terms interchangeably. I am a bit more careful about calling something a microcontroller, but since a microcontroller has a processor in it, I don't…
  • Robert Peter Oakes
    Robert Peter Oakes over 6 years ago +3
    I think you are perhaps a little off with your descriptions Most micro controllers indeed do have rom/ram and flash but nearly always also contain IO like ADC, DAC, GPIO, I2C, etc. To include a math co…
  • clem57
    clem57 over 6 years ago +3
    I agree with balearicdynamics in so far as time has really melded together the technologies. The one thing is whatever it is called, MCU's seem to always involve interfaces like SPI, I2C, ADC, etc while…
  • firstmicroprocessor
    firstmicroprocessor over 5 years ago

    There is tremendous disarray between the microcontroller and microchip. Them two have been utilized progressively. They have a few basic highlights and furthermore have some significant contrasts. Both the incorporated circuit's, for instance, firstmicroprocessor  and microcontroller can't be remarkable by investigating them. They are reachable in different variants starting from 6-pin to as high as 80-100-pins depending upon the highlights.

    i like you article you dliver good information thanks Keep it up

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mrvolt
    mrvolt over 6 years ago in reply to zaknet996

    Funny! Agh, what a terrible typo on my part. 6502 good catch.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • zaknet996
    zaknet996 over 6 years ago

    Thanks for this. I have recently presented to my Tech Club at work very similar information, albeit in a different context! I even used the Megaprocessor and MOnSter 6502 as examples too. However, I am not sure quite what a 6052 microprocessor is image....

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 6 years ago in reply to Robert Peter Oakes

    Peter, I read the one of Microchip only, but taking a look at the other the mood is very similar. I think that this definition is correct only if strictly contextualized. FIrst, they consider the difference only based on the specific chipset (no matter if for marketing reasons they point only on their own products). Instead, we consider one of the other (at least me and some other users in this discussion) then entire board. With board, I mean the smaller indivisible unit from which we start building a project. Maybe Arduino instead of ESP, a PIC or TI MSC and so on for what we call in the grey area, microcontrollers. As well as the Pi, BBB, Banana Pi etc for the other side of the grey area.

    And it is also to consider that the same producer mention limits that are specific to their own architecture. So they answer - correctly - to the question "What do the XXX Producer consider as MCI instead of MPU between the family of their IC?"

     

    By the other side, in a more general view, I consider our visions more correct. The need to make this kind of distinguo not rarely originates just from the fact that the difference is no longer valid in absolute terms.

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 6 years ago

    Here is a couple of links that may show how Microchip and ST Micro look at the differences

    http://ww1.microchip.com/downloads/en/DeviceDoc/MCU_vs_MPU_Article.pdf

     

    https://www.st.com/en/microcontrollers-microprocessors.html

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube