Durch die Verwendung von Timer-Bausteinen wurden Probleme mit zu schnellen Anwendungen gelöst. In x86-PCs kam zunächst der Intel-8254-Timer-Bausteine zum Einsatz. Dieser Timer arbeitet mit 18,2 Hz und bietet eine Auflösung von knapp 55 Millisekunden. Mit dem IBM-PC/AT wurde eine Real-Time-Clock (RTC) eingeführt. Der RTC-Chip besitzt eine Auflösung von einer Millisekunde.
Seit der Einführung von ACPI liefert der Power-Management-Timer (PM-Timer)
Zeitinformationen in einem einzigen Buszyklus. Weil der 8254- und der RTC-Chip über I/O-Ports programmiert werden müssen, werden sie heutzutage nicht mehr verwendet. Die Einrichtung eines neuen Interrupts nimmt zu viel Zeit in Anspruch.
Viele, aber nicht alle neuen Computer besitzen darüber hinaus einen High-Precision-Event-Timer (HPET). Dies ist ein eigener Timer-Baustein mit mindestens 10 MHz Takt. Damit ist eine Auflösung von mindestens 100 Nanosekunden gegeben. Höhere Taktraten und Auflösungen dürfen laut Spezifikation implementiert werden.
Der HPET bietet gegenüber dem PM-Timer den Vorteil, dass er 32 unabhängige Uhren besitzt, während der PM-Timer nur eine hat. Dies führt dazu, dass der PM-Timer periodisch, je nach Hardware alle 10 bis 15 ms, Interrupts liefern muss. Falls wartende Timerobjekte vorhanden sind, werden sie per Deferred Procedure Calls (DPC) abgearbeitet. Im Falle von HPET kann
jedes Timerobjekt direkt mit einer eigenen Uhr des HPET gekoppelt werden, so dass bereits die Hardware-Interrupts aperiodisch ausgelöst werden können.
Der Vollständigkeit halber sei noch der APIC-Timer (Advanced Programmable Interrupt Controller) erwähnt. Er befindet sich auf dem Local APIC (LAPIC) jeder CPU seit dem Pentium Pro. Er wird jedoch traditionell von den Betriebssystemen nicht verwendet, da pro CPU ein LAPIC vorhanden ist und die Timer so gut wie nicht zu synchronisieren sind.
Neueste Kommentare
Noch keine Kommentare zu Bugreport: AMDs Dual-Core-Chips mit Zeitproblemen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.