dress is obtained by appending three low-order zeros
to the contents of bit positions 8-28 of the segment
table entry and adding the page index to this value.
The addition is performed with the low-order bit of
the page-index aligned with bit30 of the page-table
address.
As part of the page-table lookup process, the four
high-order bits of the page index are compared
againstthe page-table length, bits 0-3 of the
segment-table entry, to establish whether the ad
dressed entry is within the table. If the value in the
page-table-length field is less than the value in the
four high-order bit positions of the page-index field,
a page-translation exception is recognized, and the
unit of is nullified.
If the storage address generated for fetching the
page-table entry refers to a location outside the main
storage of the installed system, an addressing excep
tionis recognized, and the unit of operation is sup
pressed.
The entry fetched from the page table indicates
the availability of the page and contains the high
order bits of the real address. The page-invalid bit is
inspected to establish whether the corresponding
page is available. If this bit is one, a page-translation
exception is recognized, and the unit of operation is
nullified. If bit positions 13-14 for 4K-byte pages or
bit position 14 for 2K-byte pages contains one, a
translation-specification exception is recognized, and
the unit of operation is suppressed.
Formation of the Real Address
When no exceptions in the translation process are
encountered, the real page address obtained from
the page-table entry and the byte-index portion of
the logical address are concatenated, with the page
address forming the high-order part. The result
forms the real storage address.
Whenever access to main storage is made during
the address translation process for the purpose of
fetching an entry from a segment or page table, stor
age protection is ignored; that is, the reference is
made as if the storage location containing the
translation-table entry were110t protected against
fetching.
Programming Note
When more than one exception is encountered in the
process of address translation, only the exception
with the highest priority is indicated with the pro
gram interruption. The priority in which exceptions
are recognized is listed in the table"Priorities of .
AccessExeeptions" in the chapter "Interruptions." 62 System/370 Principles of Operation
Addresses Translated
All main storage addresses that are explicitly speci
fied by the program and are used by theCPU to
refer to main storage for an instruction or an oper
and are logical addressesand are subject to dynamic
address translation. Analogously, the corresponding
addresses indicated to the program on an interrup
tion or as the result of executing an instruction are
logical, as are the addresses in control registers10 and 11 designating the starting and ending locations
for program-event recording(PER). Translation is not applied to addresses explicitly
designating keys in storage (operand addresses in
SET STORAGE KEY, INSERT STORAGE KEY,
and RESET REFERENCE BIT) and to quantities
that are formed as storage addresses from the values
designated in the Band D fields of an instruction but
that are not used to address main storage. The latter
include operand addresses in LOAD ADDRESS,
MONITOR CALL, and the shifting and110 in
structions. Similarly, translation is not applied to the
addresses implicitly used by theCPU or channel for
such sequences as interruptions, updating the inter
val timer at location80, address translation, and
logout, including the machine-check-extended
logout address in control register 15. However, when
the program explicitly designates these locations as
the source of an operand or instruction, the address
es are subject to translation.
Dynamic address translation is not applied to the
addresses used by channels to transfer data, channel
command words, or indirect-data-address words.
Similarly, dynamic address translation is not applied
to the I/O-extended-Iogout address at location 172.
The handling of storage addresses associated with
DIAGNOSE is model-dependent.
The processing of addresses, including dynamic
address translation and prefixing, is summarized in
the charts"Types of Addresses" and "Handling of Absolute, real, and logical addresses are distinguished on the
basis of the transformations that areapplied to the address
during a storage access.
Anabsolute address is the address assigned to a main-storage location. An absolute address is used for a storage access
without any transformations performed on it.
Areal address identifies a location in real main storage. When
areal address is used for an access to main storage, it is
converted, by means of prefixing, to anabsolute address.
When alogical address is used for an access to main storage,
it istranslated, by means of dynamic address translation, to
areal address and subsequently is converted, by means of
prefixing, to anabsolute address.
Types of Addresses
to the contents of bit positions 8-28 of the segment
table entry and adding the page index to this value.
The addition is performed with the low-order bit of
the page-index aligned with bit
address.
As part of the page-table lookup process, the four
high-order bits of the page index are compared
against
segment-table entry, to establish whether the ad
dressed entry is within the table. If the value in the
page-table-length field is less than the value in the
four high-order bit positions of the page-index field,
a page-translation exception is recognized, and the
unit of
If the storage address generated for fetching the
page-table entry refers to a location outside the main
storage of the installed system, an addressing excep
tion
pressed.
The entry fetched from the page table indicates
the availability of the page and contains the high
order bits of the real address. The page-invalid bit is
inspected to establish whether the corresponding
page is available. If this bit is one, a page-translation
exception is recognized, and the unit of operation is
nullified. If bit positions 13-14 for 4K-byte pages or
bit position 14 for 2K-byte pages contains one, a
translation-specification exception is recognized, and
the unit of operation is suppressed.
Formation of the Real Address
When no exceptions in the translation process are
encountered, the real page address obtained from
the page-table entry and the byte-index portion of
the logical address are concatenated, with the page
address forming the high-order part. The result
forms the real storage address.
Whenever access to main storage is made during
the address translation process for the purpose of
fetching an entry from a segment or page table, stor
age protection is ignored; that is, the reference is
made as if the storage location containing the
translation-table entry were
fetching.
Programming Note
When more than one exception is encountered in the
process of address translation, only the exception
with the highest priority is indicated with the pro
gram interruption. The priority in which exceptions
are recognized is listed in the table
Access
Addresses Translated
All main storage addresses that are explicitly speci
fied by the program and are used by the
refer to main storage for an instruction or an oper
and are logical addresses
address translation. Analogously, the corresponding
addresses indicated to the program on an interrup
tion or as the result of executing an instruction are
logical, as are the addresses in control registers
for program-event recording
designating keys in storage (operand addresses in
SET STORAGE KEY, INSERT STORAGE KEY,
and RESET REFERENCE BIT) and to quantities
that are formed as storage addresses from the values
designated in the Band D fields of an instruction but
that are not used to address main storage. The latter
include operand addresses in LOAD ADDRESS,
MONITOR CALL, and the shifting and
structions. Similarly, translation is not applied to the
addresses implicitly used by the
such sequences as interruptions, updating the inter
val timer at location
logout, including the machine-check-extended
logout address in control register 15. However, when
the program explicitly designates these locations as
the source of an operand or instruction, the address
es are subject to translation.
Dynamic address translation is not applied to the
addresses used by channels to transfer data, channel
command words, or indirect-data-address words.
Similarly, dynamic address translation is not applied
to the I/O-extended-Iogout address at location 172.
The handling of storage addresses associated with
DIAGNOSE is model-dependent.
The processing of addresses, including dynamic
address translation and prefixing, is summarized in
the charts
basis of the transformations that are
during a storage access.
An
without any transformations performed on it.
A
a
converted, by means of prefixing, to an
When a
it is
a
prefixing, to an
Types of Addresses