AMD K6, K6/2, K6/2CXT-Utility SetK6, c't, Andreas Stiller im November 98



     -<[ Translated by Psycho_Clown - http://www.3dnow.net/ ]>-
			-<[ Revised by Scott ]>-



**********************************************************************

SetK6.exe  32-Bit-Version for Win95/98 und Win NT

SetK6D.exe DOS-Version

Direct95.VXD Drivers for Win95/98

DirectNT.SYS Drivers for NT



SetK6 controls and sets the internal processor registers for Write Allocation and Write Combining (only K6/2CXT).  If the processor's BIOS is not aware and does not correctly initialize,  the processor runs on average about five percent more slowly than optimum. 



One should call SETK6 under Windows from the MSDOS Shell as a console application, if one wants to set parameters. 



SetK6, Setk6D without parameters outputs the current status. 



Setk6 /on  :  activate Write Allocation for all memory under Windows.

Setk6 /off :  deactivate Write Allocation 

Setk6 /on xxM: activate the memory to xx MByte or briefly:

Setk6 xxM      with xx: in decimal with attached M, thus e.g.. set 64M (attention without M setk6 interpretes the number in hexadecimal, thus setk6 64 = > setk6 100M) 



in DOS the memory amount must be indicated! 



Extension for the K6/2CXT (newer version of the K6)



The CXT processor supports so-called Write Combining for uncached MEMORY. Concerning this can be managed in particular faster accesses on the Linear Frame Buffer (LFB) of the diagram card (similar to the Pentium II). for this purpose offers the K6/2CXT two Memory Type Range Register (MTRR), which one can adjust to the physical address position and the size of the LFBs. setk6 gets the address position from the PCI header, however several resources can be entered here. 



setk6 /M0:LFB,xxM MTRR0 sets on the first found entry in the header with xxM as size of (default 64M) on attribute WC (Write Combining) 

setk6 /M0:LFB2,xxM MTRR0 sets on the second found entry 

setk6 /M1:LFB,xxM accordingly for MTRR1 



One can explicitly indicate an attribute, e.g. setk6 / M0:LFB, 16m, wc or...,uc (uncached)... ne (NO effect)



In case the entries in the PCI header do not correspond to the actual Framebuffer, one can instead input the adress. 



setk6 / M0:E0000000 or / M0:3584M 



Without specification of the MTRR number setk6 takes the next free MTRR thus: 



setk6 / M:LFB: first free MTRR set on LFB in accordance with PCI headers with a default setting of 64M 



setk6 also outputs the comparison with/without Write Allocation the filling rate (Memset) for 32 KByte a large memory area into the memory. 



by Andreas Stille
