LDVTS $X,$Y,$Z LDVTS $X,$Y,Z
Timing:
1υ
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

| 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.) |