My Take on Memory Design

osd

·

1 min read

From my understanding MMU (Memory Management Unit) is a chip (a micro controller) that contains memory page table, that connects virtual memory to physical memory. There is sometimes TLB (Translation Lookaside Buffer), that keeps most recently used pages, to speed up the process, if there is a lot of memory.

Fun fact: ESP-32 does not have an MMU, but it still could run linux, adapted and non-secure version. It is non-secure because one program would be able to read memory region of another.

That's something that MMU would have taken care of.

From wiki: A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in the page table. It is the smallest unit of data for memory management in a virtual memory operating system.

The mapping from virtual to physical address is done by the memory management unit (MMU) which is a hardware device and this mapping is known as paging technique.

Good reading: https://www.geeksforgeeks.org/paging-in-operating-system/

Also, don't confuse with framebuffer! Wiki: A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM)containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame.