Книга: Real-Time Concepts for Embedded Systems
13.5 Hardware Memory Management Units
13.5 Hardware Memory Management Units
Thus far, the discussion on memory management focuses on the management of physical memory. Another topic is the management of virtual memory. Virtual memory is a technique in which mass storage (for example, a hard disk) is made to appear to an application as if the mass storage were RAM. Virtual memory address space (also called logical address space) is larger than the actual physical memory space. This feature allows a program larger than the physical memory to execute. The memory management unit (MMU) provides several functions. First, the MMU translates the virtual address to a physical address for each memory access. Second, the MMU provides memory protection.
The address translation function differs from one MMU design to another. Many commercial RTOSes do not support implementation of virtual addresses, so this chapter does not discuss address translation. Instead, the chapter discusses the MMU's memory protection feature, as many RTOSes do support it.
If an MMU is enabled on an embedded system, the physical memory is typically divided into pages. A set of attributes is associated with each memory page. Information on attributes can include the following:
· whether the page contains code (i.e., executable instructions) or data,
· whether the page is readable, writable, executable, or a combination of these, and
· whether the page can be accessed when the CPU is not in privileged execution mode, accessed only when the CPU is in privileged mode, or both.
All memory access is done through MMU when it is enabled. Therefore, the hardware enforces memory access according to page attributes. For example, if a task tries to write to a memory region that only allows for read access, the operation is considered illegal, and the MMU does not allow it. The result is that the operation triggers a memory access exception.
- Chapter 13: Memory Management
- Memory Management Unit
- EVENT MEMORY SIZE
- CHAPTER 17 Apache Web Server Management
- TV and Video Hardware
- 12.2.1 Port-Mapped vs. Memory-Mapped I
- Group Management Tools
- User Management Tools
- Displaying Free and Used Memory with free
- Graphical Process and System Management Tools
- Choosing Backup Hardware and Media
- Using the C Programming Project Management Tools Provided with Fedora Linux