an invalid format, or if the value of the
leftmost four bits of the page index exceeds the
value of bits 0-3 of the segment-table entry
(4 ).
8. The location of the swap-table address is
computed by subtracting 4 from the page-table
origin derived from the segment-table entry.
The word at this location, P AGSWP, is fetched
with a key of zero. Execution ends if an
addressing condition is encountered (S.A.l).
9. Eight times the page index is added to bits 8-31
of the swap-table-address word to obtain the
address of the swap-table word. The swap­
table word at the address computed is fetched
with a key of zero. Execution ends if an
addressing condition is encountered. SWPFLG, SWPKEYl, and SWPKEY2 are in bytes 0, 2,
and 3 of the word fetched (S.A.2). 10. Twice the page index is added to the page-table
origin from the segment-table entry to obtain
the address of the page-table entry. The page­
table entry, PAGCORE, is fetched with a key
of zero. Execution ends if an addressing
condition is encountered (S.B.l).
1 1. Execution ends with a program interruption for
a privileged-operation exception if the page­
table entry is valid and has an invalid format
(S.B.2).
12. If the page-table entry is valid, the reference
and change bits of the real storage key are
fetched, and the reference bit in the real
storage key is set to zero. Execution ends if an
addressing condition is encountered. If the
page-table entry is invalid, execution continues
as if real reference-bit and change-bit values of
zero had been fetched (S.B.3).
13. Reference-bit and change-bit values used to
determine the condition-code setting are
obtained by taking the logical OR of the real
reference-bit and real change-bit values and the
virtual reference-bit and virtual change-bit
values, respectively. The swap-table word
previously fetched is updated in storage, with a
key of zero, by computing new values of three
bits. The backup reference-bit value and
backup change-bit value are updated by
logically ORing those values and the values of
the real reference-bit and real change-bit
values, respectively. In addition, the virtual
reference bit of the swap-table word is set to
zero. The swap-table word contains two sets of
virtual and backup reference and change bits.
The value in bit position 20 of the second­
operand effective address determines which set
is used in this step. Figure 10 shows the bit
position in the swap-table word used for each
bit (6).
The condition code is set, and execution of this
function ends with completion of the RESET
REFEREN CE BIT instruction.
Figure 11 summarizes fields used. ! I Bit
Bit Used in Swap Table When
Bit 20 of Second Operand Is: Function Zero One
Backup reference-bit position 4 6
Backup change-bit position 5 7
Virtual reference-bit position 21 29
Virtual change-bit position 22 30 Figure to. Bits Used in Swap Table for RESET REFERENCE BIT
16 Virtual-Machine Assist and Shadow-Table-Bypass Assist
I I SET PSW KEY FROM ADDRESS The SET PSW KEY FROM ADDRESS instruction
is executed for a virtual machine if the virtual- machlne_1lssiSJ_is __ 3 70 instructions, unless (1) a is recognized or (2) the virtual PSW key cannot be
accessed.
The set-PSW-key-from-address function of the
virtual-machine assist is invoked each time a CPU attempts to execute a SET PSW KEY FROM ADDRESS instruction when the problem-state bit
of the real PSW is one. Execution of this function
consists In performing the following steps:
1. If bits 0-3 of control register 6 are not 10XO binary, execution of the set-PSW-key-from­ address function ends, a program' interruption
takes place for a privileged,..operation exception.
and execution of the SET PSW KEY FROM ADDRESS instruction is suppressed (l.A).
2. If an access condition is encountered in
fetching the second halfword of the SET PSW KEY FROM ADDRESS instruction, execution
of this fl.lnction ends with a program interruption for that access exception (loB).
Field Control Address Offset No. of
3. The word MICVPSW, which contains the virtual-PSW address, is fetched with a key of
zero. Execution ends if an addressing
condition is encountered (2).
4. ufthe-virtuat-PSW-,-VMP-SW,--ar-e replaced, with a key of zero, by bits 24-27 of
the second-operand address of the SET PSW KEY FROM ADDRESS instruction. Execution
ends if an addressing condition is encountered
(3).
5. Bits 24-27 of the second-operand address also
replace the PSW key (bits 8 -11) of the real PSW. Execution ends with completion of the SET PSW KEY FROM ADDRESS instruction
and the next instruction is fetched with the PSW key (4).
Figure 12 summarizes the fields used. Name Block Type (Hex) Bytes Contents MICRSEG MICBLOK Real 8 4 Address of real
segment table SEGPAGE SEGTABLE Real 4SX 4 Segment-table entry PAGSWP PAGTABLE Real -4 4 Address of swap table PAGCORE 2PX 2 entry IPAGTABLEIReal I IPage-table I I SWPFLG ISWPTABLEIReai 0 I 1 IBaCkUP bits SWPKEYl SWPTABLEIReal 2 I 1 Low 2K-byte virtual
key SWPKEY2 SWPTABLE Real 3 1 High 2K-byte virtual I I ke I Figure 11. Fields Used in RESET REFERENCE BIT , Field Control Address Offset No. of
Name Block Type (Hex) Bytes Contents MICVPSW MICBLOK Real 0 4 Address of virtual PSW VMPSW VMBLOK Real 0 2 Virtual PSW bits 0-15 Figure 12. Fields Used in SET PSW KEY FROM ADDRESS Virtual-Machine Assist 17
Previous Page Next Page