Logical Storage Addressing Control . PSW . Control Register 0 Control Register 1 Translation Tables . Segment-Table Entries Page-Table Entries . TrC)nslation .
Types of Translation Translation Process .
Contents I nspection of Control Register 0 Segment Table Lookup.
Page Table Lookup.
Formation of the Real Address
Addresses Translated Dynamic Address Translation Interlocks Between Logical and Real Storage References
.58
.58
.58
.58
.59
.59
.59 .60 .60 .60 .60 .61
.61
.61
.62
.62
.63
.64
.64
.65
.65
.66
.67
.68
.68 Table Manipulation .
Translation-Lookaside Buffer . States of Translation-Table Entries
Use of the Translation-Lookaside Buffer .
Modification of Translation Tables Reference and Change Recording.
Address-Translation Exceptions . Summary of Dynamic Address Translation Formats
Dynamic address translation provides the ability to
interrupt the execution of a program at an arbitrary
moment, record it and its data on an external medi­
um, such as a direct-access storage device, and at a
later time return the program and the data to differ­
ent main-storage locations for resumption of execu­
tion. The transfer of the program and its data be­
tween main and external storage may be performed
piecemeal, and the return of the information to main
storage may take place in response to an attempt by
the CPU to access it at the time it is needed for ex­
ecution. These functions may be performed without
change or inspection of the program and its data, do
not require any explicit program!Ring convention for
the relocated program, and do not disturb the execu­
tion of the program except for the time delay in­
volved.
Address translation is achieved by treating the.
addresses supplied by and available to the program
as logical addresses. These logical addresses are
translated by means of translation tables to real
addresses when storage is addressed. The translation
occurs in blocks of addresses, called pages.
With appropriate support by an operating system,
the dynamic-address-translation facility may be used
to provide to a user a system wherein his main stor­
age appears to be larger than the installed main stor-
age. This apparent main storage is referred to as
virtual storage, and the logical addresses used to
designate locations in the virtual storage are referred
to as virtual addresses. The virtual storage of a user
may far exceed the size of the real main storage of
the installation and normally is maintained on an
external storage medium. Only the most recently
referred-to pages of the virtual storage are assigned
to occupy blocks of real main storage. As the user
refers to pages of his virtual storage that do not ap­
pear in real main storage, they are brought in to re­
place pages in real main storage that are less likely to
be needed. The swapping of pages of storage is per­
formed by the operating system without the user's
knowledge.
In the process of replacing blocks of main storage
by new information from an external medium, it
must be determined which block to replace and
whether the block being replaced should be recorded
and preserved on the external medium. To aid in this
decision process, the key in storage is extended with
a reference bit and a change bit.
Dynamic address translation may be specified for
instruction and data addresses generated by the cen­ tral processing unit (CPU), but is not available for
the addressing of data and of control words in I/O operations. To facilitate I/O operations in a virtual-
Dynamic Address Translation 57
Previous Page Next Page