- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between MMU and MPU
MMU and MPU are memory management hardware used by the CPU. The set of all the logical addresses generated by a program is referred to as a "logical address space". The set of all the physical addresses corresponding to these logical addresses is referred to as a "physical address space". The user program deals with virtual addresses; it never sees the real physical addresses.
Read this article to learn more about MMU and MPU and how they are different from each other.
What is MMU?
MMU (Memory Management Unit) is used for virtual memory and memory protection operations. The runtime mapping from virtual to physical address is done by the MMU which is a hardware device.
MMU uses the following mechanism to convert virtual address to physical address. The value in the base register is added to every address generated by a user process, which is treated as offset at the time it is sent to memory. For example, if the base register value is 10000, then an attempt by the user to use address location 100 will be dynamically reallocated to location 10100.
What is MPU?
MPU (Memory Protection Unit) is generally a part of CPU that is used for memory protection only. It is usually implemented in lowpower processors where the MMU features like virtual memory management are not needed and only memory protection is required.
MPU is primarily used in simple systems because can provide all the necessary characteristics with less complexity and low cost.
Differences between MMU and MPU
The following are the important differences between MMU and MPU −
Key |
MMU |
MPU |
---|---|---|
Definition |
MMU stands for Memory Management Unit. |
MPU stands for Memory Protection Unit. |
Primary Operation |
MMU is used for multiple memory related operations like Virtual Memory, translation of virtual address to physical address and memory protection. |
MPU is used for memory protection only. |
Function |
MMU can perform the function of MPU as well. |
MPU cannot be used to perform the functions of MMU. |
Usage |
Processors running high end Operating systems like Windows, Linux, and Android use MMU. Such processors are called App Processors. |
Processors running RTOS operations like ThreadX use MPU. Such processors are called baseband processors and are useful where 3G/4G protocols are running. |
Bank Switching |
MMU is able to bank switching. |
MPU cannot perform bank switching. |
Cache Control |
MMU can perform cache control operation. |
MPU cannot perform cache control. |
Advancement |
MMU is more advanced hardware. |
MPU is relatively less advanced hardware. |
Overhead |
MMU uses more overhead. |
MPU uses less overhead. |
Conclusion
The most significant difference that you should note here is that the MMU is used for multiple memoryrelated operations like virtual memory, translation of virtual address to physical address and memory protection; while the MPU is used for memory protection only.
- Related Articles
- Difference Between & and &&
- Difference between Voltage Drop and Potential Difference
- Difference between JCoClient and JCoDestination
- Difference between localhost and 127.0.0.1?
- Difference between Process and Thread
- Difference between Bootstrap and AngularJS.
- Difference between C and C++.
- Difference between Java and JavaScript.
- Difference between NodeJS and AngularJS
- Difference between Normalization and Denormalization
- Difference between Servlet and JSP
- Difference between SQL and NoSQL
- Difference between TypeScript and JavaScript
- Difference Between JDBC and Hibernate
- Difference between virtualization and containerization
