WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Affectation de circuits d'une bibliothèque a des unités fonctionnelles d'une partie opérative avec des contraintes de surface, de vitesse et de consommation d'énergie.

( Télécharger le fichier original )
par Farida LOUACHENI
Université Saad Dahleb Blida - Ingénieur d'état Informatique  2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

CHAPITRE 4

RJsu(tats

4.1 Introduction :

Les résultats qui vont être présentés dans ce chapitre ont été obtenus sur une machine dotée d'une mémoire principale de capacité de 2 Go et d'un processeur fonctionnant à 2 GHz s'exécutant sous le système d'exploitation Linux.

Le code source de notre application a été développé en utilisant le langage C. Dans un souci de conception modulaire, notre application a été décomposée en plusieurs modules dont la compilation a été rendue efficace et aisée grâce à l'utilisation du Makefile, fichier indiquant les dépendances entre les différents fichiers ainsi que la (les) commande(s) de compilation (ou d'édition de liens) à exécuter en cas de modification d'un fichier source ou objet.

4.2 Présentation des résultats :

Nos résultats sont représentés dans le tableau suivant :

 

SF
um2

TF
ns

PF
uw

surface

um2

max_delai
ns

max_puissance
uw

delai_moy
ns

puissance_moy
uw

Tps
CPU (s)

1

155.

51.

2.5

155.

49.20

1.70

41.45

1.68

04

2

155.

55.

2.0

155.

49.20

1.70

41.45

1.68

04

3

150.

52.

2.5

150.

50.50

1.67

43.75

1.57

04

4

150.

50.

2.0

149.5

50.00

1.52

43.50

1.42

05

5

150.

50.

1.5

149.

50.00

1.49

43.50

1.38

09

6

160.

49.0

1.8

156.

48.70

1.76

41.20

1.74

03

7

156.

48.7

1.75

153.

48.70

1.70

41.95

1.64

03

8

160.

48.7

1.68

153.5

48.70

1.64

41.95

1.57

04

9

150.

50.

1.40

150.

50.00

1.39

43.00

1.31

14

10

149.

49 .5

1.49

149.

49.50

1.47

43.00

1.36

46

Tableau 4.1 Résultats obtenus pour différentes contraintes

SF, TF et PF dénotent respectivement les contraintes de surface, de temps et de consommation de puissance fixées.

Les 3 colonnes qui suivent indiquent respectivement la surface, le temps et la consommation de puissance obtenus avec les contraintes fixées et les fichiers de données suivants :

- Fichier DONNEES :

ADD 4 2 MULT 5 8 COMP 6 3 AND 3 0 RSHIFT 7 2

LSHIFT 7 1

- Fichiers des instances des opérateurs utilisés dans le circuit :

Pour chacun de ces fichiers, les 3 valeurs représentent respectivement la surface, le temps et l'énergie qui caractérisent l'instance considérée.

- Fichier ADD1 :

10. 5. 2.

- Fichier ADD2 :

8. 6. 2.

- Fichier ADD3

11. 4. 3.

- Fichier ADD4

9. 5. 3.

- Fichier MULT1 :

14. 9. 4.

- Fichier MULT2 :

13. 10. 3.

- Fichier MULT3 :

12. 10.5 3.

- Fichier MULT4 :

13. 9.5 3.5

- Fichier MULT5 :

13.5 9.5 5.5 - Fichier COMP1

9. 5. 2.5

- Fichier COMP2 :
8. 6. 2.

- Fichier COMP3 :

6. 7. 1.

- Fichier COMP4 :

7. 5. 2.

- Fichier COMP5 :

8. 3.5 2.5

- Fichier COMP6 :

8.5 4.5 3.

- Fichier RSHIFT1 :
7. 5. 1.5

- Fichier RSHIFT2 :
6.5 5.5 1.

- Fichier RSHIFT3 :
4. 8. 1.

- Fichier RSHIFT4 :

4.5 7.5 1.

- Fichier RSHIFT5 :

2. 9.5 0.8

- Fichier RSHIFT6 :

1. 10. 0.6

- Fichier RSHIFT7 :

1.5 9.7 0.7

- Fichier LSHIFT1 :

7. 5. 1.5

- Fichier LSHIFT2 :

6.5 5.5 1.

- Fichier LSHIFT3 :
4. 8. 1.

- Fichier LSHIFT4 :

4.5 7.5 1.

- Fichier LSHIFT5

2. 9.5 0.8

- Fichier LSHIFT6 :

1. 10. 0.6

- Fichier LSHIFT7 :

1.5 9.7 0.7

Le tableau 4.1 montre que pour les 10 tests, les contraintes fixées sont bien sûr satisfaites. Il suffit de comparer les colonnes indiquées par surface, max_delai et max_puissance à celles correspondant à SF, TF et PF, respectivement. Nous donnerons par la suite des explications détaillées sur l'obtention des résultats correspondant au 1er jeu d'essais.

Notons que :

- max_delai et max_puissance sont respectivement le temps et la consommation de puissance obtenus en considérant toutes les traces et d'en déduire le maximum pour ces 2 paramètres

- delai_moy et puissance_moy sont déterminés en considérant respectivement la moyenne des délais de toutes les traces et la moyenne des consommations de puissance de toutes les traces.

Les temps CPU restent raisonnables (ne dépassant pas 38 secondes) pour déterminer la configuration qui satisfait les contraintes fixées et montrent que nos algorithmes développés sont efficaces pour trouver, dans la mesure du possible, la configuration satisfaisant les contraintes parmi un très grand nombre de possibilités.

Les résultats indiqués dans le précédent tableau ne suffisent pas. En effet, il faut indiquer au concepteur du circuit, la configuration à utiliser. Ceci est généré dans les fichiers DPi1 et DPi2 ci-après.

- DPi1 (DPi2) correspond au fichier décrivant les instances qui seront utilisées dans le circuit pour exécuter la trace 1 (ou 2) de l'algorithme à implémenter en Hardware

- 1 = i = 10 correspond à l'un des 10 tests qui figurent dans le tableau 4.1

Fichiers DP :

155 51 2.5 :

DP11 :

1 ADD3 # ADD4 # MULT4 # RSHIFT6 # FIN

2 MULT4 # MULT5 # MULT4 # LSHIFT7 # FIN

3 MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # COMP6 # FIN

DP12 :

1 ADD3 # ADD4 # MULT4 # RSHIFT6 # FIN

2 MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5

# MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT4 # MULT5 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # MULT4 # FIN

5 MULT4 # ADD3 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées pour le 1er test sont :

ADD3, ADD4 (car il y a 2 additionneurs dans la partie opérative ou circuit). MULT4, MULT5, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5 (car il y a 8 multiplieurs dans la partie opérative).

COMP6, COMP5, COMP6 (car il y a 3 comparateurs dans la partie opérative). RSHIFT6, RSHIFT7 (car il y a 2 décaleurs à droite dans la partie opérative). LSHIFT7 (car il y a 1 décaleur à gauche dans la partie opérative).

155 55 2.0:

DP21:

1 ADD3 # ADD4 # MULT4 # RSHIFT6 # FIN

2 MULT4 # MULT5 # MULT4 # LSHIFT7 # FIN

3 MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # COMP6 # FIN

DP22 :

1 ADD3 # ADD4 # MULT4 # RSHIFT6 # FIN

2 MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT4 # MULT5 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # MULT4 # FIN

5 MULT4 # ADD3 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD3, ADD4.

MULT4, MULT5, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

150 52 2.5 :

DP31 :

1 ADD2 # ADD2 # MULT5 # RSHIFT6 # FIN

2 MULT5 # MULT3 # MULT4 # LSHIFT7 # FIN

3 MULT5 # MULT3 # MULT4 # MULT5 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP32 :

1 ADD2 # ADD2 # MULT5 # RSHIFT6 # FIN

2 MULT5 # MULT3 # MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT5 # MULT3 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # MULT5 # FIN

5 MULT5 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD2.

MULT5, MULT3, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

150 50 2.0 :

DP41 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT3 # MULT3 # LSHIFT7 # FIN

3 MULT1 # MULT3 # MULT3 # MULT5 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP42 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT3 # MULT3 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT3 # RSHIFT6 # RSHIFT7 # MULT3 # FIN

4 ADD2 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD2.

MULT1, MULT3, MULT3, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

150 50 1.5 :

DP51 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT3 # MULT4 # LSHIFT7 # FIN

3 MULT1 # MULT3 # MULT4 # MULT3 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP52 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT3 # MULT4 # MULT3 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT3 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD2.

MULT1, MULT3, MULT4, MULT3, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

160 49.0 1.8 :

DP61 :

1 ADD3 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT5 # MULT4 # LSHIFT7 # FIN

3 MULT1 # MULT5 # MULT4 # MULT5 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # COMP6 # FIN

DP62 :

1 ADD3 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT5 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD3 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD3 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD3, ADD4.

MULT1, MULT5, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

156 48.7 1.75 :

DP71 :

1 ADD2 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT5 # MULT4 # LSHIFT7 # FIN

3 MULT1 # MULT5 # MULT4 # MULT5 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP72 :

1 ADD2 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT5 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD4.

MULT1, MULT5, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7

160 48.7 1.68 :

DP81 :

1 ADD2 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT1 # MULT4 # LSHIFT7 # FIN

3 MULT1 # MULT1 # MULT4 # MULT5 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP82 :

1 ADD2 # ADD4 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT1 # MULT4 # MULT5 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT1 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD4.

MULT1, MULT1, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT6, RSHIFT7.

LSHIFT7.

150 50 1.40 :

DP91 :

1 ADD2 # ADD2 # MULT2 # RSHIFT6 # FIN

2 MULT2 # MULT2 # MULT4 # LSHIFT7 # FIN

3 MULT2 # MULT2 # MULT4 # MULT2 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP92 :

1 ADD2 # ADD2 # MULT2 # RSHIFT6 # FIN

2 MULT2 # MULT2 # MULT4 # MULT2 # MULT4 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT2 # MULT2 # RSHIFT6 # RSHIFT7 # MULT4 # FIN

4 ADD2 # COMP6 # COMP5 # MULT2 # FIN

5 MULT2 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD2.

MULT2, MULT2, MULT4, MULT2, MULT4, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT7, RSHIFT7.

LSHIFT7.

149 49.5 1.49 :

DP101 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT2 # MULT2 # LSHIFT7 # FIN

3 MULT1 # MULT2 # MULT2 # MULT3 # MULT3 # FIN

4 ADD2 # COMP6 # COMP5 # COMP6 # FIN

DP102 :

1 ADD2 # ADD2 # MULT1 # RSHIFT6 # FIN

2 MULT1 # MULT2 # MULT2 # MULT3 # MULT3 # MULT5 # MULT4 # MULT5 # LSHIFT7 # FIN

3 MULT1 # MULT2 # RSHIFT6 # RSHIFT7 # MULT2 # FIN

4 ADD2 # COMP6 # COMP5 # MULT1 # FIN

5 MULT1 # ADD2 # RSHIFT6 # LSHIFT7 # COMP6 # FIN

Les instances utilisées sont :

ADD2, ADD2.

MULT1, MULT3, MULT3, MULT2, MULT3, MULT5, MULT4, MULT5. COMP6, COMP5, COMP6.

RSHIFT7, RSHIFT7.

LSHIFT7.

Nous donnons ci-après quelques détails concernant les résultats obtenus pour le 1er test. En considérant les fichiers DP11 et DP12 et en tenant compte des valeurs de surface, temps et énergie de chacune des instances indiquées dans ces fichiers, on obtient ce qui suit:

i) surface :

Instances utilisées : ADD3, ADD4, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5, MULT4, MULT5, COMP6, COMP5, COMP6, RSHIFT6,

RSHIFT7, RSHIFT6, LSHIFT7 utilisant ainsi une surface égale à :

11 + 9 +4*(13 + 13.5) + 8.5 + 8 + 8.5 + 1 + 1.5 + 1 + 1.5 = 155

(Voir la colonne surface dans le tableau 4.1)

ii) temps :

DP11 :

1 :

2 :

3 :

4 :

4 ; 5 ; 9.5 ; 10

9.5 ; 9.5 ; 9.5 ; 9.7

9.5 ; 9.5 ; 9.5 ; 9.5 ;

4 ; 4.5 ; 3.5 ; 4.5

9.5

> max = 10 > max = 9.7 > max = 9.5 > max= 4.5

T1= Somme des max = 33.7

DP12 :

1 :

2 :

3 :

4 :

5 :

4 ; 9.5 9.5 4 ; 9.5

5 ; 9.5 ; 10

; 9.5 ; 9.5 ; 9.5 ; 9.5 ;

; 9.5 ; 10 ; 9.7 ; 9.5

4.5 ; 3.5 ; 9.5

; 4 ; 10 ; 9.7 ; 4.5

9.5 ;

9.5 ;

9.5 ;

9.7

> max = 10 > max = 9.7 > max = 10 > max = 9.5

> max = 10

T2= Somme des max = 49.2

T = MAX(T1, T2) = 49.20 ns

(Voir la colonne max_delai dans le tableau 4.1) Tmoyen= (T1 + T2) / 2 = 41.45 ns

(Voir la colonne delai_moy dans le tableau 4.1)

iii) puissance :

DP1 :

Energie1= 3 + 3 + 3.5 +0.6 + 3.5 + 5.5 + 3.5 + 0.7 + 3.5 + 5.5 + 3.5 + 5.5 +

3.5 + 3 + 3 + 2.5 + 3 = 56.3 fJ

Puissance=Energie * Fréquence= Energie1 / T1= 56.3 / 33.7= 1.67 uW

+0.6

+ 4*(3.5 + 5.5)

+ 0.7

+ 3.5

+ 5.5 + 0.6 + 0.7 +

+ 2.5

+ 3.5 + 3.5 + 3

+ 0.6

+ 0.7

+ 3 = 83.4 fJ

DP2 :

Energie2= 3 + 3 + 3.5

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Un démenti, si pauvre qu'il soit, rassure les sots et déroute les incrédules"   Talleyrand