What is the role of memory controllers and how are they different from the MMU inside the processor? is it that the MMU job is to translate virtual addresses to physical ones (among other things) and send this physical address to the memory controller that sends specific signals to the DRAM and return the result to the MMU? or is the memory controller part of the MMU?
A memory management unit (MMU) is a computer hardware component that handles all memory and caching operations associated with the processor. In other words, the MMU is responsible for all aspects of memory management.
They differ in terms of computational scale: MCUs are for lightweight computing where the OS is implemented on-chip, while an MPU is operating with much higher computational power and much larger applications.
The Memory Management Unit (MMU) is responsible for the translation of virtual addresses used by software to physical addresses used in the memory system. The MMU contains the following: The table walk unit, which contains logic that reads the translation tables from memory.
The memory controller is a digital circuit that manages the flow of data going to and from the computer's main memory.
An MMU traditionally would be responsible for handling virtual memory and cache. The memory controller would handle the physical signalling involved in communicating to external memory. Typically the MMU is tightly coupled to the processor core while the memory controller is a peripheral on an internal bus.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With