
Rev. 5.00, 09/03, page 55 of 760
Section 3 Memory Management Unit (M MU)
3.1 Overview
3.1.1 Features
The SH7709S has an on-chi p memory management unit (MMU ) that implements address
translation. The SH7709S features a resident translation look-aside buffer (TLB) that caches
information for user-created address translation tables located in external memory. It enables high-
speed translation of virtual addresses into physical addresses. Address translation uses the paging
system and supports two page sizes (1 kbytes and 4 kbytes). The access right to virtual address
space can be set for privil eged and user modes to provide me mor y protection.
3.1.2 Role of MMU
The MMU is a feature designed to make efficient use of physical memory. As shown in figure 3.1,
if a process is smaller in size than the physical memory, the entire process can be mapped onto
physical memory. Howe ver, if the process increases in size to the extent that it no lo nger fits into
physical memory, it becomes necessary to partition the process and to map those parts requiring
execution onto memory as occasion demands ((1)). Having the process itself cons ider this
mapping onto physical memory would impose a large burden on the process. To lighten this
burden, the idea of virtual memory was born as a means of performing en bloc mapping onto
physical memory ((2)). In a virtual memory system, substantially more virtual memory than
physical memory is provided, and the process is mappe d onto this virtual memory. Thus a process
only has to consider operation in virt ual memory. Mapping from virtual memory to physical
memory is handled by the MMU. The MMU is normally controlled by the operating system,
switching physical memory to allow the virtual memory required by a process to be mapped onto
physi cal m emory in a smooth fash i on. Switching of physical m emory is carried out via secondar y
storage, etc.
The virtual memory s ystem that came into being in this way is pa rticularly effective in a time-
sharing system (TSS) in which a number of processes are running simultaneously ((3)). If
processes r unning in a TSS had t o take mapping onto virtual me mor y i nto considerati on whil e
runni ng, it wo uld not be possible to incre ase effici ency. Virtual memory is thus used to r educe this
load on the individual processes and so improve efficiency ((4)). In the virtual memory system,
virtual memory is allocated to each process. The task of the MMU is to perform efficient mapping
of these virtual memory areas onto physical memory. It also has a memory pr otect ion feature that
prevents one process from inadvertently accessing another process’s physical memory.
When address translation from virtual memor y to physical memory is performed using the MMU,
it may occur that the relevant translation information is not recorded in the MMU, with the result
that one process may inadvertently access the virtual memory allocated to another process. In this