CHAPITRE 5 : RESULTATS ET DISCUSSION
5.1 Introduction
Il ne fut pas dans la mesure du possible de réaliser
l'implémentation matérielle sur une carte FPGA car cette
dernière n'étant pas à notre disposition.
Toutefois des études similaires mais
précédent à notre travail ayant été
menées et réalisées avec ont produis des résultats
satisfaisant permettant de tirer des conclusions excellentes.
5.2 Résultats [18]
Le même programme implémenté sur FPGA a
été aussi implémenté sur un microprocesseur de
base. Un exemple commun d'architecture de réseau a été
testé séparément sur chacun des deux processeurs, les
résultats sont consignés dans le tableau ci-dessous :
Noeuds
(coût des liens sur 8 bits)
|
Eléments
logiques
|
Nombre
de bits mémoire
|
Temps d'exécution
Sur FPGA
|
Temps d'exécution
Sur un uP
|
Rapport
Temporel
uP/FPGA
|
8
|
834
|
632
|
10,6
|
250
|
23,58
|
16
|
1536
|
2116
|
13,4
|
434
|
32,39
|
32
|
2744
|
8287
|
17, 2
|
802
|
46,63
|
64
|
5100
|
32894
|
21,6
|
1456
|
67,41
|
Tableau5.2a :
Résultats
5.3 Discussions des
résultats
· La première remarque que nous pouvons faire
ressortir est que le nombre d'éléments logiques entrant en jeu
dans la configuration du FPGA croit avec l'importance du réseau ce qui
est tout à fait logique car il faut davantage de ressource
mémoire (voir colonne 3) et de ressource opératoire ce qui
produit une plus grande consommation d'énergie par le FPGA.
· La deuxième remarque que nous ferons ressortir
est évidemment sur les différents temps d'exécution de
l'algorithme. Tout d'abord sur le FPGA comme sur le microprocesseur seul, le
temps d'exécution de l'algorithme croit avec l'importance du
réseau, ce qui est évidemment tout à fait logique ;
ensuite la colonne des rapports temporels nous montre combien le FPGA
exécute de loin plus vite qu'un microprocesseur conventionnel.
Cela est dû à deux raisons fondamentales :
· Tout d'abord la différence est au niveau de
l'architecture interne du FPGA qui est conçue pour effectuer des
tâches dédiées c'est-à-dire bien spécifiques
en sorte que pendant son fonctionnement, il n'exécute que la tâche
qui lui a été assignée,c'est ce qui lui confère sa
rapidité. Le microprocesseur conventionnel quant à lui effectue
plusieurs tâches à la fois ce qui est une cause de son retard sur
le FPGA.
· Le FPGA a également cet avantage que sa
programmation allie la souplesse du software à la rapidité du
hardware, alors que celle du microprocesseur est réalisée de
manière soft uniquement et ne bénéficie donc pas de la
rapidité du hard qu'a le FPGA.
· Les instructions multiples sur les variables sont
exécutées de façon concurrentielle sur le FPGA.
· Les opérations arithmétiques multiples,
telles que les comparaisons, sont exécutées en
parallèle.
Voila ce que nous pouvons dire sur ces résultats.
Nous ne pouvons pas faire une analyse plus poussée car
on entrerait maintenant dans le cadre de l'architecture du programme qui a
été utilisé pour réaliser cette
implémentation, or nous n'avons pas la même architecture, c'est
donc la raison pour laquelle nous n'avons fait que des remarques d'ordre
général mais pertinentes.
Perspective
Afin de pouvoir améliorer cet algorithme
d'implémentation, il ne serait pas intéressant de réaliser
ce programme en un block compact d'instruction mais plutôt de pouvoir le
subdiviser en plusieurs blocks de petites tailles et les sauvegarder dans un
fichier sous forme de package. Ceux ci pourront être utilisés par
la suite pour réaliser des versions plus améliorées.
|