Control Register 1 Logical Address I I I I Segment Page I Byte Index J Ingex Ini ex - .-l J L CD I CD Segment Table * + + , Page Table*
( )I CD ® J. CD __ 0 I ". .- -l CD @ l L..o..- I I Translation- Lookaside
Buffer (TLB) Real Address
*In Main Storage CD Information, which may include portions of the logical address and the segment·table address,
is used to search the TLB.® If match exists, address from TLB is used in forming the real address. 0) If no match exists, table entries in main storage are fetched to translate the address. Resulting value, in conjunction with search information, is used to form an entry in the TLB.
TranslationProcess The translation process, including the effect of
the TLB, is shown graphically in the figure"Translation Process." Inspection of Control Register 0
The interpretation of the logical address for transla
tion purposes is controlled by the segment size and
page size, which are specified by the contents of bit
positions 8-12 of control registerO. If bit positions
8-9 or 11-12 contain an invalid code or if bit10 is
one, a translation-specification exception is recog
nized, and the operation is suppressed.
Segment Table Lookup
The segment-index portion of the logical address is
used to select a segment-table entry that designates
the page table to be used in arriving at the real ad
dress. The address of the segment-table entry is ob
tained by appending six low-order zeros to the con
tents of bit positions 8-25 of control register 1 and
adding the segment index to this value, with the low
order bit position of the segment index aligned with
bit position 29 of the segment-table address.
As part of the segment-table lookup process, the
segment index is compared against the segment-table
length, bits0-7 of control register 1, to establish
whether the addressed entry is within the table.
With 1M-byte segments, entries for all addressable
segments are contained in a table of minimum length
(length code of0). With 64K-byte segments, four
high-order zeros are appended to the contents of bit
positions 8-11 of the logical address, and this ex
tended value is compared against the eight-bit
segment-table length. If the value in the segment
table-length field is less than the value in the corre
sponding bit positions of the logical address, a
segment-translation exception is recognized, and the
unit of operation is nullified.
If the storage address generated for fetching the
segment-table entry refers to a location outside the
main storage of the installed system, an addressing
exception is recognized, and the unit of operation is
suppressed.
Bit 31 of the entry fetched from the segment ta
ble specifies whether the corresponding segment is
available. This bit is inspected, and, if it is one, a
segment-translation exception is recognized, with the
unit of operation nullified. Handling of bit positions
4-7 and29-30 of the segment-table entry depends
on the model: normally a translation-specification
exception is indicated and the unit of operation is
suppressed when they do not contain zeros; howev
er, on some models they may be ignored.
When no exceptions are recognized in the process
of segment-table lookup, the entry fetched from the
segment table designates the length and beginning of
the corresponding page table.
Page Table Lookup
The page-index portion of the logical address, in
conjunction with the page-table address derived
from the segment-table entry, is used to select an
entry from the page table. The page-table-entry ad-
Dynamic Address Translation 61
( )
Buffer (TLB) Real Address
*
is used to search the TLB.
Translation
the TLB, is shown graphically in the figure
The interpretation of the logical address for transla
tion purposes is controlled by the segment size and
page size, which are specified by the contents of bit
positions 8-12 of control register
8-9 or 11-12 contain an invalid code or if bit
one, a translation-specification exception is recog
nized, and the operation is suppressed.
Segment Table Lookup
The segment-index portion of the logical address is
used to select a segment-table entry that designates
the page table to be used in arriving at the real ad
dress. The address of the segment-table entry is ob
tained by appending six low-order zeros to the con
tents of bit positions 8-25 of control register 1 and
adding the segment index to this value, with the low
order bit position of the segment index aligned with
bit position 29 of the segment-table address.
As part of the segment-table lookup process, the
segment index is compared against the segment-table
length, bits
whether the addressed entry is within the table.
With 1M-byte segments, entries for all addressable
segments are contained in a table of minimum length
(length code of
high-order zeros are appended to the contents of bit
positions 8-11 of the logical address, and this ex
tended value is compared against the eight-bit
segment-table length. If the value in the segment
table-length field is less than the value in the corre
sponding bit positions of the logical address, a
segment-translation exception is recognized, and the
unit of operation is nullified.
If the storage address generated for fetching the
segment-table entry refers to a location outside the
main storage of the installed system, an addressing
exception is recognized, and the unit of operation is
suppressed.
Bit 31 of the entry fetched from the segment ta
ble specifies whether the corresponding segment is
available. This bit is inspected, and, if it is one, a
segment-translation exception is recognized, with the
unit of operation nullified. Handling of bit positions
4-7 and
on the model: normally a translation-specification
exception is indicated and the unit of operation is
suppressed when they do not contain zeros; howev
er, on some models they may be ignored.
When no exceptions are recognized in the process
of segment-table lookup, the entry fetched from the
segment table designates the length and beginning of
the corresponding page table.
Page Table Lookup
The page-index portion of the logical address, in
conjunction with the page-table address derived
from the segment-table entry, is used to select an
entry from the page table. The page-table-entry ad-
Dynamic Address Translation 61