Mainboards, BIOS, Prozessoren, RAM 27.294 Themen, 124.102 Beiträge

!!!Wichtiger Hinweis!!! für AMD User mit weniger aktuellen Board

Tim / 3 Antworten / Baumansicht Nickles

Wichtiger Hinweis für AMD User mit alten Board:
Write Allocation und Write Combining:
Bei meinem alten System (Amd K6-233MHz), war anzunehmen, daß die internen Prozessor Register nicht vom BIOS auf Write Allocation gesetzt werden.
Dafür gab es dann, das AMD Utility (ENWA.EXE), daß dann, in der Autoexec.bat eingebunden, eine Performancesteigerung von ca. 5% zur Folge hatte.
Nach einem BIOS Update v2.6 auf v2.8, habe ich mit einem K6-2/333MHz, der jetzt mit 5.5x66MHz (366MHz) wunderbar funktioniert, aufgerüstet (offizieller Support der v2.8 nur bis 300MHz).
Das Gigabyte GA586HX2 – BIOS v2.8 gibt es bis jetzt eigenartigerweise nur auf der deutschen Site.
Nur die Systemperformance hat sich nicht auf das erwartete Niveau gesteigert.
Da aber die CPU sogar mit „Amd K6-3D/366MHz“ identifiziert wurde, nahm ich an, das die vorhandenen 128MB-EDO RAM’s, der Flaschenhals waren, die bei mir insgesamt aus 6 Modulen bestehen (mehr SIMM‘s, längere Signalwege).
Da das BIOS relativ neu ist, nahm ich an, das „Write Allocate“ und „Write Combining“ des AMD’s enable sind.
Dem war nicht so; vielleicht geht das per BIOS (in Verbindung mit alten Chipset) nicht, oder es ist ein Versäumnis von seitens Gigabyte?
Nach dem ich das c’t Tool SetK6d.exe durch Zufall gefunden hatte, konnte ich damit die CPU Register auf Write Allocate und Write Combining setzen. (Write Combining nur mit neuen AMD’s: Kennung Amd K6-2/CXT.)
Mit beiden Funktionen zusammen hatte ich eine unglaubliche Performancesteigerung von sogar 10% bis 15% bei allen Anwendungen.
(OpenGL/Direct3D Games – Windows/Office/2D-Grafik Programme.)
Also, auch mit neuem BIOS unbedingt die CPU Einstellungen mit „SetK6“ überprüfen und gegebenenfalls auch setzen (wird in die Autoexec.bat eingebunden). Es lohnt sich!!
Das Tool gibt es auf dem c’t Magazin / Heise-Verlag Server zum download mit Readme File.
Wer mit bestimmten Einstellungen des Tools experimentiert, und viel Leistung damit erbringt,
könnte mir, ich würde mich freuen, diese Einstellungen übermitteln.
Gruß Tim

(Tim)

Antwort:
Direkte Adresse:
ftp://ftp.heise.de/pub/ct/pcconfig/setk6v2.zip
(SetK6 download: ftp://ftp.heise.de/pub/ct/pcconfig/setk6v2.zip )

Antwort:
Was sind denn die Einstellungen für's Write-Combining? Die Größe des Grafikkarten-RAMs?
(volker )

Antwort:
Erklärung:
SetK6 kontrolliert und setzt die internen Prozessorregister für
Write Allokation und Write Combining (nur K6/2CXT). Falls das BIOS
den Prozessor nicht kennt und nicht korrekt initialisiert, läuft
der Prozessor im Schnitt etwa fünf Prozent langsamer als nötig.
Als Konsol-Applikation sollte man SETK6 unter Windows aus der
MSDOS-Shell aufrufen, falls man Parameter übergeben will.
SetK6, Setk6D ohne Parameter gibt den aktuellen Zustand aus.
Setk6 /on : aktiviert es unter Windows die Write-Allocation fr
den gesamten Speicher.
Setk6 /off : deaktiviert Write-Allocation
Setk6 /on xxM: aktiviert den Speicher bis xx MByte oder kurz:
Setk6 xxM mit xx: dezimal mit angehängten M, also z.B.
set 64M (Achtung ohne M interpretiert setk6 die
Zahl hexadezimal, also setk6 64 => setk6 100M)
unter DOS muß der Speicherbereich angegeben werden !
Erweiterung für den K6/2CXT (neuere Version des K6)
Der CXT-Prozessor unterstützt sogenanntes Write-Combining für
uncached Memory. Hierber läßt sich insbesondere ein schnellerer
Zugriff auf den Linearen Frame Buffer (LFB) der Grafikkarte
bewerkstelligen (ähnlich wie beim Pentium II). Zu diesem Zweck
bietet der K6/2CXT zwei Memory Type Range Register (MTRR), die man auf
die physischen Adreßlage und die Größe der LFBs einstellen kann.
setk6 holt sich die Adreßlage aus dem PCI-Header, hier k”nnen
allerdings mehrere Ressourcen eingetragen sein.
setk6 /M0:LFB,xxM setzt MTRR0 auf den ersten gefundenen Eintrag im
Header mit xxM als Größe (Default 64M) auf
Attribut WC (Write Combining)
setk6 /M0:LFB2,xxM setzt MTRR0 auf den zweiten gefundenen Eintrag
setk6 /M1:LFB,xxM entsprechend für MTRR1
Man kann explizit ein Attribut angeben, z.B.
setk6 /M

bei Antwort benachrichtigen
SetK6 download: ftp://ftp.heise.de/pub/c Tim „!!!Wichtiger Hinweis!!! für AMD User mit weniger aktuellen Board“
Optionen

Direkte Adresse:
ftp://ftp.heise.de/pub/ct/pcconfig/setk6v2.zip
(SetK6 download: ftp://ftp.heise.de/pub/ct/pcconfig/setk6v2.zip )

bei Antwort benachrichtigen
Volker Tim „!!!Wichtiger Hinweis!!! für AMD User mit weniger aktuellen Board“
Optionen

Was sind denn die Einstellungen für's Write-Combining? Die Größe des Grafikkarten-RAMs?
(volker )

bei Antwort benachrichtigen
Tim Volker „!!!Wichtiger Hinweis!!! für AMD User mit weniger aktuellen Board“
Optionen

Erklärung:
SetK6 kontrolliert und setzt die internen Prozessorregister für
Write Allokation und Write Combining (nur K6/2CXT). Falls das BIOS
den Prozessor nicht kennt und nicht korrekt initialisiert, läuft
der Prozessor im Schnitt etwa fünf Prozent langsamer als nötig.
Als Konsol-Applikation sollte man SETK6 unter Windows aus der
MSDOS-Shell aufrufen, falls man Parameter übergeben will.
SetK6, Setk6D ohne Parameter gibt den aktuellen Zustand aus.
Setk6 /on : aktiviert es unter Windows die Write-Allocation fr
den gesamten Speicher.
Setk6 /off : deaktiviert Write-Allocation
Setk6 /on xxM: aktiviert den Speicher bis xx MByte oder kurz:
Setk6 xxM mit xx: dezimal mit angehängten M, also z.B.
set 64M (Achtung ohne M interpretiert setk6 die
Zahl hexadezimal, also setk6 64 => setk6 100M)
unter DOS muß der Speicherbereich angegeben werden !
Erweiterung für den K6/2CXT (neuere Version des K6)
Der CXT-Prozessor unterstützt sogenanntes Write-Combining für
uncached Memory. Hierber läßt sich insbesondere ein schnellerer
Zugriff auf den Linearen Frame Buffer (LFB) der Grafikkarte
bewerkstelligen (ähnlich wie beim Pentium II). Zu diesem Zweck
bietet der K6/2CXT zwei Memory Type Range Register (MTRR), die man auf
die physischen Adreßlage und die Größe der LFBs einstellen kann.
setk6 holt sich die Adreßlage aus dem PCI-Header, hier k”nnen
allerdings mehrere Ressourcen eingetragen sein.
setk6 /M0:LFB,xxM setzt MTRR0 auf den ersten gefundenen Eintrag im
Header mit xxM als Größe (Default 64M) auf
Attribut WC (Write Combining)
setk6 /M0:LFB2,xxM setzt MTRR0 auf den zweiten gefundenen Eintrag
setk6 /M1:LFB,xxM entsprechend für MTRR1
Man kann explizit ein Attribut angeben, z.B.
setk6 /M0:LFB,16M,WC oder ...,UC (uncached) ...NE (No effect)
Falls die Einträge im PCI-Header nichtmit dem tatsächlichen
Framebuffer übereinstimmen, kann man statt LFB auch die Adresse
eingaben, also
setk6 /M0:E0000000 oder /M0:3584M
Ohne Angabe der MTRR-Nummer nimmt setk6 das nächste freie MTRR
also:
setk6 /M:LFB : erster freies MTRR wird auf LFB gemäß PCI-Header gesetzt
mit Defaultgröße 64M
setk6 gibt auch zum Vergleich mit/ohne Write-Allokation die
Fllrate (Memset) fr einen 32 KByte groáen Speicherblock in den
Speicher aus.
Bei 128MB wäre das hier ein Beispiel:
C:\Windows\setk6d /on:128M /M0:LFB,128M
(Tim )

bei Antwort benachrichtigen