2009-06-10 5 views

Antwort

38

http://computer.howstuffworks.com/question319.htm

In Ihrem Computer (wie auch andere Gadgets), die Batterie treibt einen Chip die Real Time Clock (RTC) Chip genannt. Die RTC ist im Wesentlichen eine Quarzuhr , die die ganze Zeit läuft, ob der Computer hat Strom. Die Batterie versorgt diese Uhr. Wenn der Computer bootet, ist ein Teil des Prozesses zu Abfrage der RTC, um die richtige Uhrzeit und Datum zu erhalten. Eine kleine Quarzuhr wie dies könnte für fünf bis sieben Jahre von einer kleinen Batterie laufen. Dann ist es Zeit, die Batterie zu ersetzen.

+0

+1 für das Bit über das Abfragen der RTC beim Booten. –

0

Das Motherboard hat eine Uhr, die tickt. Jeder Tick repräsentiert eine Zeiteinheit.

Um genauer zu sein, ist die Uhr in der Regel ein Quarz, der mit einer bestimmten Frequenz oszilliert; Einige übliche CPU-Taktfrequenzen sind 33,33 und 40 MHz.

+0

Die Echtzeit-Taktfrequenz ist normalerweise völlig unabhängig von der CPU-Taktfrequenz. Meistens so etwas wie 32,768 KHz. –

9

Ihr PC wird eine hardware clock, von einer Batterie gespeist, so dass es auch während der Computer ausgeschaltet ist, hält tickt. Der PC weiß, wie schnell seine Uhr läuft, damit er feststellen kann, wann eine Sekunde vergeht.

Zunächst weiß der PC nicht, wie spät es ist (dh er fängt gerade erst an, von Null zu zählen), also muss die aktuelle Uhrzeit angegeben werden - dies kann in den Einstellungen BIOS eingestellt werden und wird in der CMOS, oder kann über das Internet abgerufen werden (z. B. durch Synchronisierung mit den Uhren bei NIST).

2

Um die Hauptfrage zu beantworten, hat die BIOS-Uhr eine Batterie auf Ihrem Motherboard, wie Jian's Antwort sagt. Das hält Zeit, wenn das Gerät ausgeschaltet ist.

zu beantworten, was ich Ihre zweite Frage denken ist, können Sie die zweite von dem Wert in Millisekunden, indem Sie einen Integer-Division von 1000, wie so erhalten können:

second = (int) (milliseconds/1000); 

Wenn Sie sich fragen, wie wir sind um die Zeit mit dieser Genauigkeit zu erhalten, schauen Sie sich Estebans Antwort an ... der Quarzkristall vibriert in einer bestimmten Zeitperiode, sagen wir 0,00001 Sekunden. Wir machen nur eine Schaltung, die die Schwingungen zählt. Wenn wir 100000 Schwingungen erreicht haben, erklären wir, dass eine Sekunde vergangen ist und aktualisieren die Uhr.

Wir können jede Genauigkeit erhalten, indem wir die Schwingungen auf diese Weise zählen ... jede Genauigkeit, die größer ist als die Schwingungsdauer des von uns verwendeten Kristalls.

+0

zuerst, was ist "Estebans Antwort"? zweitens, ich missverstanden mich Ich frage darüber, wie ich den Timer erzeugen jedes Ereignis 0,001 Ich frage nicht, wie man es benutzt Ich frage, wie wir es machen, wie kann ich die zweite frei teilen, wie ich will? – Sherif

+0

Nun, wenn Sie Teile der Sekunde brauchen, dann verwenden Sie die 1 Sekunde = 1000 Millisekunden Verhältnis ... so, wenn Sie wollen 1/2 Sekunde, seine 500 Millisekunden, wenn Sie wollen 1/5 Sekunden - 200 Millisekunden, 1/10 Sekunden - 100 Millisekunden und so weiter ... –

3

Computer kennen die Zeit, weil, wie Sie, sie eine digitale Uhr haben, die sie von Zeit zu Zeit betrachten.

Wenn Sie einen neuen Computer erhalten oder in ein anderes Land umziehen, können Sie diese Uhr einstellen, oder Ihr Computer kann das Internet nach der Uhrzeit fragen, um zu verhindern, dass das Gerät langsam oder schnell läuft.

Als Benutzer des Computers können Sie die aktuelle Uhrzeit erfragen, oder Sie können den Computer bitten, als Wecker zu fungieren.Manche Computer können sich sogar zu einer bestimmten Zeit einschalten, sich selbst sichern oder mit einem Lieblingsmelodie aufwecken.

Intern kann der Computer die Zeit in Millisekunden, Mikrosekunden oder manchmal sogar Nanosekunden angeben. Dies ist jedoch nicht ganz korrekt, und zwei Computer nebeneinander hätten unterschiedliche Vorstellungen über die Zeit in Nanosekunden. Aber es kann immer noch nützlich sein.

Der Computer kann in der Zukunft einen Alarm für einige Millisekunden setzen und tut dies normalerweise, damit er weiß, wann er aufhören sollte, über sein E-Mail-Programm nachzudenken und etwas Zeit mit seinem Webbrowser zu verbringen. Dann stellt es einen weiteren Alarm ein, so dass es einige Millisekunden später zu Ihrer E-Mail zurückkehrt.

Als Programmierer können Sie diese Einrichtung auch verwenden, zum Beispiel können Sie ein Zeitlimit für ein Level in einem Spiel festlegen, indem Sie einen 'Timer' verwenden. Oder Sie könnten einen Timer verwenden, um zu bestimmen, wann Sie den nächsten Frame der Animation auf dem Display anzeigen sollen - vielleicht 25 Mal pro Sekunde (dh alle 40 Millisekunden).

+1

Ich habe keine digitale Uhr. – Nosredna

+0

mavric tut. Du solltest dich schämen. –

+0

Dies ist eine sehr elegante Möglichkeit, Computer-Zeitmessung für einen Anfänger zu erklären. +1 –

7

Einige rekapitulieren, und einige weitere Informationen:

1) Der Computer liest die Real-Time-Clock beim Hochfahren und verwendet diese Option setzen es interne Uhr des

2) Von da an Der Computer verwendet nur die CPU-Uhr - er liest die RTC nicht (normalerweise).

3) Die interne Uhr des Computers unterliegt Drift - aufgrund von thermischer Instabilität, Stromschwankungen, Ungenauigkeiten beim Finden eines genauen Teilers für Sekunden, Unterbrechungslatenz, kosmischer Strahlung und der Phase des Mondes.

4) Die Größe der Taktverschiebung könnte in der Größenordnung von Sekunden pro Tag liegen (mehrere zehn oder hundert Sekunden pro Monat).

5) Die meisten Computer können mit einem Zeitserver (über das Internet) verbunden werden, um ihre Uhr regelmäßig zurückzusetzen.

6) Die Verwendung eines Zeitservers kann die Genauigkeit innerhalb von einigen zehn Millisekunden (normalerweise) erhöhen. Mein Computer wird alle 15 Minuten aktualisiert.

0

Absolute Zeit wird archaisch mit einem 32-Bit-Zähler der Sekunden von 1970 gemessen. Dies kann das "Problem 2038" verursachen, wo es einfach überläuft. Daher die 64-Bit-Zeit-APIs, die auf modernen Windows- und Unix-Plattformen verwendet werden (dies schließt BSD-basiertes MacOS ein).

Sehr oft interessiert sich ein PC-Benutzer eher für Zeitintervalle als für die absolute Zeit, seit ein tiefgreifendes Ereignis stattgefunden hat. Eine übliche Implementierung eines Computers hat Dinge, die Timer genannt werden, die genau das zulassen. Diese Timer können sogar ausgeführt werden, wenn der PC keine Hardware für den Wake-up-Status abrufen, den Sleep-Modus wechseln oder den Ruhezustand verlassen kann. Intels Prozessor-Dokumente gehen dabei sehr detailliert vor.

Verwandte Themen