interruption for the CPU timer has
occurred, the value of theCPU timer has to be replaced, the value
in theCPU timer has to wrap to a
positive value, or theCPU-timer subclass mask has to be set to zero
before theCPU is again enabled for
external interruptions.Otherwise, loops of external interruptions are
formed.
5. The instructionSTORE CPU TIMER may
store a negative value even though
theCPU is enabled for the inter
ruption. Thisis because the CPU timer value may be decremented one
or more times between when instruc
tion executionis begun and when
theCPU timer is accessed. In this
situation, the interruption occurs
when the execution ofSTORE CPU TIMER is completed.
INTERVAL TIMER
The interval timer is a binary counter
that occupies a word at real storage
location80 and has the following
format:IS I o r- 1/300 second I I 23 31
The interval timer is treated as a
32-bit signed binary integer. In the
basic form, the contents of the interval
timer are decremented by one in both bit
positions 21 and 22 every1/50 of a
second, or the interval-timer contents
are decremented by one in both bit posi
tions 21 and 23 every1/60 of a second.
Higher resolution of timing may be
obtainedin some models by counting with
higher frequency in other bit positions.
In each case, the frequencyis adjusted
so that bits to the left of bit position
23 change as if bit position 23 were
being decremented by one every1/300 of
a second. The cycle of the interval
timer is approximately 15.5 hours.
In a configuration with more than oneCPU, each CPU has an interval timer.
The interval timer causes an external
interruption, with bit 8 of the inter
ruption code set to one and bits0-7 set
to zeros. Bits 9-15 of the interruption
code are zeros unless set to ones for
another condition that is concurrently
indicated.
A request for an interval-timer inter\ ruption is generated whenever the I interval-timer value is decremented from
a positive or zero number to a negative
number. The request is preserved and
remains pending in theCPU until it is
cleared by an interval-timer inter
ruption or aCPU reset. The overflow
occurring as the interval-timer value is
decremented from a large negative number
to a large positive number is ignored.
The interval timer is not necessarily
synchronized with theTOO clock.
The interval-timer contents are updated
at the appropriate frequency whenever
other machine activity permits. The
updating occurs only between instruction
executions, except that the interval
timer may be updated between units of
operation of an interruptible instruc
tion, such asMOVE LONG. An updated
interval-timer value is normallyavail
able at the end of each instruction
execution. When the execution of an
instruction,I/O data transmission, or
other machine activity causes updating
to be delayed by more than one period,
the contents of the interval timer may
be decremented by more than one unitin a single updating cycle. Interval-timer
updating may be omitted when such delay
is extreme. The program is not alerted
when omission of updatingcauses the
real-time count to be lost.
When the contents of the interval timer
are fetched by a channel or anotherCPU, or when they are used as the source of
an instruction, the result is unpredict
able. Similarly, storing by a channel
or anotherCPU into the interval timer
causes the contents of the interval
timer to be unpredictable. This unpre
dictability is true even for the case ofCOMPARE AND SWAP or COMPARE DOUBLE AND SWAP when executed by another CPU. The interval timer is not decremented
when the manual interval-timer control
is set to the disable position. The
interval timer is also not decremented
when theCPU is not in the operating
state or when the manual rate control is
set to the instruction-step position.
Depending on the model, the interval
timer mayor may not be decremented when
theTOO clock is in the error, or not-operational state.
When theTOO clock accessed by a CPU is
set or changes state, interruption
conditions pending for the interval
timer mayor may not be recognized for
up to1.048576 seconds after the change.
ProgrammingNotes 1. The value of the interval timer is
accessible by fetching the word at
real location80 as an operand,
provided the location is not
protected against fetching. It may
be changed at any time by storing aChapter 4. Control 4-29
occurred, the value of the
in the
positive value, or the
before the
external interruptions.
formed.
5. The instruction
store a negative value even though
the
ruption. This
or more times between when instruc
tion execution
the
situation, the interruption occurs
when the execution of
INTERVAL TIMER
The interval timer is a binary counter
that occupies a word at real storage
location
format:
The interval timer is treated as a
32-bit signed binary integer. In the
basic form, the contents of the interval
timer are decremented by one in both bit
positions 21 and 22 every
second, or the interval-timer contents
are decremented by one in both bit posi
tions 21 and 23 every
Higher resolution of timing may be
obtained
higher frequency in other bit positions.
In each case, the frequency
so that bits to the left of bit position
23 change as if bit position 23 were
being decremented by one every
a second. The cycle of the interval
timer is approximately 15.5 hours.
In a configuration with more than one
The interval timer causes an external
interruption, with bit 8 of the inter
ruption code set to one and bits
to zeros. Bits 9-15 of the interruption
code are zeros unless set to ones for
another condition that is concurrently
indicated.
A request for an interval-timer inter
a positive or zero number to a negative
number. The request is preserved and
remains pending in the
cleared by an interval-timer inter
ruption or a
occurring as the interval-timer value is
decremented from a large negative number
to a large positive number is ignored.
The interval timer is not necessarily
synchronized with the
The interval-timer contents are updated
at the appropriate frequency whenever
other machine activity permits. The
updating occurs only between instruction
executions, except that the interval
timer may be updated between units of
operation of an interruptible instruc
tion, such as
interval-timer value is normallyavail
able at the end of each instruction
execution. When the execution of an
instruction,
other machine activity causes updating
to be delayed by more than one period,
the contents of the interval timer may
be decremented by more than one unit
updating may be omitted when such delay
is extreme. The program is not alerted
when omission of updating
real-time count to be lost.
When the contents of the interval timer
are fetched by a channel or another
an instruction, the result is unpredict
able. Similarly, storing by a channel
or another
causes the contents of the interval
timer to be unpredictable. This unpre
dictability is true even for the case of
when the manual interval-timer control
is set to the disable position. The
interval timer is also not decremented
when the
state or when the manual rate control is
set to the instruction-step position.
Depending on the model, the interval
timer mayor may not be decremented when
the
When the
set or changes state, interruption
conditions pending for the interval
timer mayor may not be recognized for
up to
Programming
accessible by fetching the word at
real location
provided the location is not
protected against fetching. It may
be changed at any time by storing a