Programmable interval timer
In computing and in embedded systems, a programmable interval timer (PIT) is a counter that generates an output signal when it reaches a programmed count. The output signal may trigger an interrupt.
Common features
PITs may be one-shot or periodic. One-shot timers will signal only once and then stop counting. Periodic timers signal every time they reach a specific value and then restart, thus producing a signal at periodic intervals. Periodic timers are typically used to invoke activities that must be performed at regular intervals.
Counters are usually programmed with fixed intervals that determine how long the counter will count before it signals. The interval determines how long the counter will count before it will output a signal.
IBM PC compatible
The Intel 8253 PIT was the original timing device used on IBM PC compatibles. It used a 1.193182 MHz clock signal (one third of the color burst frequency used by NTSC, one twelfth of the system clock crystal oscillator [1]) and contains three timers. Timer 0 is used by Microsoft Windows (uniprocessor) and Linux as a system timer, timer 1 was historically used for dynamic random access memory refreshes and timer 2 for the PC speaker.[2]
The LAPIC in newer Intel systems offers a higher-resolution (one microsecond) timer.[3] This is used in preference to the PIT timer in for Linux kernels starting with 2.6.18.[4]
See also
- High Precision Event Timer
- Monostable multivibrator
- NE555
References
- ↑ "Bran's Kernel Development Tutorial: The Programmable Interval Timer". Osdever.net. Retrieved 2013-10-30.
- ↑ "Programmable Interval Timer - OSDev Wiki". Wiki.osdev.org. 2012-06-26. Retrieved 2013-10-30.
- ↑ Uwe Walter, Vincent Oberle μ-second precision timer support for the Linux kernel
- ↑ Determining and changing the rate of timer interrupts a guest operating system requests (1005802)
External links
- http://www.luxford.com/high-performance-windows-timers
- https://stackoverflow.com/questions/10567214/what-are-linux-local-timer-interrupts
- Timing on the PC family under DOS