Xilinx MicroBlaze Reference Manual page 70

Hide thumbs Also See for MicroBlaze:
Table of Contents

Advertisement

Recording Page Access and Page Modification
Software management of virtual-memory poses several challenges:
In a virtual-memory environment, software and data often consume more memory than
is physically available. Some of the software and data pages must be stored outside
physical memory, such as on a hard drive, when they are not used. Ideally, the most-
frequently used pages stay in physical memory and infrequently used pages are stored
elsewhere.
When pages in physical-memory are replaced to make room for new pages, it is
important to know whether the replaced (old) pages were modified.
If they were modified, they must be saved prior to loading the replacement (new) pages.
If the old pages were not modified, the new pages can be loaded without saving the old
pages.
A limited number of page translations are kept in the UTLB. The remaining translations
must be stored in the page-translation table. When a translation is not found in the
UTLB (due to a miss), system software must decide which UTLB entry to discard so that
the missing translation can be loaded. It is desirable for system software to replace
infrequently used translations rather than frequently used translations.
Solving the above problems in an efficient manner requires keeping track of page accesses
and page modifications. MicroBlaze does not track page access and page modification in
hardware. Instead, system software can use the TLB-miss exceptions and the data-storage
exception to collect this information. As the information is collected, it can be stored in a
data structure associated with the page-translation table.
Page-access information is used to determine which pages should be kept in physical
memory and which are replaced when physical-memory space is required. System software
can use the valid bit in the TLB entry (TLBHI[V]) to monitor page accesses. This requires
page translations be initialized as not valid (TLBHI[V]=0) to indicate they have not been
accessed. The first attempt to access a page causes a TLB-miss exception, either because
the UTLB entry is marked not valid or because the page translation is not present in the
UTLB. The TLB-miss handler updates the UTLB with a valid translation (TLBHI[V]=1). The set
valid bit serves as a record that the page and its translation have been accessed. The TLB-
miss handler can also record the information in a separate data structure associated with
the page-translation entry.
Page-modification information is used to indicate whether an old page can be overwritten
with a new page or the old page must first be stored to a hard disk. System software can use
the write-protection bit in the TLB entry (TLBLO[WR]) to monitor page modification. This
requires page translations be initialized as read-only (TLBLO[WR]=0) to indicate they have
not been modified. The first attempt to write data into a page causes a data-storage
exception, assuming the page has already been accessed and marked valid as described
above. If software has permission to write into the page, the data-storage handler marks the
page as writable (TLBLO[WR]=1) and returns.
MicroBlaze Processor Reference Guide
UG984 (v2018.2) June 21, 2018
www.xilinx.com
Chapter 2: MicroBlaze Architecture
Send Feedback
70

Advertisement

Table of Contents
loading

Table of Contents