Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between MMU and memory controller

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?

like image 964
Keeto Avatar asked Apr 08 '14 00:04

Keeto


People also ask

What is a MMU controller?

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.

What is the difference between MMU and MPU?

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.

What is MMU in memory management?

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.

What does a memory controller do?

The memory controller is a digital circuit that manages the flow of data going to and from the computer's main memory.


1 Answers

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.

like image 76
Kevin Thibedeau Avatar answered Sep 30 '22 16:09

Kevin Thibedeau