Programmable Interval Timer

The Programmable Interval Timer ( PIT) was originally a special module (chip) in the IBM PC, which was responsible for the temporal control of processes. The timer chip, the types most frequently used were 8253 and 8254 from Intel with three 16- bit wide counters.

The PIT is, regardless of the computer's speed, always in time with (ideally) operated 1.19318181818 ... MHz; which is 1/3 of the color subcarrier frequency of the NTSC television system. In the first IBM PC, these strange -looking frequency was chosen because of the involvement of a CGA graphics card that could use as a monitor and television, in any case, a quartz with a multiple of the color subcarrier had to be present. For this crystal the PIT frequency could then be easily obtained by means of frequency division; this approach was cheaper than the use of other crystals, since with only one quartz in the circuit no annoying beats can affect the image signal, which then need to be filtered out with additional circuitry. Also, the CPU clock of the first PCs of 4.772727 MHz resulted from such a consideration, he was 4 /3 of the color subcarrier frequency.

In later, faster personal computers without a TV - connection then for reasons of compatibility of the PIT got its own quartz, which still ran with the old speed. Today mostly a common quartz is used again as improved frequency converter can win almost any desired frequency from a single reference frequency relative ease today.

In today's PCs, the PIT functionality is housed in the chipset of the motherboard, it is connected via the LPC bus to the CPU.

The PIT was in Ur PC for

  • Periodic interrupts on IRQ 0 (PIT timer 0)
  • DRAM refresh (PIT timer 1)
  • Tone through the PC Speaker (PIT timer 2)
  • And as a fail-safe timer (NMI )

Utilized. In today's PCs, the PIT will only last the Speaker control, and ( depending on the operating system version and the age of the computer) the periodic interruptions.

For these functions, the ports 40hex 43hex to exist (or 64 to 67 decimal), over which the PIT can be programmed. It can operate in various operating modes. It can be broadly distinguished between them repetitive and unique sequences. Unique sequences are, however, seldom used in practice and are listed only for completeness sake.

In Standard mode, the timer from the starting value (maximum 65535) counts down to 0 and starts with the following overflow all over again. Wherein each such overflow sends a signal to the timer interrupt ( IRQ0 ) to the processor. When dividing the clock frequency by the clock pulses until the next overflow, gives the frequency with which the IRQ0 is generated. Under MS -DOS and older Windows versions up to and including Windows 98 and Windows ME, the maximum value was 65535 loaded into the timer, thus obtained 1193181.8181 ... Hz / 65536 = about 18.2065 Hz It is in this way an interval of about 55 ms between calls to the IRQ 0 materialize. More modern operating systems (Linux, Windows NT and descendants ) use shorter intervals 1-10 ms.

Generally there are in a today's ( 2009 ) standard PC, the building blocks for the timing of processes:

  • Programmable Interval Timer ( PIT)
  • Real Time Clock ( RTC)
  • Power Management Timer ( PMTMR )
  • Time Stamp Counter (TSC )
  • APIC timer ( Lapić )
  • High Precision Event Timer ( HPET )
  • Digital technology
  • Hardware
  • IBM
662199
de