                     ************************************
                     * ARCHITECTURE DE LA CENTurbo II B *
                     ************************************
                     
                   (c) Janvier 99, Rodolphe Czuba - CENTEK


1/ PRESENTATION
                    
Comme vous pouvez le voir sur l'image 'ARCHITEC.GIF', l'architecture de la 
CT2 est construite autour de 2 bus 32-Bit, alors que le Falcon d'origine est,
 l'exception du bus DATA entre le VIDEL et la ST-Ram, organis en 16-Bit.

Avec la CT2, l'architecture propre aux ST/FALCON qui consiste en une ram
unique pour la vido et le CPU, est soulage par la FAST-Ram !
En effet, avec la CT2 vous pouvez faire tourner vos programmes aussi vite
en 'True Color' qu'en 16 couleurs, puisque le programme en FAST-Ram n'est
plus ralenti par des modes vido gourmands ! De plus le mode BURST du 030
est enfin utilis pour lire 4 LONGS et les cacher en 11 cycles 50 MHz !
L'criture a t amliore en 4 cycles 50 MHz au lieu de 6 sur la REV A ! 

Ainsi, le Falcon devient une simple carte I/O 16-Bits pilote par la CT2...
La ST-Ram devient donc la RAM VIDEO, SONORE et SCSI, ce que l'on appelle
'CHIP-Ram' sur AMIGA, c'est  dire la ram utilise par les chips (BLITTER, 
SOUND, VIDEO). La FAST-Ram devient donc la RAM SYSTEME  utiliser le plus 
possible par le CPU. Cette architecture se rapproche de celle d'un PC...

Le coeur de la CT2 est constitu de 2 composants nomms ANNA et THALIE
assurant les fonctions suivantes: 

ANNA: 
- Contrleur DRAM EDO 60 ns avec LECTURE BURST en 5,2,2,2 cycles 50 MHz
  (32.5 Mo/s rels) et ECRITURE en 4 cycles 50 MHz (38 Mo/s).
- Watchdog Hardware de 6 us.
- Gnration de l'horloge 500 kHz pour les ACIA.

THALIE:
- Communication avec le COPRO.
- Interfacage 030 avec le bus 68000 du Falcon
  et logique d'accs  50 MHz au Falcon.
- Contrle des buffer DATA.
- Contrle des accs  la FLASH  50 MHz.
- Contrle des accs au DSP  50 MHz.
- Contrle des accs aux ACIAS  50 MHz.
- Contrle des accs au/du SDMA en SLAVE/MASTER.
- Gestion des INTerruption 4 et 2 (VBL et HBL).
- Gnration des horloges (sauf ACIA).
- Registres de configuration de la CT2.


2/ NOUVELLES REGLES

Comme pour le Phenix, de nombreux dveloppeurs software doivent changer
leur approche du Falcon car dans de nombreux cas l'utilisation de la
FAST-Ram par le CPU est bien plus avantageuse que toute autre mthode qu'ils
auraient pu mettre en place pour palier  la lenteur de la ST-Ram. 
Ceci est particulirement valable pour ceux qui ont utilis  tout va le DSP 
pour des calculs qui sont maintenant, dans une majorit des cas, effectus 
plus rapidement par le CPU en FAST-Ram. Il convient dsormais de n'utiliser 
le DSP que pour des calculs pour lesquels il a t conu (matrice, FFT, 
etc...), en n'oubliant pas que les dlais de transferts dans ce dernier sont
devenus un inconvnient majeur par rapport  ceux de la FAST-Ram. 

De plus, un effort important doit tre fait pour coder en LONG et aligner
le code (programmeurs en C, mettez vous  l'ASM !) sur, au minimum, des 
LONGs, ou mieux, des frontires de 16 octets (4 LONGs = 1 ligne de cache).
Ceci est ncessaire si vous voulez profiter au maximum du BURST en lecture.
Il faut cependant savoir que le 'WRAP AROUND' du 030 est dsactiv par 
le hard de la CT2 pour viter une baisse de performance avec la majorit des 
logiciels actuels qui ne respectent pas les alignements 32-Bit sur des 
lignes de cache. Ainsi le VL-BURST (Variable Length) permet au CPU de ne 
remplir que la fin de sa ligne de cache sans retourner complter le dbut de 
sa ligne avec du code ou des data  des adresses prcdentes.
Par exemple, si vous excutez du code  l'adresse $01025480, le CPU va 
burster une ligne complte de son cache avec le contenu (LONG) des adresses:
$01025480, $01025484, $01025488 et $0102548C.
Si par contre le CPU burst  partir de $01025488, il s'arrtera aprs avoir 
lu le deuxime LONG  $0102548C mais n'ira pas prendre les 2 premiers longs 
en $01025480 et $01025484 ! Ce qu'il aurait fait avec le WRAP AROUND...C'est 
dans la plupart des cas 4 cycles (2+2) qui ont ainsi t conomiss car il 
est rare que le CPU est besoin de ces 2 prcdents LONGs, sauf avec certains
modes d'adressage assez peu usits...

Pour plus d'informations sur le fonctionnement des caches du 030, veuillez
vous reporter au chapitres 6 et 7 du '68030 USER'S MANUAL' de MOTOROLA ou 
au chapitre 4 du 'MISE EN OEUVRE DU 68030' aux ditions SYBEX (code ISBN 
2-7361-0350-5) pour ceux qui ne matrisent pas la langue anglaise.
