Datasheet

High Precision Event Timer Registers
516 Intel® Xeon® Processor D-1500 Product Family
Datasheet - Volume 1 of 4: Integrated Platform Controller Hub
March 2015
Note: Reads or writes to unimplemented timers should not be attempted. Read from any unimplemented
registers will return an undetermined value.
14.1.6 TIMn_COMP—Timer n Comparator Value Register
Address Offset: Timer 0: 108h–10Fh,
Timer 1: 128h–12Fh,
Timer 2: 148h–14Fh,
Timer 3: 168h–16Fh,
Timer 4: 188h–18Fh,
Timer 5: 1A8h–1AFh,
Timer 6: 1C8h–1CFh,
Timer 7: 1E8h–1EFh
Attribute: R/W
Default Value: N/A Size: 64 bit
1 Timer Interrupt Type (TIMERn_INT_TYPE_CNF) — R/W.
0 = The timer interrupt is edge triggered. This means that an edge-type interrupt is generated. If
another interrupt occurs, another edge will be generated.
1 = The timer interrupt is level triggered. This means that a level-triggered interrupt is
generated. The interrupt will be held active until it is cleared by writing to the bit in the
General Interrupt Status Register. If another interrupt occurs before the interrupt is cleared,
the interrupt will remain active.
Timer 4, 5, 6, 7: This bit is Read Only, and will return 0 when read
0Reserved. These bits will return 0 when read.
Bit Description
Bit Description
63:0 Timer Compare Value — R/W. Reads to this register return the current value of the comparator
If Timer n is configured to non-periodic mode:
Writes to this register load the value against which the main counter should be compared for this
timer.
When the main counter equals the value last written to this register, the corresponding
interrupt can be generated (if so enabled).
The value in this register does not change based on the interrupt being generated.
If Timer 0 is configured to periodic mode:
When the main counter equals the value last written to this register, the corresponding
interrupt can be generated (if so enabled).
After the main counter equals the value in this register, the value in this register is increased
by the value last written to the register.
For example, if the value written to the register is 00000123h, then
1. An interrupt will be generated when the main counter reaches 00000123h.
2. The value in this register will then be adjusted by the hardware to 00000246h.
3. Another interrupt will be generated when the main counter reaches 00000246h
4. The value in this register will then be adjusted by the hardware to 00000369h
As each periodic interrupt occurs, the value in this register will increment. When the
incremented value is greater than the maximum value possible for this register (FFFFFFFFh
for a 32-bit timer or FFFFFFFFFFFFFFFFh for a 64-bit timer), the value will wrap around
through 0. For example, if the current value in a 32-bit timer is FFFF0000h and the last value
written to this register is 20000h, then after the next interrupt the value will change to
00010000h
Default value for each timer is all 1s for the bits that are implemented. For example, a 32-bit
timer has a default value of 00000000FFFFFFFFh. A 64-bit timer has a default value of
FFFFFFFFFFFFFFFFh.