The SPARC MMU can retain translations for several process address spaces at the same time. This significantly improves the context switching between processes. The address space of a process is identified by a context number. The MMU manages multiple contexts including the assignment of contexts to processes, reclamation of unused contexts and the reassignment of contexts. Context numbers are used to index into the context table (Level 1- Page Table) in main memory to find the root of the page table hierarchy for a process.
A page table descriptor (PTD) contains the physical address of a page table and defines the format of entries in the context table, Level-1 and Level-2 page tables. The format of PTD, which has Page Table Pointer (PTP) and Entry Type (ET) parts, as follows:
Page Table Pointer (PTP) is the physical address of the base of a next level page table. The page table pointed to by a PTP must be aligned on a boundary equal to the size of the page table. The size of the three levels of page tables are as follows:
The field distinguishes a Page Table Descriptor (PTD) from a Page Table Entry (PTE). The field values and their meanings are summarized below:
A page table entry (PTE) specifies the physical address as well as the permissions of a page. The PTE format is shown below.
The higher order 24 bits of the 36-bit address are used to find the physical page number. The physical page number appears on the bits 35 through 12 of the physical bus when translation completes.
Cacheable Bit (Bit 7)
Modified Bit (Bit 6)
Referenced Bit (Bit 5)
Access Permissions (Bits 2 -4)
Entry Type (Bits 0 - 1)