Pentium 4 Prefetch as mentioned in processor whispers c't 19/02 S24 (V1.0) and 
      in c't 25/02 S. 24 (V1.1) 
--------------------------------------------------------------------
ctp4.exe      executable programme V1.1
directNT.sys  Driver for NT/win2000/win XP
direc95.vxd   Driver for Win95/98 
ctp4.txt      german text 
readme.txt    this one

!!! Attention: Software only for highly experienced PC users!!!
!!! Use at your oen risc 

ctp4 show the following configuration bits in the maschine specific register 1A0h 
(documented in Pentium 4 Manual Vol 3, Intel 245472xx.pdf) and is also capable 
in changin these bits  (just click on the checkboxes). 


Fast Strings: 'Fast mode of string operations (Rep MOVS ...)',
Old FPU Addr: 'stores address of FPU instructions (compatible to x87, but slow',
Therm Mon:    'Thermal monitor (clock modulation if too hot) active',
Split Lock    'Split lock for Cachelines',
Perf. Mon     'Performance monitor available',
Prefetch      'Prefetch queue active (can''t be switched off with elder P4s)'
L1 Data Cache Context Mode (new in Version 1.1) 

V1.1 now has a Feature Button, showing the CPU Features inclusive teh support of 
the L1 data Cache Context Mode. With this flag it ist possible with the C1 steps 
of the Pentium 4 with Hyper-threading and Xeons to switch teh L1 Data Cache between 
shared and adaptive. The content of CR3 is shown as well.  For switching the Data-cache 
the CR3 contens of both HT-processors must be the same.      
     

If you have a multiprocessor system ctp4 will show a radiogroupbox to choose one
processor. Logical Hyperthreading processors are marked with H-x. Its have the  
same MSR 1A0 as the primary processor, any change will be for both processors simultaniously. 
ctp4 need a special driver: direct95.vxd for Win 95/98 or directNT.sys for 
NT,Win200 or XP. You must have administrator rights for loading directNT.sys!
  
To use ctp4 from the command line it supports the parameters: 
  
 ctp4 /Thermal /E        switch on  Thermal Monitoring 
 ctp4 /NoThermal /E      switch off
 ctp4 /L1D     /E        switch L1DataCache to shared 
 ctp4 /NoL1D   /E        switch L1DatatCache to adaptive 

or in general: ctp4 [#procnr] /the[rmal] /Fas[tstrings] /Old[FPU]
/Spl[itLock] /Pre[fetch] /Per[fmon] /L1D[ata] ...
switsche  feature on and with prefix "No" (i.e. /NoThe) switsches off.
 
/E terminates the programm without messagebox.
  
The difference in performance with/without prefetch is good to see with the 
famous Stream benchmark (http://www.cs.virginia.edu/stream)
 
or the Windows version wstream: 
http://yellow.kreonet.re.kr/pub/tools/benchmark/stream/Contrib/MasonCabot/win32/

Have fun  

Andreas Stiller as@ct.heise.de



