Pregunta

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?

¿Fue útil?

Solución

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.

Otros consejos

Memory controller will perform transactions with the memory device{RAM} (typically using the LOAD/STORE commands to fetch data from a word or store data to a word in RAM).

Memory management unit will perform the translation of virtual addresses used on software side to physical addresses present either on RAM or non volatile storage.

When a memory related operation has to be performed, the OS would render virtual address to MMU which will translate it to actual physical address on the device. Later this physical address will be used by Memory Controller to perform the desired transaction.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top