and results, and execution times which
are comparable to the propagation delays
between units can cause the actual
sequence to differ considerablY from the
conceptual sequence. In these machines,
special circuitry is employed to detect
dependenciesbetween operations and
ensure thatthe results obtained, as
observed bythe CPU which generates
them, are those that would have been
obtained if the operations had been
performed in the conceptual sequence.
However, otherCPUs and channels may,
unless otherwise constrained, observe a
sequence that differs from the conceptu
al sequence.
Divisible Instruction Execution
It can normally be assumed that the
execution of each instruction occurs as
an indivisible event. However,in actu
al operation, the execution of an
instruction consists ina series of
discrete steps. Depending onthe instruction, operands may be fetched and
stored in a piecemeal fashion, and some
delay may occur between fetching oper
ands and storing results. As a
consequence, intermediate or partially
completed results may be observable by
otherCPUs and by channels. When a program interacts with the opera
tion on anotherCPU or a channel, the
programmay have to take into consider
ation thata single operation may
consist in a series of storage refer
ences, that a storage reference may in
turn consist ina series of accesses,
and that the conceptual and observed
sequences of these accesses may differ.
storage references associated with
instruction execution are of the follow
ing types: instructionfetches, DAT
table fetches, and storage-operand
references. For the purpose of describ
ing the sequence of storagereferences, acceSSes to storage in order to perform ASH translation, PC-number translation,
and tracing are considered to be
storage-operand references.
ProgrammingNote The sequence of execution of a CPU may
differ from the simple conceptual defi
nition in the following ways:• As observed by the CPU itself,
instructions may appear to be
prefetched when different effectiveaddresses are used. (See the
section "Interlocks for VirtualStorage References" in this
chapter.)• • As observed by other CPUs and by
channels, the execution of an
instruction may appear to be
performed as a sequence of piece
meal steps. This is described foreach type of storage reference in
the following sections.
As observed by otherCPUs and by
channels, the storage-operand
accesses associated with one
instruction are not necessarily
performed in the conceptual se
quence.(See the section "Relation
between OperandAccesses" in this
chapter.)• As observed by channels, in certain
unusual situations, the contents of
storage may appear to change and
then be restored to the original
value. (See the section"Storage Change and Restoration for DAT
Associated Access Exceptions" in
this chapter.)
INTERLOCKS FOR VIRTUAL-STORAGE REFERENCES As described in the previous section, CPU operation appears to be performed
sequentially as observed by theCPU itself; the results stored by one
instruction appear to be completed
before the next instruction is fetched.
This appearanceis maintained in over
lapped machines by means of special
circuitry to detect accesses to a common
location by comparing effective
addresses.
For purposes of this definition, the
term"effective address" is used to
denote the address before translation,
if any, regardless of whether the
address is virtual,real, or absolute.
If two effective addresses have the same
value, the effective addresses are said
to be the same even though one may be
real or ina different address space.
When all accesses toa main-storage
location are made by usingthe same
effective address, then the above rule
appears to be strictly maintained, as
observed by theCPU itself. When
different effective addresses are used
to access the common location, the above
rule does not hold in two cases:
1. For some instructions, the defi
nition specifies the results which
must be obtained for overlapping
operands. This definition is specified in terms of the sequence of
the storage accesses; that is, the
results of some or all of the
stores of one operand must be
placed in storage before some parts
or all parts of the other operand
are fetched. Whenthe store and
Chapter 5. Program Execution 5-25
are comparable to the propagation delays
between units can cause the actual
sequence to differ considerablY from the
conceptual sequence. In these machines,
special circuitry is employed to detect
dependencies
ensure that
observed by
them, are those that would have been
obtained if the operations had been
performed in the conceptual sequence.
However, other
unless otherwise constrained, observe a
sequence that differs from the conceptu
al sequence.
Divisible Instruction Execution
It can normally be assumed that the
execution of each instruction occurs as
an indivisible event. However,
al operation, the execution of an
instruction consists in
discrete steps. Depending on
stored in a piecemeal fashion, and some
delay may occur between fetching oper
ands and storing results. As a
consequence, intermediate or partially
completed results may be observable by
other
tion on another
program
ation that
consist in a series of storage refer
ences, that a storage reference may in
turn consist in
and that the conceptual and observed
sequences of these accesses may differ.
storage references associated with
instruction execution are of the follow
ing types: instruction
table fetches, and storage-operand
references. For the purpose of describ
ing the sequence of storage
and tracing are considered to be
storage-operand references.
Programming
differ from the simple conceptual defi
nition in the following ways:
instructions may appear to be
prefetched when different effective
section "Interlocks for Virtual
chapter.)
channels, the execution of an
instruction may appear to be
performed as a sequence of piece
meal steps. This is described for
the following sections.
As observed by other
channels, the storage-operand
accesses associated with one
instruction are not necessarily
performed in the conceptual se
quence.
between Operand
chapter.)
unusual situations, the contents of
storage may appear to change and
then be restored to the original
value. (See the section
Associated Access Exceptions" in
this chapter.)
INTERLOCKS FOR VIRTUAL-STORAGE REFER
sequentially as observed by the
instruction appear to be completed
before the next instruction is fetched.
This appearance
lapped machines by means of special
circuitry to detect accesses to a common
location by comparing effective
addresses.
For purposes of this definition, the
term
denote the address before translation,
if any, regardless of whether the
address is virtual,
If two effective addresses have the same
value, the effective addresses are said
to be the same even though one may be
real or in
When all accesses to
location are made by using
effective address, then the above rule
appears to be strictly maintained, as
observed by the
different effective addresses are used
to access the common location, the above
rule does not hold in two cases:
1. For some instructions, the defi
nition specifies the results which
must be obtained for overlapping
operands. This definition is spec
the storage accesses; that is, the
results of some or all of the
stores of one operand must be
placed in storage before some parts
or all parts of the other operand
are fetched. When
Chapter 5. Program Execution 5-25