Programmable Interval Timer

Programmable Interval Timer

Der Programmable Interval Timer (PIT) war ursprünglich ein spezieller Baustein (Chip) im IBM-PC, der für die zeitliche Steuerung von Prozessen sorgte. Die am häufigsten verwendeten Timer-Chips waren die Typen 8253 und 8254 von Intel mit drei 16-Bit breiten Zählern.

Der PIT wird, unabhängig von der Rechnergeschwindigkeit, stets im Takt von (idealerweise) 1,19318181818… MHz betrieben; das ist 1/3 der Farbträger-Frequenz des NTSC-Fernsehsystems. In den ersten PCs von IBM wurde diese merkwürdig anmutende Frequenz gewählt, da für die Einbindung einer CGA-Grafikkarte, die auch Fernsehgeräte als Monitor verwenden konnte, ohnehin ein Quarz mit einem Vielfachen des Farbträgers vorhanden sein musste. Aus diesem Quarz konnte die PIT-Frequenz dann leicht mittels Frequenzteilung gewonnen werden; diese Vorgehensweise war günstiger als der Einsatz weiterer Quarze, da mit nur einem Quarz in der Schaltung keine störenden Schwebungen das Bildsignal beeinträchtigen können, die dann mit weiterem Schaltungsaufwand herausgefiltert werden müssten. Auch der CPU-Takt der ersten PCs von 4,772727 MHz ergab sich aus einer solchen Erwägung, er betrug 4/3 der Farbträgerfrequenz.

In späteren, schnelleren PCs ohne Fernseher-Anschluss bekam der PIT dann aus Kompatibilitätsgründen einen eigenen Quarz, der weiterhin mit der alten Geschwindigkeit lief. Heute wird meist wieder ein gemeinsamer Quarz verwendet, da verbesserte Frequenzwandler heute relativ problemlos fast jede gewünschte Frequenz aus einer einzigen Bezugsfrequenz gewinnen können.

In heutigen PCs ist die PIT-Funktionalität im Chipsatz des Mainboards untergebracht, er wird über den LPC-Bus an die CPU angebunden.

Der PIT wurde im Ur-PC für

  • Periodische Unterbrechungen auf IRQ 0 (PIT-Timer 0),
  • DRAM-Speicher-Refresh (PIT-Timer 1),
  • Tonerzeugung durch den PC Speaker (PIT-Timer 2)
  • und als Fail-Safe-Timer (NMI)

genutzt. In heutigen PCs leistet der PIT nur noch die Speaker-Ansteuerung und (je nach Betriebssystemversion und Alter des Rechners) die periodischen Unterbrechungen.

Für diese Funktionen existieren die Ports 40Hex bis 43Hex (bzw. 64 bis 67 dezimal), über die der PIT programmiert werden kann. Er kann in verschiedenen Betriebsarten arbeiten. Dabei kann grob zwischen sich immer wiederholenden und einmaligen Abläufen unterschieden werden. Einmalige Abläufe werden in der Praxis jedoch nur sehr selten verwendet und sind nur der Vollständigkeit halber aufgeführt.

Im Standard-Modus zählt der Timer vom Startwert (maximal 65535) auf 0 hinunter und fängt beim folgenden Überlauf wieder von vorne an. Bei jedem solchen Überlauf sendet er ein Signal, den Timer-Interrupt (IRQ0), an den Prozessor. Wenn man die Taktfrequenz durch die Takte bis zum erneuten Überlauf dividiert, erhält man die Frequenz, mit der der IRQ0 erzeugt wird. Unter MS-DOS und älteren Windows-Versionen bis einschließlich Windows 98 und Windows ME wurde der Maximalwert 65535 in den Timer geladen, man erhält somit 1193181,8181… Hz / 65536 = ca. 18,2065 Hz. Es kommt auf diese Art ein Intervall von ca. 55 ms zwischen den Aufrufen des IRQ 0 zustande. Modernere Betriebssysteme (Linux, Windows NT und Abkömmlinge) verwenden kürzere Intervalle zwischen 1 und 10 ms.

Allgemein gibt es in einem heutigen (Jahr 2009) Standard-PC folgende Bausteine für die zeitliche Steuerung von Prozessen:


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Programmable Interval Timer — In computing, a Programmable Interval Timer (PIT) is a counter which triggers an interrupt when it reaches the programmed count. Common Features PITs counters may be one shot or periodic. One shot timers interrupt only once, and then stop… …   Wikipedia

  • Timer — A timer is a specialized type of clock. A timer can be used to control the sequence of an event or process. Whereas a stopwatch counts upwards from zero for measuring elapsed time, a timer counts down from a specified time interval, like a sand… …   Wikipedia

  • High Precision Event Timer — The High Precision Event Timer (HPET, formerly known as Multimedia Timer) is a hardware timer used in computers. It was developed jointly by Intel and Microsoft.Older operating systems cannot use HPET and run only on hardware that has the older… …   Wikipedia

  • High Precision Event Timer — Le HPET (High Precision Event Timer, soit Timer Événementiel de Haute Précision, aussi connu sous le nom de Timer Multimédia[1]) est un timer (minuterie, métronome, chronomètre, horloge, ...) sous forme de composant électronique, présent sur les… …   Wikipédia en Français

  • Intel 8253 — Intel C8253 Temporizador programable de i …   Wikipedia Español

  • List of Intel microprocessors — For a list of Intel s microcontrollers, see List of common microcontrollers#Intel. This generational and chronological list of Intel microprocessors attempts to present all of Intel s processors from the pioneering 4 bit 4004 (1971) to the… …   Wikipedia

  • Intel 8085 — Infobox Computer Hardware Cpu name = Intel 8085 caption = An Intel 8085AH processor. produced start = 1977 produced end = 1990s slowest = 3,5 and 6 | slow unit = MHz manuf1 = Intel and several others arch = pre x86 pack1 = 40 pin DIPThe Intel… …   Wikipedia

  • NEAT chipset — Motherboard with NEAT chipset for the Intel 80286 The NEAT chipset (the acronym standing for New Enhanced AT ) was a 3 chip chipset for IBM PC compatible computers. It was developed by Chips and Technologies.[1] …   Wikipedia

  • WDC 65C22 — The W65C22S Versatile Interface Adapter (VIA) is an I/O device for use with the 65xx series microprocessor family. The W65C22S is compatible with the MOS Technology 6522 and includes functions for programmed control of two peripheral ports (Ports …   Wikipedia

  • Intel 8253 — The Intel 8253 and 8254 are Programmable Interval Timers (PITs), which perform timing and counting functions. They are found in all x86 PCs. History In modern times, this PIT is not included as a separate chip in an x86 PC. Rather, its… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”