Literally speaking, MMU is ‘Memory Management Unit’ while MPU is ‘Memory Protection Unit’. Both of these are specialized hardware which are used by CPU for memory handling. MMU is used for many functions primarily Virtual Memory (i.e. translation of virtual address to physical address) and memory protection. But MPU is used for memory protection only. In that sense, we can think of MMU as super set of MPU.
Processors which need to run high-end operating systems such as Android, Linux, Windows typically have MMU but processors which need to run RTOS such as ThreadX, Nucleus typically have MPU. Let us mention few of the real world examples of the processors with MMU and MPU. Typically, a smart-phone contains two main processors – one which runs high-end OS (e.g. Android) where Apps are running and second which runs baseband RTOS (e.g. ThredX) where 3G/4G protocol stacks are running. First one is called Apps processor while second one is called Baseband processor. Apps processor (e.g. ARM Cortex-A series) has MMU while Baseband processor (e.g. ARM Cortex-R series) has MPU.
A quick analogy can be thought of MMU as ‘swiss army knife’ and MPU as ‘knife’! Basically, MMU implementation in HW much more complex than that of MPU. That’s why many computer systems (such as real time embedded systems) which don’t need Virtual Memory but need memory protection have much simpler MPU instead of full blown MMU.
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 🙂
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Difference between DVD-R and DVD-RW
- Difference between LAN and WAN
- Difference between IoE and IoT
- Difference between SQL and T-SQL
- Difference between DAS and NAS
- Difference between LAN, MAN and WAN
- Difference Between SMO and SEO
- Difference between DFA and NFA
- Difference between IoT and M2M
- Difference between CD-R and CD-RW
- Difference between H.323 and SIP
- Difference between MP4 and MP3
- Difference between T-SQL and PL-SQL
- Difference between IBM DB2 and MS SQL
- Difference between USB 2.0 and USB 3.0
- Difference between Tor and VPN
- Difference between CPU and GPU
- Difference between GSM and LTE
- Difference Between DAS and SAN
- Difference between SDN and NFV