Hardware

Echtzeituhr

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Eine Echtzeituhr oder physikalische Uhr ist eine Uhr, die die physikalische Zeit misst. Der Begriff wird meistens in der Computertechnik bzw. Informatik benutzt, um eine Unterscheidung zu logischen Uhren zu treffen. In diesem Zusammenhang werden Hardware- und Software-Echtzeituhren unterschieden. In einem etwas engeren Sinne sind mit Echtzeituhr (Hardware-)Uhren gemeint, die die Uhrzeit (wie in praktisch allen modernen PCs) auch beim Ausschalten des Geräts behalten bzw. fortschreiben.

  • Eine Hardware-Uhr ist ein Chip, der im wesentlichen wie eine Quarzuhr einen Zähler und einen Taktgeber enthält. Der Zähler wird bei jedem Takt des Frequenzgebers erhöht. Damit die Uhr nicht stehenbleibt, wenn das Gerät ausgeschaltet wird, ist im Gerät ein Energiespeicher untergebracht. Bei modernen PCs ist dies meist eine Lithiumzelle (3 V) auf der Hauptplatine. Bei älteren Hauptplatinen wurde für diesen Zweck ein Nickel-Cadmium-Akku (3,6 V) eingesetzt. Auf den gängigen Uhrenchips ist auch RAM in der Größenordnung von einigen zig Byte untergebracht, der ebenfalls von der Batterie bzw. dem Akku gespeist („gepuffert“) wird. In PCs wird dieser RAM zum Speichern der BIOS-Einstellungen benutzt. Eine Zeitlang wurde auch oft ein Uhrenbaustein mit integrierter Batterie verbaut („Dallas-Chip“), was den Austausch erschwerte bzw. unmöglich machte.
    Um die Zähler einfach zu halten, wird häufig eine Frequenz des Taktgebers von 32,768 kHz gewählt. Damit kann auf einfache Art durch wiederholtes Halbieren eine Frequenz von 1 Hz als Sekundentakt erzeugt werden. Die dabei benötigten Schwingquarze werden als „Uhrenquarz“ in sehr großen Stückzahlen produziert und daher besonders preisgünstig angeboten. Außerdem sind CMOS-Schaltungen bei solch niedrigen Frequenzen besonders stromsparend, was für die Lebensdauer der Batterie bzw. der Akkuladung wichtig ist.

Die meisten Betriebssysteme führen zusätzlich zur meist eingebauten Hardware-Uhr auch eine Software-Uhr, die beim Booten mit der Hardware-Uhr abgeglichen wird. Beim Herunterfahren wird häufig die Hardware-Uhr auf den Wert der Software-Uhr gesetzt.

Die Uhrzeit der Echtzeituhr besteht zunächst nur aus einem Zählerstand (meistens in Sekunden seit der Unix-Epoche). Die Umrechnung in eine für Menschen verständliche Form, sowie die Einbeziehung von Zeitzonen und Schaltjahren wird vom Betriebssystem übernommen. Viele Uhren-Chips jedoch enthalten Register, die die Uhrzeit im vom Menschen gewohnten Format (Sekunden, Minuten, Stunden, Tag, Monat, Jahr (oft nur zweistellig), Wochentag) fortschreiben. Einfache Mikrocontroller-Systeme können direkt mit diesen Werten arbeiten. In komplexeren Systemen (wie Betriebssystemen) werden die ausgelesenen Werte jedoch meist in ein Sekundenformat (wie die Unixzeit) umgewandelt, das erst bei der Ausgabe wieder in ein vom Menschen verständliches Format zurückgewandelt wird.

Es gibt verschiedene Ansätze, die Echtzeituhr eines Computers mit der tatsächlichen Uhrzeit (meistens UTC) zu synchronisieren. Das verbreitetste Verfahren ist, die Uhrzeit von einem oder mehreren Zeitservern zu erfragen und dann durch geschickte Umrechnungen die Verzögerung durch die Übertragungszeit auszugleichen. Siehe dazu Christians Algorithmus und das Network Time Protocol.

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.