Short:    How to make the DKB WildFire 060 faster
Uploader: dbusse@primus-online.de (Dirk Busse)
Author:   dbusse@primus-online.de (Dirk Busse)
Type:     docs/misc
Date:     January, 2nd 1999
Version:  1.0

This document describes how to make the DKB WildFire 060 accelerator
board faster.

It's not a hardware hack.
It's a software solution, which brings up to 20% more speed.

Use it at your own risk.

------------------------------------------------------------------------

The 68060.library V1.9 doesn't set the MMU optimal.

In my Review of the DKB WildFire060 (Aminet:docs/rview/WildFire_2.txt) I
wrote about the SlowRam, which has very very slow read accesses with the
DKB WildFire060.
The SlowRam isn't the only one which could speed up by changing the MMU
settings. Also the DKB WildFire060 on board 32-bit-Ram could speeded up.



How to do this:

In the Enforcer-Archive on Aminet is a program called "MMU". With this
program you could change the cachemode of memory ranges.


If you own 16-bit FastRam you should use:
   mmu address xxxxxx size yyyyyy copyback
in your s:Startup-Sequence.
Change the "xxxxxx" to the start address of your 16-bit FastRam and the
"yyyyyy" to the lenght of it.
For example if you have 2MByte at $00200000, you should use:
   mmu address 200000 size 1fffff copyback


If you own SlowRam you should use:
   mmu address c00000 size 1bffff nocache copyback
in your s:Startup-Sequence. This solves the problem of slow read accesses
descibed in "Aminet:docs/rview/WildFire_2.txt".


For speeding up the write accesses on the DKB WildFire060 on board
32-bit-Ram you should use:
   mmu address 8000000 size 7ffffff copyback
in your s:Startup-Sequence. This will speed up it by a factor of two.

------------------------------------------------------------------------
Here are the BusSpeed results:

BusSpeedTest 0.07 (mlelstv) Buffer:    16384
Bytes
                      ORIGINAL MMU      | CHANGED MMU SETTINGS
========================================+=========================
loop overhead:      1.0ns               |    0.9ns
register move:     15.2ns               |   15.1ns
memtype   op      cycle      bandwidth  |  cycle      bandwidth
fast      readw    41.5ns   48.2MByte/s |   41.6ns   48.0MByte/s
fast      readl    63.8ns   62.6MByte/s |   60.8ns   65.8MByte/s
fast      readm    61.8ns   64.8MByte/s |   59.4ns   67.3MByte/s
fast      writew  121.8ns   16.4MByte/s |   40.5ns   49.4MByte/s
fast      writel  121.9ns   32.8MByte/s |   73.4ns   54.5MByte/s
fast      writem  121.6ns   32.9MByte/s |   76.7ns   52.2MByte/s
chip      readw   858.0ns    2.3MByte/s |  857.5ns    2.3MByte/s
chip      readl  1427.0ns    2.8MByte/s | 1425.5ns    2.8MByte/s
chip      readm  1426.7ns    2.8MByte/s | 1426.6ns    2.8MByte/s
chip      writew  857.7ns    2.3MByte/s |  857.3ns    2.3MByte/s
chip      writel 1426.5ns    2.8MByte/s | 1426.1ns    2.8MByte/s
chip      writem 1427.2ns    2.8MByte/s | 1425.8ns    2.8MByte/s
rom       readw    40.2ns   49.8MByte/s |   40.3ns   49.7MByte/s
rom       readl    59.6ns   67.2MByte/s |   62.3ns   64.2MByte/s
rom       readm    62.9ns   63.6MByte/s |   61.0ns   65.6MByte/s
$00c80000 readw  5702.9ns    0.4MByte/s |  857.5ns    2.3MByte/s
$00c80000 readl  5704.6ns    0.7MByte/s | 1425.7ns    2.8MByte/s
$00c80000 readm  5706.2ns    0.7MByte/s | 1426.3ns    2.8MByte/s
$00c80000 writew  857.7ns    2.3MByte/s |  857.2ns    2.3MByte/s
$00c80000 writel 1426.4ns    2.8MByte/s | 1426.2ns    2.8MByte/s
$00c80000 writem 1426.8ns    2.8MByte/s | 1426.3ns    2.8MByte/s
----------------------------------------+-------------------------

------------------------------------------------------------------------
SysSpeed V2.3  - Testergebnisse
===============================

 MMUchanged  :   CPU: 68060  FPU: 68060   Chipsatz: ECS   OS: 3.1

 Org.MMU     :   CPU: 68060  FPU: 68060   Chipsatz: ECS   OS: 3.1

 981007      :   CPU: 68060  FPU: 68060   Chipsatz: ECS   OS: 3.1

 Vergleichsbasis :   MMUchanged        Vergleich :   Org.MMU

+-------------+---------+---------+---------+---------+
|   Test      | MMUchang| Org.MMU | 981007  |Vergleich|
+-------------+---------+---------+---------+---------+
|  Packer       Ergebnisse in Sek.                    |
+-------------+---------+---------+---------+---------+
| LhaCrunch   |  1.81   |  1.79   |  1.80   |  0.99   |
+-------------+---------+---------+---------+---------+
| LhaTest     |  0.19   |  0.21   |  0.21   |  1.08   |
+-------------+---------+---------+---------+---------+
| LhaDeCrunch |  0.32   |  0.34   |  0.35   |  1.08   |
+-------------+---------+---------+---------+---------+
| XPKCrunch   |  4.21   |  4.31   |  4.30   |  1.02   |
+-------------+---------+---------+---------+---------+
| XPKDeCrunch |  0.82   |  0.87   |  0.88   |  1.07   |
+-------------+---------+---------+---------+---------+
| PPCrunch    |  3.03   |  2.94   |  2.94   |  0.97   |
+-------------+---------+---------+---------+---------+
| PPDeCrunch  |  0.22   |  0.24   |  0.24   |  1.07   |
+-------------+---------+---------+---------+---------+
|  Speicher     Ergebnisse in MB/s                    |
+-------------+---------+---------+---------+---------+
| Cache Read  |  189.95 |  190.12 |  188.92 |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadROMb    |  24.32  |  24.33  |  24.33  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadROMw    |  46.92  |  47.02  |  46.95  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadROMl    |  62.49  |  62.63  |  62.53  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadFastb   |  26.91  |  26.90  |  26.91  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadFastw   |  37.63  |  37.58  |  37.60  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadFastl   |  46.97  |  46.96  |  46.98  |  1.00   |
+-------------+---------+---------+---------+---------+
| WriteFastb  |  21.58  |  7.80   |  7.81   |  2.77   |
+-------------+---------+---------+---------+---------+
| WriteFastw  |  37.35  |  15.60  |  15.60  |  2.39   |
+-------------+---------+---------+---------+---------+
| WriteFastl  |  37.35  |  31.13  |  31.15  |  1.20   |
+-------------+---------+---------+---------+---------+
| Fast2Fastb  |  12.54  |  6.75   |  6.75   |  1.86   |
+-------------+---------+---------+---------+---------+
| Fast2Fastw  |  18.79  |  11.89  |  11.89  |  1.58   |
+-------------+---------+---------+---------+---------+
| Fast2Fastl  |  22.63  |  19.15  |  19.15  |  1.18   |
+-------------+---------+---------+---------+---------+
| Fast2Fastm  |  20.67  |  18.61  |  18.61  |  1.11   |
+-------------+---------+---------+---------+---------+
| Fast2Fast16 |  25.80  |  25.80  |  25.80  |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadChipb   |  1.11   |  1.11   |  1.11   |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadChipw   |  2.22   |  2.22   |  2.22   |  1.00   |
+-------------+---------+---------+---------+---------+
| ReadChipl   |  2.68   |  2.67   |  2.67   |  1.00   |
+-------------+---------+---------+---------+---------+
| WriteChipb  |  1.11   |  1.11   |  1.11   |  1.00   |
+-------------+---------+---------+---------+---------+
| WriteChipw  |  2.22   |  2.22   |  2.22   |  1.00   |
+-------------+---------+---------+---------+---------+
| WriteChipl  |  2.67   |  2.67   |  2.67   |  1.00   |
+-------------+---------+---------+---------+---------+
| Chip2Chipb  |  0.48   |  0.48   |  0.48   |  1.00   |
+-------------+---------+---------+---------+---------+
| Chip2Chipw  |  0.96   |  0.96   |  0.96   |  1.00   |
+-------------+---------+---------+---------+---------+
| Chip2Chipl  |  1.22   |  1.22   |  1.22   |  1.00   |
+-------------+---------+---------+---------+---------+
| Chip2Chipm  |  1.33   |  1.32   |  1.32   |  1.00   |
+-------------+---------+---------+---------+---------+
| Chip2Chip16 |  1.30   |  1.30   |  1.30   |  1.00   |
+-------------+---------+---------+---------+---------+
| Fast2Chipb  |  1.09   |  1.09   |  1.09   |  1.00   |
+-------------+---------+---------+---------+---------+
| Fast2Chipw  |  2.13   |  2.13   |  2.13   |  1.00   |
+-------------+---------+---------+---------+---------+
| Fast2Chipl  |  2.55   |  2.55   |  2.55   |  1.00   |
+-------------+---------+---------+---------+---------+
| Fast2Chipm  |  2.50   |  2.50   |  2.50   |  1.00   |
+-------------+---------+---------+---------+---------+
| Fast2Chip16 |  2.45   |  2.45   |  2.46   |  1.00   |
+-------------+---------+---------+---------+---------+
|  Laufwerk     Ergebnisse in Op/s                    |
+-------------+---------+---------+---------+---------+
| Create      |  132    |  128    |  989    |  1.03   |
+-------------+---------+---------+---------+---------+
| Open        |  683    |  601    |  1402   |  1.14   |
+-------------+---------+---------+---------+---------+
| DirScan     |  1405   |  1328   |  90     |  1.06   |
+-------------+---------+---------+---------+---------+
| Delete      |  1156   |  1323   |  2705   |  0.87   |
+-------------+---------+---------+---------+---------+
| Seek/Read   |  3587   |  2900   |  2840   |  1.24   |
+-------------+---------+---------+---------+---------+
|  Laufwerk     Ergebnisse in MB/s                    |
+-------------+---------+---------+---------+---------+
| CreateFile  |  5.85   |  5.96   |  2.14   |  0.98   |
+-------------+---------+---------+---------+---------+
| WriteFile   |  6.62   |  6.51   |  2.20   |  1.02   |
+-------------+---------+---------+---------+---------+
| ReadFile    |  7.48   |  7.47   |  4.34   |  1.00   |
+-------------+---------+---------+---------+---------+
| RawRead     |  ----   |  ----   |  ----   |  ----   |
+-------------+---------+---------+---------+---------+
|  Intuition    Ergebnisse in Op/s                    |
+-------------+---------+---------+---------+---------+
| OpenWin16   |  40     |  40     |  40     |  1.00   |
+-------------+---------+---------+---------+---------+
| OpenWin256  |  40     |  40     |  40     |  1.00   |
+-------------+---------+---------+---------+---------+
| OpenWinHi   |  40     |  28     |  28     |  1.43   |
+-------------+---------+---------+---------+---------+
| OpenWinTru  |  27     |  27     |  27     |  1.00   |
+-------------+---------+---------+---------+---------+
| WinLayer16  |  54     |  47     |  47     |  1.15   |
+-------------+---------+---------+---------+---------+
| WinLayer256 |  46     |  45     |  45     |  1.02   |
+-------------+---------+---------+---------+---------+
| WinLayerHi  |  41     |  37     |  37     |  1.11   |
+-------------+---------+---------+---------+---------+
| WinLayerTru |  31     |  30     |  30     |  1.03   |
+-------------+---------+---------+---------+---------+
| SizeWin16   |  153    |  172    |  143    |  0.89   |
+-------------+---------+---------+---------+---------+
| SizeWin256  |  123    |  146    |  146    |  0.84   |
+-------------+---------+---------+---------+---------+
| SizeWinHi   |  115    |  120    |  154    |  0.96   |
+-------------+---------+---------+---------+---------+
| SizeWinTru  |  104    |  94     |  105    |  1.11   |
+-------------+---------+---------+---------+---------+
| MoveWin16   |  382    |  408    |  347    |  0.94   |
+-------------+---------+---------+---------+---------+
| MoveWin256  |  353    |  316    |  335    |  1.12   |
+-------------+---------+---------+---------+---------+
| MoveWinHi   |  252    |  236    |  239    |  1.07   |
+-------------+---------+---------+---------+---------+
| MoveWinTru  |  164    |  166    |  155    |  0.99   |
+-------------+---------+---------+---------+---------+
| ConOutP16   |  172    |  165    |  166    |  1.04   |
+-------------+---------+---------+---------+---------+
| ConOutP256  |  171    |  165    |  166    |  1.04   |
+-------------+---------+---------+---------+---------+
| ConOutPHi   |  91     |  89     |  89     |  1.02   |
+-------------+---------+---------+---------+---------+
| ConOutPTru  |  56     |  55     |  55     |  1.02   |
+-------------+---------+---------+---------+---------+
| OpenScr16   |  27     |  27     |  27     |  1.00   |
+-------------+---------+---------+---------+---------+
| OpenScr256  |  20     |  20     |  20     |  1.00   |
+-------------+---------+---------+---------+---------+
| OpenScrHi   |  16     |  16     |  16     |  1.00   |
+-------------+---------+---------+---------+---------+
| OpenScrTru  |  16     |  16     |  16     |  1.00   |
+-------------+---------+---------+---------+---------+
| SwapScr16   |  81     |  81     |  81     |  1.00   |
+-------------+---------+---------+---------+---------+
| SwapScr256  |  81     |  81     |  81     |  1.00   |
+-------------+---------+---------+---------+---------+
| SwapScrHi   |  81     |  81     |  81     |  1.00   |
+-------------+---------+---------+---------+---------+
| SwapScrTru  |  81     |  81     |  81     |  1.00   |
+-------------+---------+---------+---------+---------+
|  Grafik       Ergebnisse in Op/s                    |
+-------------+---------+---------+---------+---------+
| ScrollX_16  |  243    |  241    |  241    |  1.01   |
+-------------+---------+---------+---------+---------+
| ScrollX_256 |  243    |  241    |  241    |  1.01   |
+-------------+---------+---------+---------+---------+
| ScrollX_Hi  |  97     |  97     |  97     |  1.00   |
+-------------+---------+---------+---------+---------+
| ScrollX_Tru |  47     |  47     |  47     |  1.00   |
+-------------+---------+---------+---------+---------+
| ScrollY_16  |  234    |  233    |  232    |  1.00   |
+-------------+---------+---------+---------+---------+
| ScrollY_256 |  234    |  233    |  232    |  1.00   |
+-------------+---------+---------+---------+---------+
| ScrollY_Hi  |  90     |  89     |  89     |  1.01   |
+-------------+---------+---------+---------+---------+
| ScrollY_Tru |  43     |  43     |  43     |  1.00   |
+-------------+---------+---------+---------+---------+
| PrintTxt16  |  4297   |  3893   |  3825   |  1.10   |
+-------------+---------+---------+---------+---------+
| PrintTxt256 |  4317   |  3895   |  3799   |  1.11   |
+-------------+---------+---------+---------+---------+
| PrintTxtHi  |  4039   |  3676   |  3587   |  1.10   |
+-------------+---------+---------+---------+---------+
| PrintTxtTru |  3034   |  2820   |  2763   |  1.08   |
+-------------+---------+---------+---------+---------+
| RectFill16  |  14213  |  12257  |  12097  |  1.16   |
+-------------+---------+---------+---------+---------+
| RectFill256 |  14180  |  12232  |  12094  |  1.16   |
+-------------+---------+---------+---------+---------+
| RectFillHi  |  8841   |  8068   |  8019   |  1.10   |
+-------------+---------+---------+---------+---------+
| RectFillTru |  5361   |  5044   |  5027   |  1.06   |
+-------------+---------+---------+---------+---------+
| DrwElpse16  |  5515   |  5287   |  5242   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrwElpse256 |  5515   |  5288   |  5242   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrwElpseHi  |  5434   |  5223   |  5197   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrwElpseTru |  1920   |  1895   |  1901   |  1.01   |
+-------------+---------+---------+---------+---------+
| DrwCircle16 |  5278   |  5075   |  5030   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrCircle256 |  5279   |  5073   |  5033   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrwCircleHi |  5172   |  4995   |  4970   |  1.04   |
+-------------+---------+---------+---------+---------+
| DrCircleTru |  1831   |  1811   |  1803   |  1.01   |
+-------------+---------+---------+---------+---------+
| WrtPixel16  |  77314  |  70620  |  69732  |  1.09   |
+-------------+---------+---------+---------+---------+
| WrtPixel256 |  77500  |  70476  |  69669  |  1.10   |
+-------------+---------+---------+---------+---------+
| WrtPixelHi  |  77399  |  71228  |  70347  |  1.09   |
+-------------+---------+---------+---------+---------+
| WrtPixelTru |  75764  |  63373  |  63006  |  1.20   |
+-------------+---------+---------+---------+---------+
| HorLines16  |  21292  |  16861  |  17050  |  1.26   |
+-------------+---------+---------+---------+---------+
| HorLines256 |  21291  |  16856  |  17031  |  1.26   |
+-------------+---------+---------+---------+---------+
| HorLinesHi  |  19413  |  15746  |  15902  |  1.23   |
+-------------+---------+---------+---------+---------+
| HorLinesTru |  16469  |  13689  |  13796  |  1.20   |
+-------------+---------+---------+---------+---------+
| VerLines16  |  13858  |  11782  |  11648  |  1.18   |
+-------------+---------+---------+---------+---------+
| VerLines256 |  13891  |  11780  |  11704  |  1.18   |
+-------------+---------+---------+---------+---------+
| VerLinesHi  |  10872  |  9589   |  9532   |  1.13   |
+-------------+---------+---------+---------+---------+
| VerLinesTru |  7483   |  6872   |  6843   |  1.09   |
+-------------+---------+---------+---------+---------+
| DiaLines16  |  1507   |  1480   |  1485   |  1.02   |
+-------------+---------+---------+---------+---------+
| DiaLines256 |  1507   |  1480   |  1484   |  1.02   |
+-------------+---------+---------+---------+---------+
| DiaLinesHi  |  1395   |  1376   |  1385   |  1.01   |
+-------------+---------+---------+---------+---------+
| DiaLinesTru |  537    |  534    |  535    |  1.01   |
+-------------+---------+---------+---------+---------+
| AreaElps16  |  234    |  191    |  191    |  1.23   |
+-------------+---------+---------+---------+---------+
| AreaElps256 |  234    |  191    |  191    |  1.23   |
+-------------+---------+---------+---------+---------+
| AreaElpsHi  |  231    |  189    |  189    |  1.22   |
+-------------+---------+---------+---------+---------+
| AreaElpsTru |  228    |  187    |  187    |  1.22   |
+-------------+---------+---------+---------+---------+
| AreaCir16   |  219    |  180    |  180    |  1.22   |
+-------------+---------+---------+---------+---------+
| AreaCir256  |  219    |  180    |  180    |  1.22   |
+-------------+---------+---------+---------+---------+
| AreaCirHi   |  217    |  178    |  178    |  1.22   |
+-------------+---------+---------+---------+---------+
| AreaCirTru  |  213    |  176    |  176    |  1.21   |
+-------------+---------+---------+---------+---------+
| AreaFill16  |  329    |  327    |  326    |  1.01   |
+-------------+---------+---------+---------+---------+
| AreaFill256 |  330    |  327    |  326    |  1.01   |
+-------------+---------+---------+---------+---------+
| AreaFillHi  |  322    |  320    |  319    |  1.01   |
+-------------+---------+---------+---------+---------+
| AreaFillTru |  309    |  307    |  307    |  1.01   |
+-------------+---------+---------+---------+---------+
|  CPU/FPU      Ergebnisse in MioOp/s                 |
+-------------+---------+---------+---------+---------+
| MIPS        |  66.29  |  66.22  |  66.22  |  1.00   |
+-------------+---------+---------+---------+---------+
| MFLOPS      |  26.50  |  26.50  |  26.49  |  1.00   |
+-------------+---------+---------+---------+---------+

--------------------------------------------------------------------------

Use it with no warranty.
Use it at your own risk.
I'm using this options since seven days without problems.

Dirk Busse
<dbusse@primus-online.de>