PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MSI manipuliert Zeitmessung in Benchmarks!


Gipsel
2003-05-23, 15:51:07
Die widersprüchlichen Ergebnisse mit den Neo-Boards von MSI haben jetzt eine endgültige Klärung gefunden.

Im Verlauf einer Diskussion im THG-Forum (http://www.tomshardware.de/cgi-bin/community/showthreaded.pl?Cat=&Board=thg_art&Number=121798&page=0&view=collapsed&sb=5&vc=1#Post121798) wurde aufgedeckt, daß MSI bei den Neo-Boards die Zeitmessung per HighPerformanceCounter, dem genauesten auf dem PC zur Verfügung stehenden Zeitmaßstab manipuliert.

Dies ist auch der Grund dafür, daß die meisten Tools die Taktfrequenzerhöhung nicht erkennen. Prinzipiell ist mit einer manipulierten Zeitmessung der Weg für eine gezielte Manipulation von Benchmarkergebnissen beschritten. Dieses überwiegt meiner Meinung nach den Fakt der ungefragten Übertaktung noch bei weitem.

Gipsel

betasilie
2003-05-23, 15:52:43
Das hat mir gestern Abend ein Freund erzählt. Einfach unglaublich. :o

Omnicron
2003-05-23, 16:10:55
Originally posted by betareverse
Das hat mir gestern Abend ein Freund erzählt. Einfach unglaublich. :o

Hoffe nur das andere Hersteller nicht auch noch auf den Zug aufspringen. :bad1:

ow
2003-05-23, 16:50:33
Das gehoert hierzu:


http://www.forum-3dcenter.net/vbulletin/showthread.php?s=&threadid=72801

Bitte dort weiterposten.

*closed*

/edit:
Thread auf Wunsch des Initiators wieder geöffnet, da seiner Meinung nach dieses Topic nicht unbedingt mit og. verlinktem übereinstimmt.

ow
2003-05-23, 19:26:57
Thread auf Wunsch des Initiators wieder geöffnet, da seiner Meinung nach dieses Topic nicht unbedingt mit og. verlinktem übereinstimmt.

Unregistered
2003-05-25, 12:57:03
jetzt nur mal so, was bringt das genau wenn man die zeitmessung verändert ?

GloomY
2003-05-25, 13:01:28
Originally posted by Unregistered
jetzt nur mal so, was bringt das genau wenn man die zeitmessung verändert ? Benchmarks laufen immer entweder nach dem Prinzip ab, dass eine möglichst große Arbeit in einem konstanten Zeitintervall erledigt werden muss oder die Zeit gemessen wird, die zur Erledigung einer konstanten Arbeit benötigt wird.

Wenn ich beides Mal die Zeitmessung manipuliere, kann ich damit auch die Ergebnisse manipulieren.

Unregistered
2003-05-25, 20:44:33
also is Zeitmessung verändern was anderes als FSB anheben oder nich?

Gipsel
2003-05-25, 23:57:49
Originally posted by Unregistered
also is Zeitmessung verändern was anderes als FSB anheben oder nich?
Ja!
Deswegen wurde der Thread auch wieder geöffnet =)

MSI macht jetzt nun beides, wobei die FSB-Erhöhung durch die gleichzeitige Manipulation der Zeitmessung (bzw. einer beliebten Möglichkeit dazu) schwerer festzustellen ist (WCPUID, CPU-Z sowie Intels FrequencyID-Utility zeigen alle keine Erhöhung an).

Weiterhin können damit wie schon erwähnt, Benchmarkwerte verfälscht werden. Im diesem Falle allerdings sogar teilweise zuungunsten von MSI (z.B. Bandbreitenmessung von Sandra) :lol:

Es ist aber zu befürchten, daß dieses Beispiel Schule macht und zukünftig Benchmarks gezielt über die Zeitmessung ausgehebelt werden.

Gipsel

Gast
2003-05-26, 19:40:54
Wie wirkt sich eigentlich die "dynamische" Erhöhung des FSB auf's Overclocken aus, is das ab ner bestimmten Stufe abgeschaltet oder immer da?
kann mir gut vorstellen, das das so manche Probleme mit sich bringt, da man nich genau weiß, wie weit man gehen kann, oder?

Thowe
2003-05-27, 00:39:29
Ich weiss zwar nicht mehr wo der High Performance Counter generiert wird, aber vielleicht greift ja CoreCell nach diesem.

Soweit ich es weiss, wird einfach das Timing Register aus dem Prozessor gelesen.

CoreCell ist ja auch mehr als dynamische Taktanpassung -> http://www.msi.com.tw/html/e_service/techexpress/tech_column/corecell/page1.htm

Und CoreCell steht schon länger auf der Website von MSI, lange bevor THG wieder "Skandale" aufgedeckt hat.

Gipsel
2003-05-27, 10:31:57
Original geschrieben von Thowe
Ich weiss zwar nicht mehr wo der High Performance Counter generiert wird, aber vielleicht greift ja CoreCell nach diesem.

Soweit ich es weiss, wird einfach das Timing Register aus dem Prozessor gelesen.

Und CoreCell steht schon länger auf der Website von MSI, lange bevor THG wieder "Skandale" aufgedeckt hat.

Der PerformanceCounter ist ein programmmierbarer Zähler auf dem Mainboard. Beim Windows-Start (andere Betriebssysteme können das auch) wird der von Windows auf eine genau bekannte Frequenz programmiert (normalerweise etwas über 1MHz). Den Stand, sowie die programmierte Frequenz kann man dann über QueryPerformanceCounter bzw. QueryPerformanceFrequency (per Windows-API, jeweils Int64) abfragen (geht mit etwas mehr Aufwand auch an Windows vorbei).

MSI ändert nun ganz offensichtlich die Frequenz dieses Counters (wahrscheinlich ohne wirkliche Umprogrammierung sondern durch Änderung der Grundfrequenz, aus der dann über programmierbare Teiler die nominelle Frequenz gewonnen wird). Dieses Vorgehen entspricht keiner Spezifikation, alle anderen Mainboards lassen bei Änderung des FSB die PerformanceCounter-Frequenz unangetastet. Das sind normalerweise zwei verschiedene und vollkommen getrennte Frequenzen.

CoreCell gibt es nicht nur auf dem Neo2-Board (865), auch das Neo-Board (875) ist schon damit ausgestattet, allerdings ohne die dynamische Übertaktung. Bei manueller Übertaktung per mitgelieferter Software (CoreCenter), passiert aber das gleiche wie beim Neo2, auch hier wird die PerformanceCounter-Frequenz geändert.

Gipsel

Thowe
2003-05-27, 13:32:32
Original geschrieben von Gipsel
Der PerformanceCounter ist ein programmmierbarer Zähler auf dem Mainboard. Beim Windows-Start (andere Betriebssysteme können das auch) wird der von Windows auf eine genau bekannte Frequenz programmiert (normalerweise etwas über 1MHz). Den Stand, sowie die programmierte Frequenz kann man dann über QueryPerformanceCounter bzw. QueryPerformanceFrequency (per Windows-API, jeweils Int64) abfragen (geht mit etwas mehr Aufwand auch an Windows vorbei).

MSI ändert nun ganz offensichtlich die Frequenz dieses Counters (wahrscheinlich ohne wirkliche Umprogrammierung sondern durch Änderung der Grundfrequenz, aus der dann über programmierbare Teiler die nominelle Frequenz gewonnen wird). Dieses Vorgehen entspricht keiner Spezifikation, alle anderen Mainboards lassen bei Änderung des FSB die PerformanceCounter-Frequenz unangetastet. Das sind normalerweise zwei verschiedene und vollkommen getrennte Frequenzen.

CoreCell gibt es nicht nur auf dem Neo2-Board (865), auch das Neo-Board (875) ist schon damit ausgestattet, allerdings ohne die dynamische Übertaktung. Bei manueller Übertaktung per mitgelieferter Software (CoreCenter), passiert aber das gleiche wie beim Neo2, auch hier wird die PerformanceCounter-Frequenz geändert.

Gipsel

Also kann man eigentlich davon ausgehen, das es bedingt durch die Art und Weise wie CoreCell funktioniert zu der Diskrepanz kommt und vermutlich kein "Betrugsversuch" seitens MSI ist.

Gipsel
2003-05-27, 19:44:18
Original geschrieben von Thowe
Also kann man eigentlich davon ausgehen, das es bedingt durch die Art und Weise wie CoreCell funktioniert zu der Diskrepanz kommt und vermutlich kein "Betrugsversuch" seitens MSI ist.
Das würde ich nicht so sehen. Man muß schon den Willen mitbringen die Frequenz des PerformanceCounters zu ändern. Bei allen anderen Mainboards wird bei FSB-Änderungen ja auch nicht daran gedreht.

Der Grundtakt des FSB und der der programmierbaren Counter auf dem Mainboard (der Perf.Counter ist nur einer davon) sind auf allen anderen mir bekannten Mainboards unabhängig voneinander. Der Sinn besteht ja gerade darin, ein unabhängiges Frequenznormal zur genauen Zeitmessung zu haben. Ich tippe stark darauf, daß MSI mit einem BIOS-Update / Update der CoreCenter Software dieses Verhalten beenden könnte.

Der Grund für MSI war wahrscheinlich erst einmal nur, diese dynamischen Übertaktungen vor den gängigen Tools zu verbergen. Der nächstgrößere Cheat (im Vergleich zur Übertaktung, die ja noch reellen Geschwindigkeitszuwachs bringt) wäre dann die Zeitmessung um ein paar wenige Prozent abweichen zu lassen, sobald ein laufender Benchmark detektiert wird (a la nVidia und 3DMark03).

Gipsel

Thowe
2003-05-27, 19:56:25
Original geschrieben von Gipsel
...

Der Grund für MSI war wahrscheinlich erst einmal nur, diese dynamischen Übertaktungen vor den gängigen Tools zu verbergen. Der nächstgrößere Cheat (im Vergleich zur Übertaktung, die ja noch reellen Geschwindigkeitszuwachs bringt) wäre dann die Zeitmessung um ein paar wenige Prozent abweichen zu lassen, sobald ein laufender Benchmark detektiert wird (a la nVidia und 3DMark03).

Gipsel

Also ein Board was in Benchmarks deutlich schneller ist als solche der Konkurrenz - das sollte jeden auffallen, somal ja der Speichertakt meines Wissens nicht angerührt wird. Wenn CoreCell sich dann aber ausserhalb des FSB bewegt, dann könnte es doch sein, das die Anpassung auch ausserhalb des Counters steht?

Gipsel
2003-05-27, 20:01:21
Original geschrieben von Thowe
Wenn CoreCell sich dann aber ausserhalb des FSB bewegt, dann könnte es doch sein, das die Anpassung auch ausserhalb des Counters steht?

Das verstehe ich nicht so ganz.
Wie bewegt sich CoreCell außerhalb des FSB?

Gipsel

Thowe
2003-05-27, 20:09:53
Original geschrieben von Gipsel
Das verstehe ich nicht so ganz.
Wie bewegt sich CoreCell außerhalb des FSB?

Gipsel

So wie ich das verstanden habe, manipuliert die dynamische FSB-Anpassung (IMHO passt der Name nicht) von CoreCell nur den Prozessor-Takt und setzt diesen somit asynchron zum Rest der Hardware wie PCI, AGP, Speicher.

Gipsel
2003-05-27, 20:20:05
Original geschrieben von Thowe
So wie ich das verstanden habe, manipuliert die dynamische FSB-Anpassung (IMHO passt der Name nicht) von CoreCell nur den Prozessor-Takt und setzt diesen somit asynchron zum Rest der Hardware wie PCI, AGP, Speicher.

Zumindest erzählt das MSI vom Speicher (inwiefern der Chipsatz da mitspielt ist wohl noch zu klären), der FSB muß aber angehoben werden, der Multi ist ja locked. Im Grunde ist aber vollkommen egal, was MSI alles anhebt, der PerformanceCounter sollte davon total unbeeindruckt bleiben, wenn man da nicht nachhilft, da der normalerweise direkt mit der festen Frequenz eines (separaten) Schwingquarzes gefüttert wird.

Gipsel

Thowe
2003-05-27, 20:50:10
Original geschrieben von Gipsel
Zumindest erzählt das MSI vom Speicher (inwiefern der Chipsatz da mitspielt ist wohl noch zu klären), der FSB muß aber angehoben werden, der Multi ist ja locked. Im Grunde ist aber vollkommen egal, was MSI alles anhebt, der PerformanceCounter sollte davon total unbeeindruckt bleiben, wenn man da nicht nachhilft, da der normalerweise direkt mit der festen Frequenz eines (separaten) Schwingquarzes gefüttert wird.

Gipsel

Dahin geht ja meine Überlegung, das die Logic von CoreCell ausserhalb dieses Quarzes liegt, sozusagen. Wenn der Counter am FSB vom Board gebunden ist, der von diesem "Quarz" erzeugt wird und die CPU unabhängig davon läuft, dann würde der Counter zwangsweise falsche Werte liefern.

Gipsel
2003-05-27, 21:36:59
Original geschrieben von Thowe
Dahin geht ja meine Überlegung, das die Logic von CoreCell ausserhalb dieses Quarzes liegt, sozusagen. Wenn der Counter am FSB vom Board gebunden ist, der von diesem "Quarz" erzeugt wird und die CPU unabhängig davon läuft, dann würde der Counter zwangsweise falsche Werte liefern.

Wie soll die CPU denn unabhängig vom FSB laufen? Es ist eher andersrum, MSI koppelt irgendwie Counter, FSB und damit CPU-Takt zusammen, obwohl dies eigentlich nicht sein sollte. Der Counter soll unabhängig von allen anderen Frequenzen konstant laufen.

Für mich sind zwei Szenarien denkbar:

1. MSI generiert aus einem Schwingquarz alle Frequenzen. Anstatt den Counter jedoch mit der Grundfreqenz zu füttern, sitzt dazwischen noch ein PLL, der damit sowohl FSB als auch Counter-Frequenz beeinflußt, die somit immer synchronisiert wären (falsche Zeitmessung bei geändertem FSB). Damit hätte MSI einfach nur einen kleinen Designfehler begangen.
Ist aber unwahrscheinlich, da z.B. bei 133MHz FSB der Counter genau wie bei 200MHz korrekte Werte ausgibt (bis auf die dynamische Anpassung).

2. MSI hat zwischen Schwingquarz und counter einen zusätzlichen programmierbaren PLL zur Frequenzänderung eingebaut, der nun simultan mit dem PLL für den FSB mitgefahren wird. Dann ist prinzipiell auch eine andere Programmierung möglich, um z.B. die Zeitmessung auch gezielt zu manipulieren oder auch das ganze abzuschalten, so daß man immer korrekte Zeiten mißt.

Gipsel

Thowe
2003-05-27, 21:39:54
Also wäre es wohl das sinnigste MSI Antwort zum Thema abzuwarten.

Gast
2003-06-16, 09:29:56
Original geschrieben von Gipsel
Das würde ich nicht so sehen. Man muß schon den Willen mitbringen die Frequenz des PerformanceCounters zu ändern. Bei allen anderen Mainboards wird bei FSB-Änderungen ja auch nicht daran gedreht.

Der Grundtakt des FSB und der der programmierbaren Counter auf dem Mainboard (der Perf.Counter ist nur einer davon) sind auf allen anderen mir bekannten Mainboards unabhängig voneinander. Der Sinn besteht ja gerade darin, ein unabhängiges Frequenznormal zur genauen Zeitmessung zu haben. Ich tippe stark darauf, daß MSI mit einem BIOS-Update / Update der CoreCenter Software dieses Verhalten beenden könnte.

Der Grund für MSI war wahrscheinlich erst einmal nur, diese dynamischen Übertaktungen vor den gängigen Tools zu verbergen. Der nächstgrößere Cheat (im Vergleich zur Übertaktung, die ja noch reellen Geschwindigkeitszuwachs bringt) wäre dann die Zeitmessung um ein paar wenige Prozent abweichen zu lassen, sobald ein laufender Benchmark detektiert wird (a la nVidia und 3DMark03).

Gipsel



Die FSB-Übertaktung ergibt sich nur auf den ersten Testsamples von MSI mit gelötetem BIOS. In den Auslieferungsversionen mit gesockeltem BIOS ist - bei gleicher BIOS-Version! - keine FSB-Übertaktung mehr feststellbar.

Diese Info ist allerdings inoffiziell.