BYTE-ORIENTED-OPERAND  FACILITY  
The byte-oriented-operand facility is
standard onSystem/370.   This  facility  
permits storage operands of most unpriv
ileged instructions to appear on any
byte boundary.
The facility does not pertain to
instruction addresses or to the operands
forCOMPARE   AND  SWAP  and  COMPARE   DOUBLE   AND  SWAP.  Instructions  must  appear  on  
two-byte integral boundaries. The
rightmost bit of a branch address must
be zero, and the instructionEXECUTE   must  designate  the  target  instruction  at  
an even byte address.COMPARE   AND  SWAP  
must designate a four-byte integral
boundary, andCOMPARE   DOUBLE   AND   SWAP  
must designate an eight-byte integral
boundary.
Programming Note
For fixed-field-Iength operations with
field lengths that are a power of 2,
significant performance degradation is
possible when storage operands are not
positioned at addresses that are inte
gral multiples of the operand length.
To improve performance, frequently used
storage operands should be aligned on
integralboundaries.   ADDRESS  TYPES   For  purposes  of  addressing  main  storage,  
three basic types of addresses are
recognized: absolute, real, and
virtual. The addresses are distin
guished on the basis of the transf
ormations that are applied to the
address duringa   storage  access.  
Address translation converts virtual to
real, and prefixing converts real to
absolute. In addition to the three
basic address types, additional types
are defined which are treated as one or
another of the three basic types,
depending on the instruction and the
current mode.
Absolute Address
An absolute addressis   the  address  
assigned to a main-storage location. An
absolute address is used for a storage
access without any transformations
performed on it.
All CPUs and channels in the configura\   tion  refer  to  a  shared  main-storage  
location by using the same absolute,   address.  Available  main  storage  is  
usually assigned contiguous absolute
addresses startingat   0,   and  the  
addresses are always assigned in
complete 2K-byte blocks on integral
boundaries. When either TESTBLOCK   or  
the storage-key 4K-byte-block facility
is installed, storage is assigned in
complete 4K-byte blocks on integral
boundaries. An exception is recognized
when an attempt is made to use an abso
lute address in a block which has not
been assigned to physical locations.On   some  models,  storage-reconfiguration  
controls may be provided which permit
the operator to change the correspond
ence between absolute addresses and
physical locations. However, at anyone
time, a physical location is not associ
ated with more than one absolute
address.
Storage consisting of byte
sequenced according to their
addresses is referred to as
storage.
Real Address
locations
absolute
absolute
A real address identifies a location in
real storage. When a real address is
used for an access to main storage, it
is converted, by means of prefixing, to
an absolute address.
At any instant there is one real-address
to absolute-address mapping for eachCPU   in  the  configuration.  When  a  real  
address is used bya   CPU   to  access  main  
storage, it is converted to an absolute
address by prefixing. The particular
transformation is defined by the value
in the prefix register for theCPU.   Storage  consisting  of  byte  locations  
sequenced according to their real
addresses is referred to as real
storage.
Virtual Address
A virtual address identifies a location
in virtual storage. When a virtual
address is used for an access to main
storage, it is translated by means of
dynamic address translation to a real
address, which is then further converted
by prefixing to an absolute address.
Primary Virtual Address
A primary virtual address isa   virtual  
address which is to be translated by
means of the primary segment-table
designation. WhenDAS   is  not  installed,  
all logical addresses are treated as
Chapter 3.Storage   3-5  
The byte-oriented-operand facility is
standard on
permits storage operands of most unpriv
ileged instructions to appear on any
byte boundary.
The facility does not pertain to
instruction addresses or to the operands
for
two-byte integral boundaries. The
rightmost bit of a branch address must
be zero, and the instruction
an even byte address.
must designate a four-byte integral
boundary, and
must designate an eight-byte integral
boundary.
Programming Note
For fixed-field-Iength operations with
field lengths that are a power of 2,
significant performance degradation is
possible when storage operands are not
positioned at addresses that are inte
gral multiples of the operand length.
To improve performance, frequently used
storage operands should be aligned on
integral
three basic types of addresses are
recognized: absolute, real, and
virtual. The addresses are distin
guished on the basis of the transf
ormations that are applied to the
address during
Address translation converts virtual to
real, and prefixing converts real to
absolute. In addition to the three
basic address types, additional types
are defined which are treated as one or
another of the three basic types,
depending on the instruction and the
current mode.
Absolute Address
An absolute address
assigned to a main-storage location. An
absolute address is used for a storage
access without any transformations
performed on it.
All CPUs and channels in the configura
location by using the same absolute
usually assigned contiguous absolute
addresses starting
addresses are always assigned in
complete 2K-byte blocks on integral
boundaries. When either TEST
the storage-key 4K-byte-block facility
is installed, storage is assigned in
complete 4K-byte blocks on integral
boundaries. An exception is recognized
when an attempt is made to use an abso
lute address in a block which has not
been assigned to physical locations.
controls may be provided which permit
the operator to change the correspond
ence between absolute addresses and
physical locations. However, at anyone
time, a physical location is not associ
ated with more than one absolute
address.
Storage consisting of byte
sequenced according to their
addresses is referred to as
storage.
Real Address
locations
absolute
absolute
A real address identifies a location in
real storage. When a real address is
used for an access to main storage, it
is converted, by means of prefixing, to
an absolute address.
At any instant there is one real-address
to absolute-address mapping for each
address is used by
storage, it is converted to an absolute
address by prefixing. The particular
transformation is defined by the value
in the prefix register for the
sequenced according to their real
addresses is referred to as real
storage.
Virtual Address
A virtual address identifies a location
in virtual storage. When a virtual
address is used for an access to main
storage, it is translated by means of
dynamic address translation to a real
address, which is then further converted
by prefixing to an absolute address.
Primary Virtual Address
A primary virtual address is
address which is to be translated by
means of the primary segment-table
designation. When
all logical addresses are treated as
Chapter 3.
 
             
            












































































































































































































































































































































































































































































































































































