Bugreport: AMDs Dual-Core-Chips mit Zeitproblemen

Mittels des CPU-Befehls RDTSC kann der TSC in die Register EDX und EAX kopiert werden. Diese Form des Zeitstempelns bringt erhebliche Vorteile gegenüber der Verwendung eines externen Bausteins. Solange alle CPU-Kerne mit der gleichen Taktfrequenz arbeiten, liefern die TSCs aller Kerne zum gleichen Zeitpunkt auch den gleichen Wert. Eine geringe Differenz von wenigen Nanosekunden kann dabei sogar vernachlässigt werden.

Im Fall von Cool ’n‘ Quiet laufen die TSCs allerdings sehr schnell auseinander, weil die einzelnen CPU-Kerne des AMD-Prozessors unterschiedliche Taktraten annehmen können. Damit sind sie als Zeitstempelquelle nicht verwendbar. Sind diese Zeitstempel falsch, ist der Audio-Stream bei VoIP-Telefonaten mit Fehlern behaftet. Auf einem Intel-Rechner mit Dual-Core-CPU wird der Stream korrekt ausgegeben. Deutlich ist bei AMD das „Vibrato“ im Rhythmus des Zeitscheibenwechsels von einem Core auf den anderen zu hören.

In diesem Beispiel macht ein Asterisk-Server zunächst eine Ansage und verbindet dann zu einem weiteren Server. Sobald das Audio von einem fremden Server kommt, stammen auch die Zeitstempel von dort, und der Audio-Stream kann vom Empfänger wieder richtig interpretiert werden.

Je nach Anwendungsfall bieten der RDTSC-Befehl einen erheblichen Performance-Vorteil. Dieser Befehl ist nicht privilegiert und kommt direkt von der CPU. Das heißt, jede Anwendung kann ihn im User-Mode nutzen, ohne die Instruction-Pipeline zu verlassen und einen Cache-Miss zu riskieren. Muss die Pipeline ohnehin unterbrochen werden, zum Beispiel zur Synchronisation von Audio und Video in einem Multimedia-Stream, dann ist ein Interrupts generierender moderner externer Baustein, zum Beispiel HPET, günstiger.

Die Performancevorteile des TSC mögen beim Stempeln von UDP-Paketen, wie bei einem VoIP-Server, unerheblich sein. Bei einer Datenbankanwendung, die schon aus Gründen der Dokumentation jede Transaktion stempelt, macht sich die Verwendung der TSCs deutlich positiv bemerkbar.

Die TSCs als extrem performante Zeitquelle haben auch die Hersteller der Betriebssysteme entdeckt und machen davon Gebrauch. Bei AMD-Multiprozessor-Systemen führen sie jedoch zu Fehlern, etwa Abspielen von Sounds in falscher Geschwindigkeit oder extrem langsames Verhalten von Spielen.

Page: 1 2 3 4 5 6

ZDNet.de Redaktion

Recent Posts

Pentesting für Cloud-Sicherheit

NodeZero Cloud Pentesting identifiziert komplexe Schwachstellen in AWS- und Azure-Umgebungen.

6 Tagen ago

Smartphonemarkt wächst voraussichtlich 6 Prozent in diesem Jahr

Zuwächse erzielen allerdings in erster Linie Smartphones mit dem Google-OS Android. 2025 rechnet IDC mit…

6 Tagen ago

Bericht: Neue Finanzierungsrunde bewertet OpenAI mit mehr als 100 Milliarden Dollar

Als Geldgeber sind Apple, Microsoft und Nvidia im Gespräch. OpenAI sucht angeblich frisches Geld zum…

1 Woche ago

Wieviel Datenschutz bietet mein Device wirklich?

BSI veröffentlicht IT-Sicherheitskennzeichen für mobile Endgeräte. Wirtschaft und Zivilgesellschaft konnten Kriterien dafür mit bestimmen.

1 Woche ago

8 von 10 Unternehmen von IT-Angriffen betroffen

Laut Bitkom-Studie beläuft sich der Gesamtschaden auf rund 267 Milliarden Euro. China werde zum Standort…

1 Woche ago

Google schließt vier schwerwiegende Lücken in Chrome

Sie erlauben unter Umständen eine Remotecodeausführung. Updates stehen für Chrome für Windows, macOS, Linux und…

1 Woche ago