Analyse des BENCHs de la CENTurbo II Rev A
                et de l'AFTERBURNER 040.
                
CENTEK - 25 Juin 98

La CT2 acclre rellement par 6 (31,2Mo / 5,3Mo),  condition que
les programmes soient bien cods (alignement du code sur 32-Bit !)

Le bus FALCON (ST-Ram) est  25 MHz avec la CT2 et 16 MHz avec l'AB40.
Et ceci se voit sur les tests graphiques qui se passent beaucoup 
en ST-Ram (c'est l que se trouve la ram vido !!)

Le seul test intressant de GEMBENCH c'est l'Integer Div qui donne 
329% pour l'AB40 et 315% pour la CT2. Pourquoi ?
D'un cot, le 040 excute un DIVU.W en 27 cycles d'horloge et 
il est cadenc  32 MHz. Sur le 030 (Falcon d'origine et CT2), le 
DIVU.W est excut en 44 cycles d'horloge (50 MHz sur CT2) !

Pour la CT2, nous avons la rgle de trois suivante :
  (44/44)  44 cycles pour le 030
x (50/16)  50 MHz pour la CT2 et 16 MHz pour le F030 d'origine.
= 3,125    soit 312 %
 
Pour l'AB40, nous avons la rgle de trois suivante :
(44/27)    44 cycles pour le 030 et 37 cycles pour le 040
x (32/16)  32 MHz pour l'AB40 et 16 MHz pour le F030 d'origine.
= 3,259    soit 326 %

La thorie et la ralit sont trs proches...
(Sauf chez ST MAG, le seul mag au monde qui va vous dire que le 040 est 
cadenc  64 MHz !! Allez GDM, s'il te plait, explique nous comment 
c'est possible que GEMBENCH affiche seulement la moiti de ce que tu 
baratines !?).
 
Il faut dire que le reste des tests de GEMBENCH n'est pas trs srieux !
En effet, ce logiciel, qui est malheureusement la rfrence possde
des tests qui sont fortement en rapport avec NVDI et exploite donc les
avantages de NVDI sans les inconvnients, lesquels sont devenus des
avantages pour la VDI de DOLMEN (MEHNIR).

En dehors de la partie graphique, la partie CPU (INTEGER DIV, FPU, RAM 
et ROM access) vaut son pesant d'absurdit !!
En effet, si vous comparez l'cart entre CT2 et AB40 pour l'accs RAM 
chez GEMBENCH et celui chez NEMBENCH ou DAVEBENCH, vous pouvez vous 
poser de grandes questions et comme il n'est jamais trop tard pour 
comprendre... :
Gembench a des routines de test qui ne tiennent pas compte du temps 
machine pris pour s'excuter. Ce qui signifie que plus le processeur a 
un gros cache et plus le test tourne vite (puisque d'avantage dans le
cache !), ce qui N'A RIEN A VOIR avec le pourquoi du test,  savoir 
la capacit du CPU  accder  la RAM !!
Par contre NEMBENCH et DAVEBENCH tiennent compte du temps des
instructions du programme et utilisent des MOVE pour lire les octets
en RAM.
C'est comme le bon vieux problme d'utiliser en labo des appareils de
mesure qui n'altrent pas le phnomne mesur. Dans notre cas, il faut
bien entendu soustraire au rsultat le temps d'execution de la routine
de test !
Ce que GEMBENCH ne fait pas mais que NEMBENCH ET DAVEBENCH font !
C'est ainsi que le test RAM ACCESS de Gembench donne tant 
d'avantage pour l'AB40, car le 040 a un cache de 2 x 4 ko contre 
2 x 256 octets pour le 030 de la CT2 !! Mais si on fait les tests 
cache OFF, l, la CT2 domine l'AB40 avec son BUS FAST-RAM  50 MHz et 
son CPU  50 MHz contre le bus 32 MHz et le CPU  32 MHz de l'AB40 !!

Il est facile de faire les calculs pour prouver cela:
Pour la CT2:
Une ligne de cache (4 LONGS) est lue en BURST  50 MHz
en 6 + 2 + 2 + 2 = 12 cycles 50 MHz avec la ram EDO 60 ns.
De plus l'instruction MOVE.L prend 5 cycles sur le 030.
Lors du BURST, le premier LONG est envoy de suite dans l'unit 
d'excution du processeur et excut en mme temps que l'arrive des 3 
LONGS suivants (en 2+2+2 cycles !), soit un temps machine de seulement 
3 MOVE  compter, soit 5+5+5=15 cycles. C'est l tout l'intrt 
d'avoir un CPU  50 MHz permanant au lieu de DX2 (50 MHz losqu'il ne 
prend pas le bus et 25 MHz lorsqu'il transfert sur le bus, donc lors 
du BURST !!!).
Concluons : nous avons donc 12 cycles de transfert + 15 cycles
d'excution, soit un total de 27 cycles  50 MHz.
Ce qui revient  dire que 16 octets sont lus en 27 cycles, soit
16/27 x 50 000 000 = 29.6 Mo / seconde !   C'est pas loin !

Pour l'AFTERBURNER 040:
Une ligne de cache est lue en BURST  32 MHz
en 3 + 2 + 2 + 2 = 9 cycles 32 MHz (ne gre pas la fonction EDO, sinon on 
aurait pu avoir du 3 + 1 + 1 + 1 = 6 - dommage !).
L'instruction MOVE.L s'excute sur le 040 en seulement 2 cycles !
Soit 3 MOVE.L en 6 cycles.
Concluons : nous avons donc 9 cycles de transfert + 6 cycles
d'excution, soit un total de 15 cycles  32 MHz.
Ce qui revient  dire que 16 octets sont lus en 15 cycles, soit
16/15 x 32 000 000 = 34,13 Mo / seconde ! C'est pas loin du tout !

Voila, vous savez maintenant trs simplement calculer la bande 
passante d'un processeur sur un bus d'unit centrale...
Jeu : relever les conneries de certains dans le monde Atari.
A ce sujet, la France occupe peu tre la premire place: lisez donc
le fichier sur la technique de ST MAGAZINe...

CENTEK's TEAM
