Basically, a microcontoller (µC) contains not only processing unit but small amount of memory (ROM, RAM etc.), few IO ports for peripherals, timer etc. We can think of microcontoller as a mini computer. But a microprocessor (µP) contains only processing unit which is quite powerful in terms of computing. To make use of microprocessor (µP), one needs extra hardware chips such as memory (RAM), peripheral boards, system bus etc. It means that µP cannot be used stand alone.
In that sense, microcontoller can be called a SoC (System on Chip) that is built typically for embedded system use. One way to look at µC is a complete ‘Chip‘ which contains other necessary chips to perform few specialized tasks which are characteristics of a typical embedded system. While µP is a processing unit ‘Chip‘ which is quite powerful and complex that is typically used for general purpose computing. Due to limited processing characteristics, µC is typically cheaper than µP. Besides, µC is typically quite compact when compared with µP. Examples of µC are ARM Cortex-M series, Intel 8051 etc. Examples of µP are ARM Cortex-A series, Intel Pentium series etc.
We can find the use of µC in home appliances such as Washing Machine, Ovens etc. while we can find the use of µP in desktop computers, laptops etc. It’s not the question of which one is better. Instead, it’s question of what’s the need of a system. If someone is devising an embedded system where specific and customized tasks need to be done, picking µC is a typical choice. On the contrary, if someone is devising a general purpose computing device, picking µP is a typical choice.
Please do Like/Share if you find the above useful. Also, please do leave us comment for further clarification or info. We would love to help and learn 🙂
- Difference between ++*p, *p++ and *++p
- What is the difference between GUI and CUI?
- What's difference between MMU and MPU?
- Web 1.0, Web 2.0 and Web 3.0 with their difference
- What’s difference between The Internet and The Web ?
- Difference between SQL and NoSQL
- What's difference between CPU Cache and TLB?
- Difference between while(1) and while(0) in C language
- Difference between x++ and x=x+1 in Java
- Difference between Where and Group By
- Difference between AES and DES ciphers
- Difference between JSON and XML
- Difference Between HTML and ASP
- Difference between SSH and Telnet
- Difference between ODBC and JDBC