MMIX LOGO

MMIX Instruction Set

Table of Content

Content

The LDVTS Instruction

Name:

LDVTS $X,$Y,$Z LDVTS $X,$Y,Z

Timing:

Description:

Load virtual translation table. Modifies the tables used to cache translations from virtual to physical addresses.

MMIX can't afford to perform a lengthy calculation of physical addresses every time it accesses memory. The machine therefore maintains a translation cache (TC), which contains the translations of recently accessed pages. (In fact, there usually are two such caches, one for instructions and one for data.) A TC holds a set of 64-bit translation keys


representing the relevant parts of the page table entry PTE for page v of segment i. Different processes typically have different values of n, and possibly also different values of s. The operating system needs a way to keep such caches up to date when pages are being allocated, moved, swapped, or recycled. The operating system also likes to know which pages have been recently used. The LDVTS instructions facilitate such operations:

LDVTS:"load virtual translation status"

The sum $Y + $Z or $Y + Z should have the form of a translation cache key as above, except that the rightmost three bits need not be zero. If this key is present in a TC, the rightmost three bits replace the current protection code p; however, if p is thereby set to zero, the key is removed from the TC. Register X is set to 0 if the key was not present in any translation cache, or to 1 if the key was present in the TC for instructions, or to 2 if the key was present in the TC for data, or to 3 if the key was present in both. This instruction is for the operating system only. (Changes to the TC are not immediate; so SYNC and/or SYNCD ought to be done when appropriate, as discussed in MMIX-PIPE.)

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email