
Dienstag, den 11. Juni 2002
|
|
|
Nachschlag zur PCI-Problematik bei VIA und nVidia
Erst vor wenigen Tagen, auf der noch laufenden Computex, hatte ein VIA-Ingenieur zu den bekannten PCI-Problemen der VIA-Chipsätze Stellung bezogen, indem er das Fehlen des PCI-"Bus Parking" in den betroffenen VIA-Southbridges dafür verantwortlich machte. Ein Blick in die PCI-Spezifikationen zeigt, dass besagtes "Bus Parking" eindeutig zur PCI-Spezifikation gehört (und somit keine reine Intel-Entwicklung ist, gleichwohl Intel der Haupt-"Erfinder" des PCI-Bus war) sowie eng mit der Arbitrierung des Busses zusammenhängt. Das bedeutet einerseits, dass VIA ganz offensichtlich diesen Teil des PCI-Standards wissentlich nicht implementiert hat, andererseits verursacht diese Unterlassung noch nicht einmal die Hälfte der Misere, wie jetzt dank erneuter Informationen eines leitenden Mitarbeiters von VIA sowie umfangreicher Benchmarkbemühungen mehrerer Webseiten bekannt wurde.
"Bus Parking" bedeutet lediglich, dass in Idle-Phasen des Busses dennoch ein PCI-Master-Device den Bus belegen ("parken") darf. Dies kann entweder ein vorher festgelegtes Device sein oder das Device, welches zuletzt auf den Bus zugegriffen hatte (was in der PCI-Spezifikation empfohlen wird). Diese Prefetch-Logik (ähnlich dem vorausschauenden Laden von Daten oder Befehlen in den CPU-Cache beim Pentium III Tualatin, Pentium 4 oder AMD-Prozessoren mit Morgan-, Palomino- bzw. Thoroughbred-Core) spart im Erfolgsfall einen Clock-Zyklus, da die Zugriffsanforderung des entsprechenden Devices entfallen kann. Falls ein anderes Device den Zugriff auf den PCI-Bus anfordert, hätte es sich sowieso anmelden müssen, somit wird auch keine Performance verschenkt.
Das Hauptproblem von VIAs PCI-Bus ist jedoch die eigentliche Arbitrierung, d.h. die Verwaltung der Zugriffsanforderungen der verschiedenen PCI-Master-Devices wie RAID-, SCSI- oder Soundkarten sowie die Regelung der gleichzeitigen Nutzung des PCI-Busses, also die Verteilung der Bandbreite, was ein sehr komplexer Vorgang sein kann. Entscheidend ist hier, dass die Umsetzung der Arbitrierung nicht in der PCI-Spezifikation festgelegt wurde.
VIA ist hier einen sehr einfachen Weg gegangen, indem jedem PCI-Master-Device ungeachtet seiner Bedürfnisse lediglich eine starre und unflexible Nutzung des PCI-Bus zugestanden wird, was im extremsten Fall dazu führen kann, dass das PCI-Master-Device bei laufendem Datentransfer einfach vom Bus getrennt wird - somit werden die Probleme mit bestimmten Soundkarten sowie Dateikorruption z.B. beim Packen großer Archive leicht verständlich. Bei hoher PCI-Last schafft es der VIA-Algorithmus schlicht und ergreifend nicht, Bandbreite und Zugriffe dynamisch und bedarfsgerecht zu arbitrieren. Hierdurch erklärt sich auch die schlechte Burst-Performance beim Zugriff auf den Festplattencache. VIA erlaubt max. einen Datenblock von 96 Bytes pro Burstphase, danach wird der Vorgang unterbrochen und eine neue Adresse angefordert, die Performance geht in den Keller. Intel-Chipsätze hingegen können pro Burstzyklus ein Paket von max. 4096 Bytes übertragen. Bleibt festzuhalten, dass Intel diese Vorgänge von Haus aus schon lange ohne Probleme beherrscht und keine Bugfixes oder sonstige Updates benötigt...
...womit wir gleich beim nächsten Kapitel wären. Interessanterweise sind und waren nicht alle Boards mit VIA-Chipsätzen gleichmäßig betroffen - je nach BIOS-Programmierung gelang es den Mainboardproduzenten schon frühzeitig, die Problematik zu mildern oder auch, zum Leidwesen der User, unberücksichtigt zu lassen. Mittlerweile sollten die entsprechenden Einstellungen für den PCI-Bus von allen Herstellern umgesetzt sein, upgedatete 4in1-Treiber sowie spezielle "Performance"-Patches seitens VIA kamen hinzu. Ein weitgehend störungsfreier Betrieb ist damit inzwischen gewährleistet, aber die Burst-Performance kann z.B. immer noch nicht mit Chipsätzen von Intel oder SiS mithalten. Bleibt zu hoffen, dass mit der neuen VT8235-Southbridge diese Probleme endgültig der Vergangenheit angehören werden.
Was hat nun nVidia damit zu tun? Es gibt inzwischen zahlreiche Berichte, dass die Schreibperformance des PCI-Bus der nForce-Chipsätze außerordentlich schlecht sein kann, was insbesondere Nutzer schneller SCSI-Festplatten oder auch eines IDE-RAID-Array beklagen. Ursprünglich waren wohl fast alle nForce-Mainboards der ersten Generation mehr oder weniger betroffen, inzwischen hat Asus das Problem bei seinen Boards wohl mit BIOS-Updates weitgehend in den Griff bekommen, MSI hingegen arbeitet offensichtlich noch daran - zumindest deuten die Informationen dieser englischsprachigen Webseite darauf hin. Demnach wären Abit und Leadtek dieser Problematik bereits frühzeitig halbwegs erfolgreich entgegen getreten. Pikanterweise lesen wir dort auch, dass Intels Rambus-Chipsätze i850 und i860 ein ähnliches Problem hätten, das zu einer Begrenzung der PCI-Write-Performance auf max. 90 MB/s führen solle. Zumindest wären dann aber die ersten BIOSe dieser Boards diesbezüglich bereits optimiert gewesen, sonst hätten sich Serverbetreiber oder Administratoren mit Sicherheit des öfteren beklagt. Generell scheint es ein BIOS-/treiberseitiges Problem zu sein, was sich letztlich auf die hardwareseitige Performance auswirkt. Leider wurde nicht näher auf die mögliche Ursache dieser "Schreibschwäche" eingegangen, aber das Thema wird zunehmend diskutiert und somit werden entsprechende Informationen und weitere Updates und Patches wohl nicht lange auf sich warten lassen. Am wahrscheinlichsten scheint auch hier eine Arbitrierungsproblematik zu sein, die jedoch isoliert die Schreibvorgänge betrifft. [vw]
Weitere Schlagzeilen | 
|