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 🙂
- Difference between PNG and GIF
- Difference between 1G and 2G
- Difference between C and C++
- Difference between ELT and ETL
- Difference between TDM and FDM
- Difference between LED and LCD
- What is the difference between GUI and CUI?
- Difference between CD and DVD
- Difference Between BFS and DFS
- Difference between C and C#
- Difference Between SEO and SEM
- Difference between CRT and LCD
- Difference between OOP and POP
- Difference between MAN and WAN
- Difference between JSP and ASP