Download Print this page

IBM 2030 Manual Of Instruction page 75

Processing unit, field engineering

Advertisement

would probably be in the PSW used by a
supervisor program.
SET STCRAGE KEY INSTRUCTICN
This instruction is used to change
storage keys associated with each
2048 byte block of storage.
Set Storage Key is a privileged
instruction.
Set Storage Key is of the .RR format.
The protection key in bits 8-11 of the
PSW cannot be altered except as a result
of changing the entire PSW.
The entire
PSW is changeable only by the Load PSW
instruction or by an inte.rrupt.
However, the storage keys for each block
of 2048 bytes can be changed by an
instruction known as Set Storage Key.
This instruction sets the storage key
for one block of 2048 bytes.
To set all the storage keys for a 16k
main storage unit would require 8 execu-
tions of the Set Storage Key
instruction.
The set storage key
instruction is of the RR format.
r---------T----T----'
I
Op Code
I
Rl
I
R2
I
_________
~
____
~
___ J
The desired storage key (0-15) is in
bits 24-27 of the general register spec-
ified by the R1 field.
The remainder of
the register is ignored.
Given register 4 (as shown below in
-hex-), the storage key of the 2048 byte
block will be set to 5.
24
31
-~---T---T---T---T----
Register 3
101110101
I
J
I
I
I
--~---~--~--~---~---
The question now arises:
-Which 2048
byte block will have its storage key
set?-
This is determined by the address
in the general register specified by the
R2 field.
r----T---T---'
I
08
I
3
I
5
I
L ____
.!. ___ .!. ___
J
t
t
t
I
I
I
I
I
I
Set
I
I
I
This register
Storage----
J
I
l-----has the address
Key
I
of the 2k block
I
I
Rey is in this
register
Storage addresses in the System/360
are 24 bits long.
General register
capacity is 32 bits.
AS
we discussed
previously, storage addresses are placed
in the low-order 24 bit-positions in a
general register (but positions 8-31).
Because we are concerned only with
2048-position blocks of storage, and not
specific storage addresses, we have to
examine only those bits that define
2048-position blocks.
This information
can be determined from bits 8-20.
Bits
8-20 of 8R of storage addresses would
appear as follows:
8
0000 0000 0000
0000 0000 0000
0000 0000 0001
0000 0000 0001
20
0
1
0
1
=
addresses 0000-2047
=
addresses 2048-4095
=
addresses 4096-6143
=
addresses 6143-8191
Notice that we didn't have to look at
the register positions 0-7 or 21-31.
Bits 8-20 are sufficient to determine
which block of 2048 addresses is to be
used.
A specification is given to the
programmer that requires the four low-
order order bits (28-31) to be zero.
Thus, the structure of data in the
general register as far as the set stor-
age key instruction is concerned is:
o
7 8
20 21
27 28 31
r-------T--------------T-------T----'
IIgnoredlWhich 2k block
I
Ignored
I
00001
L _______
.!. ______________
~
_______ .!. ____ J
Any address can be used, as long as
the four low-order bits are zero.
This
means that the storage key can be set
using any address that is divisible by
16.
1-71

Advertisement

loading

This manual is also suitable for:

System/360 30