AMD K6, K6/2, K6/2CXT, K6-III-Utility SetK6, c't, Andreas Stiller im M„rz 99 ********************************************************************** SetK6V3.exe 32-Bit-Version fr Win95/98 und Win NT SetK6V3D.exe DOS-Version Direct95.VXD Treiber fr Win95/98 DirectNT.SYS Treiber fr NT SetK6 kontrolliert und setzt die internen Prozessorregister fr Write Allokation und Write Combining (nur K6/2CXT und K6-III). Falls das BIOS den Prozessor nicht kennt und nicht korrekt initialisiert, l„uft der Prozessor im Schnitt etwa fnf 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 fr 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 fr den K6-2/CXT und K6-III K6-2/CXT-und -III-Prozessoren untersttzen sogenanntes Write-Combining fr uncached Memory. Hierber 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 16M) auf Attribut WC (Write Combining) setk6 /M0:LFB2,xxM setzt MTRR0 auf den zweiten gefundenen Eintrag setk6 /M1:LFB,xxM entsprechend fr 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 nicht mit 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 Fllrate (Memset) fr einen 32 KByte groáen Speicherblock in den Speicher aus. Unter Windows sieht der typische Aufruf so aus: setk6 /on /M0:LFB /1:LFB2 und unter DOS bei 64 MByte Speicher setk6D /on:64M /M0:LFB /1:LFB2 Andreas Stiller/c't April 99