þþþ Fast'n'Slow þþþ 0.02 beta This program is Freeware. You can use and distribute it freely. This is BETA release, it means program may contain some bugs. Purpose of program: ~~~~~~~~~~~~~~~~~~~ FAS can: 1. Speed up some systems with Cyrix 6x86, 5x86 CPUs by Cyrix, IBM, SGS Thompson and 486DX4 by Texas Instruments on 5-10% via enabling "no LOCK" during bus cycles. 2. Speed up some systems with AMD K6 CPUs via enabling WRITE ALLOCATE for that BIOSes, that not support this feature of K6. 3. Slow down your computer via disabling L1 cache. It may be useful to run some older programs (games, utils) that works too fast on newest CPUs. þþþ What is WRITE ALLOCATE? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Write allocate, if enabled, occurs when the processor has a pending memory write cycle to a cacheable line and the line does not currently reside in the L1 data cache. In this case, the processor performs a burst read cycle to fetch the cache line addressed by the pending write cycle. The data associated with the pending write cycle is merged with the recently-allocated cache line and stored in the processor_s L1 data cache. The final MESI (Modified, Exclusive, Shared, Invalid) state of the cache line depends on the state of the WB/WT# and PWT signals during the burst read cycle and the subsequent cache write hit. During the write allocation, a 32-byte burst read cycle is executed in place of a non-burst write cycle. While the burst read cycle generally takes longer to execute than the write cycle, performance gains are realized on subsequent write cycle hits to the write-allocated cache line. Due to the nature of software, memory accesses tend to occur within proximity of each other (principle of locality). The likelihood of additional write hits to the write-allocated cache line is high. From "Implementation of Write Allocate in the K86 Processors" by AMD. Executing: ~~~~~~~~~~ FAS [/options] where options are: /C - Force speed up Cyrix 6x86 CPU by enabling NOLOCK /A - Force speed up AMD K6 CPU by enabling WRITE ALLOCATE for BIOSes that not support this feature of K6, up to 64M of RAM autodetects. Models 6,7,8,9 of K6 supported. /S - Slow down your computer disabling L1 cache ! Run /S once again to enable L1 cache. /H - Help screen (available options) If no options is used, FAS try to autodetect your CPU and enable available features if it's possible. FAS can't work in multitask environment like Windows 95, 98, NT, OS/2, and tries to recognize it and warn you. You can run program from your AUTOEXEC.BAT to load it BEFORE Windows 95/98 starts. And, of course, you can run it under DOS. No problems detected under EMM386, QEMM386 etc. Known problems: ~~~~~~~~~~~~~~~ - FAS can incorrectly set memory limits for WRITE ALLOCATE for systems, that have more than 64M RAM. Can anyone explain me how to detect amount of memory >64M without writing and reading to each megabyte of RAM? Please, send bugreports and thanks ;) to: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Serge Ivanov - aka Jabberwock FIDO: 2:5059/2.9 E-Mail: jabberw0ck@mail.ru, jabb@tomcat.ru