Suivez-nous sur Twitter

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Matériel : Vampire 600
(Article écrit par Hugues Defortescu - juillet 2015)
|
|
La Vampire 600 est une carte accélératrice à base de FPGA Cyclone II de chez Altera. Pour ceux qui découvriraient,
le FPGA (Field-Programmable Gate Array) est un circuit intégré logique qui peut être reprogrammé à volonté
après sa fabrication.
La Vampire 600 est donc officiellement la première carte accélératrice à base de FPGA pour l'un des ordinateurs
de la gamme des Amiga Classic : l'Amiga 600. Ce galop d'essai orchestré par Igor "Majsta" Majstorovic constitue un test
grandeur nature de cette architecture pour nos machines qui en appellera d"autres... probablement !
Car si Igor Majstorovic a débuté cette aventure seul avec un coeur TG68 (équivalent d'un 68000 à 87,5 MHz
et 5 Mo de mémoire Fast qui, dans les faits, doublait presque la vitesse d'un A600 d'origine),
c'est lors de son association avec l'Apollo Team en août 2013 (l'équipe à l'origine du projet NatAmi)
que la carte Vampire prenait son envol. L'équipe reprenait le coeur sur lequel ils avaient déjà travaillé
pour essayer de l'intégrer dans le petit Cyclone II. Petit au point de devoir faire quelques compromis
sur des capacités qu'ils espèrent intégrer ultérieurement dans d'autres cartes Vampire pour la gamme
Amiga Classic.
Dans les faits, au jour de l'écriture de ce test, la Vampire 600 équipée du coeur version "2000_83_v4"
fait connaître son FPGA comme un processeur 68020 à 198 MHz accompagné de 64 Mo de mémoire Fast.
Sachant que le coeur est toujours en version bêta, on peut s'attendre à une amélioration de la stabilité
et de la compatibilité... Ou pas, puisque l'équipe travaille dorénavant pour un coeur plus conséquent qui
fonctionnera sur les futures Vampire.
La carte
Les cartes sont fabriquées par Igor Majstorovic lui-même. Brian "Kipper2k" Robotham est, quant à lui,
le "monteur officiel" des composants. Ma carte a été envoyée par ce dernier et, après un petit échange par courriel,
elle est arrivée depuis le Canada en une semaine !
Sauf que... mon Amiga 600 était lui-même en cours de réparation, j'ai donc eu tout le temps d'admirer la
carte qui apparaît comme très épurée. La carte est livrée avec deux vis de fixation (si besoin) sur la carte mère.
La Vampire 600 vue de dessus et de dessous :
Schéma de la carte :
|
D1 : LED verte = indicateur de mise sous tension.
D2 : LED rouge = indicateur du trafic sur le bus mémoire.
V1 : régulateur 3,3 V (LM1084IT-3.3).
V2 : régulateur 1,2 V (AMS1117-1.2).
U1-U4 : translateur de niveau de tension de signaux bidirectionnels (LVCMOS ↔ CMOS - 74ALVT162245).
U6 : mémoire Flash EPCS 4 Mo (EPCS4N).
U9 : banc mémoire SDRAM 512 Mo (8 Mox16x4) à 166 MHz/6 ns (IS42S16320B-6TL).
U10 : oscillateur à quartz 50 MHz.
PLCC : ce connecteur est placé au-dessus du processeur 68000.
JTAG : connecteur USB Blaster.
|
L'USB Blaster est un câble de programmation pour les FPGA Altera (USB d'un côté et plusieurs choses de l'autre...
dont du JTAG). C'est compatible avec le logiciel Quartus II qui reconnaît ainsi le FPGA et permet d'envoyer
dessus sa programmation, ou récupérer le programme depuis le FPGA.
Pour ce qui est de la documentation : rien !? Il faudra aller sur le site de l'Apollo Team
pour y découvrir quelques renseignements, ou sur le site d'Igor Majstorovic
qui explique comment mettre à jour la carte.
Installation dans l'A600
La Vampire intègre un support qui vient s'emboîter sur le 68000 d'origine. Selon les cartes, la
fixation est plus ou moins évidente, on a parfois l'impression de forcer, mais du coup la
carte tient toute seule. Dans d'autres cas, il faudra au contraire bien visser la carte sur
la carte mère avec les deux vis fournies. D'autres ont été plus loin : ils ont collé un boulon
à l'envers sur le 68000, percé un trou dans la Vampire et remis un écrou par-dessus l'ensemble !
Généralement, il suffira donc d'aligner la carte sur le 68000 puis d'appuyer sur celle-ci pour la fixer.
Comme souvent dans l'A600, difficile de garder un disque dur dans la machine en plus de l'accélérateur,
mais ce n'est pas impossible ! Pour ma part, j'ai adopté une carte Compact Flash avec adaptateur IDE
que j'ai protégé électriquement avec du chatterton, le tout fixé dans un coin de l'A600.
Ça rentre au chausse-pied... Photo des entrailles de l'A600 :
Prérequis
Aux dernières nouvelles, toutes les cartes mères d'Amiga 600 supportent la carte (même si dans un premier temps,
il semblait qu'un problème était apparu avec les révisions 1.5, ce problème a été écarté par la suite).
Elle est également compatible avec les cartes de mémoire Chip (du moins, les plus courantes),
l'Indivision ECS (comme sur ma photo), les cartes sur le port PCMCIA, etc.
En revanche, il vous faudra obligatoirement une ROM 3.1 installée.
Par ailleurs, afin de palier à certains problèmes de compatibilité, une bibliothèque
a été conçue et doit être lancée en première ligne de votre startup-sequence. Celle-ci
se nomme aujourd'hui "phoenixinit". Elle occupe 5 ko de mémoire. J'en vois qui se posent
alors une question : quid de la compatibilité sans le chargement de la bibliothèque ?
Eh bien malgré tout, ce n'est pas mauvais du tout puisque la plupart des tests que j'ai
pu effectuer en démarrant directement sur une disquette (ou un ADF) fonctionnaient !
En ce qui concerne l'installation, ça s'arrête là. Peut-être que la version définitive proposera
des options, mais pour le moment, on se retrouve à la tête d'un 68020 à 198 MHz, 64 Mo de mémoire
Fast et 1 Mo de mémoire Chip sauf si on possède évidemment une carte de mémoire Chip
supplémentaire...
Mise à jour du coeur
A la réception de la carte, en accord avec Brian Robotham, ma carte était équipée du coeur TG68 v1.0. C'était certes le
plus rapide, mais je me suis rapidement rendu compte que la compatibilité était assez minimaliste (la plupart des jeux
et démos ne fonctionnaient pas). J'ai donc rapidement fait l'acquisition (une quinzaine d'euros) d'un USB Blaster qui,
accompagné du logiciel gratuit Quartus II dans sa version 13.0 SP1 (disponible sur Linux et Windows), permet de mettre
à jour facilement le coeur en quelques clics et quelques secondes.
Après différentes mises à jour (j'ai commencé par la version 1.918 jusqu'à atteindre actuellement la 2.000 v4),
les vrais tests peuvent commencer... (mais toujours en bêta !).
Les tests !
Ma configuration de test est la suivante :
- Amiga 600, carte mère révision 2D.
- Extension mémoire Chip A604 (1 Mo).
- Indivision ECS.
- Carte CF faisant office de disque dur de 1 Go.
- Carte CF sur adaptateur PCMCIA.
- Vampire 600 et premier coeur bêta public apportant le 68020, le bien-nommé "Apollo-mini core 2000_83_v4".
Commençons par un petit SysInfo qui décoiffe. Avec cette carte, l'A600 va trois fois plus vite d'un A4000/040 !
On est au niveau d'un 68060 à 50 MHz. A titre de comparaison, le coeur de la Vampire 600 en prototype n'atteignait que 1,38 MIPS
en février 2013 et 13 à 14 MIPS en juin 2013. L'optimisation du coeur et de la carte ont donc permis ces prouesses.
Puis le non moins décoiffant AIBB (ici le test IMath).
Et les autres tests d'AIBB, en comparaison avec un Amiga 600 de base et un Amiga 4000/040 (68040 à 25 MHz).
|
Amiga 600 |
Amiga 4000/040 |
Amiga 600 + Vampire 600 (coeur "2000_83_v4") |
EmuTest |
1,00 |
16,72 |
54,91 |
WritePixel |
1,00 |
15,33 |
25,09 |
Sieve |
1,00 |
10,54 |
58,78 |
Dhrystone |
1,00 |
19,20 |
67,42 |
Sort |
1,00 |
19,52 |
50,48 |
EllipseTest |
1,00 |
5,46 |
4,58 |
Matrix |
1,00 |
12,17 |
61,60 |
IMath |
1,00 |
17,15 |
81,24 |
MemTest |
1,00 |
3,48 |
28,52 |
TGTest |
1,00 |
3,81 |
3,20 |
LineTest |
1,00 |
1,87 |
1,33 |
InstTest |
1,00 |
10,05 |
37,37 |
Tests sur le coprocesseur |
Savage |
1,00 |
14,71 |
55,35 |
FMath |
1,00 |
16,18 |
52,10 |
FMatrix |
1,00 |
11,45 |
53,29 |
BeachBall |
1,00 |
18,69 |
60,53 |
Flops |
1,00 |
16,92 |
53,54 |
TranTest |
1,00 |
15,18 |
56,95 |
FTrace |
1,00 |
15,58 |
56,47 |
CplxTest |
1,00 |
15,28 |
44,34 |
Avec AIBB, les choses sont claires, les performances sont allucinantes ! L'Amiga 4000/040 fait pâle figure
par rapport à un petit A600 équipé d'une carte Vampire 600 bon marché. Seuls trois tests sont moins bons
(EllipseTest, TGTest et LineTest) mais ce ne sont pas les plus représentatifs.
Voici maintenant un tableau sur l'évolution de la vitesse des versions du coeur Apollo (résultats par rapport à un Amiga 600 de base).
|
1.918v75 |
1.918v83 |
1.921v90 |
1.951 |
1.918v75 + pc41 |
1.921v90 + pc41 |
1.918v75 + pc43 |
1.995v66 + maprom |
1.995v83 |
1.995v66 + supermaprom |
2.00C |
EmuTest |
48,15 |
53,57 |
57,69 |
35,91 |
49,35 |
59,22 |
48,02 |
44,63 |
55,86 |
45,90 |
49,26 |
Sieve |
52,90 |
58,78 |
63,48 |
46,96 |
52,89 |
63,47 |
52,89 |
46,97 |
58,78 |
47,01 |
52,88 |
Dhrystone |
59,39 |
67,16 |
72,57 |
53,74 |
60,74 |
72,88 |
60,47 |
56,83 |
71,20 |
57,27 |
60,72 |
Sort |
45,42 |
50,50 |
54,55 |
40,31 |
45,42 |
54,54 |
45,42 |
40,31 |
50,458 |
40,36 |
45,41 |
Matrix |
55,27 |
61,46 |
66,44 |
49,12 |
55,23 |
66,39 |
55,25 |
51,97 |
65,06 |
52,06 |
55,38 |
IMath |
73,11 |
81,25 |
87,72 |
64,91 |
73,41 |
88,09 |
73,41 |
65,75 |
82,28 |
66,29 |
81,24 |
MemTest |
25,55 |
28,52 |
30,66 |
22,76 |
25,55 |
30,03 |
24,98 |
23,91 |
30,33 |
23,84 |
25,53 |
WritePixel |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
5,51 |
EllipseTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
3,47 |
TGTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
1;95 |
LineTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
1;35 |
InstTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
33:56 |
Tests sur le coprocesseur |
Savage |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
49,69 |
FMath |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
46,85 |
FMatrix |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
47,97 |
BeachBall |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
38,52 |
Flops |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
48,19 |
TranTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
49,77 |
FTrace |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
50,86 |
CplxTest |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
44,34 |
Notes :
- Supermaprom est une commande créée par l'équipe Apollo pour remplacer Maprom, Addmem et Phoenixemu.
Phoenixemu est un correctif pour les instructions manquantes du 68000.
- pc41/43 signifie juste "PhoenixCore".
Conclusion
La Vampire 600 en l'état actuel des choses (version non finalisée du coeur) est un petit bijou !
Pour 90 euros, cette carte amène l'Amiga 600 au sommet des performances des Amiga Classic 68k
avec une bonne compatibilité. Si l'équipe continue sur ce rythme comme prévu, les prochaines
cartes, moins limitées par la taille de leur FPGA, permettront encore d'atteindre des niveaux
jamais vus et peut-être même de nouvelles fonctionnalités. Le but de l'équipe étant de rester
compatible avec l'existant (logiciel, matériel) tout en apportant performances et tarifs raisonnables.
Les prochaines cartes prévues (Vampire 500, Vampire 600 V2) apporteront de meilleures performances
(FPGA plus grand), et quelques éléments bienvenus (on parle de sorties HDMI...). A suivre !
Nom : Vampire 600.
Constructeur : Igor Majstorovic/Brian Robotham.
Genre : carte accélératrice.
Date : 2013.
Prix : 90 euros.
|
Soutenez le travail de l'auteur
|
|
|