Estimation de la consommation dans la conception systme des applications embarques temps rels - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Estimation de la consommation dans la conception systme des applications embarques temps rels

Description:

On cherche actuellement identifier des nombres premiers. de Mersenne d'au moins 10 millions de chiffres ! Il y a m me une prime de 100 000 $ pour celui qui trouvera ... – PowerPoint PPT presentation

Number of Views:17
Avg rating:3.0/5.0
Slides: 12
Provided by: johannl2
Category:

less

Transcript and Presenter's Notes

Title: Estimation de la consommation dans la conception systme des applications embarques temps rels


1
Projet SystemC MASTER 2 recherche GEII Promo
2007-2008 IUP Lorient Pierre Bomel
2
Intérêt des circuits ? Le principal avantage des
FPGA/ASIC est de permettre une implémentation
parallélisée, et au bit près, dalgorithmes qui
nécessitent de grandes puissances de
calcul. SystemC ? Une modélisation en SystemC
permet, avec les types de données en virgule
fixe, de valider larchitecture du circuit avant
de limplémenter en VHDL. On peut ainsi simuler
des scénarios avec des représentations
variables des nombres en virgule
fixe. Objectif faire le circuit le plus petit
(le moins de bits possible) et le plus rapide
possible (en nombre de cycles dhorloge) pour la
fonction  dire si un nombre est premier .
3
Les nombres premiers de Mersenne sont de la
forme 2q-1 On cherche actuellement à
identifier des nombres premiers de Mersenne dau
moins 10 millions de chiffres ! Il y a même une
prime de 100 000 pour celui qui trouvera un
nombre premier encore plus long (projet
GIMPS). Plus modestement, nous emploierons le
crible dErasthotène (284-192 av JC), un
mathématicien grec dAlexandrie.
4
Le crible dErasthotène consiste à éliminer tous
les multiples dun nombre dont le carré est
inférieur ou égal au nombre dont on veut tester
la primalité.
Par exemple 37 est-il un nombre premier ?
On commence avec le nombre 2. 4 22 lt 37
On part de la grille suivante.
1
2
1
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
37
32
34
36
37
38
40
On continue avec le nombre 3. 9 32 lt 37
On continue avec le nombre 5. 25 52 lt 37
1
2
3
4
6
8
9
10
1
2
3
4
5
6
8
9
10
12
14
15
16
18
20
12
14
15
16
18
20
21
22
24
26
27
28
30
21
22
24
25
26
27
28
30
32
33
34
36
37
38
39
40
32
33
34
35
36
37
38
39
40
5
On continue avec le nombre 7. Mais 49 72 gt
37 Il est inutile de poursuivre, le criblage est
terminé. 37 na pas été marqué, donc il est
premier !
1
2
3
4
5
6
8
9
10
12
14
15
16
18
20
21
22
24
25
26
27
28
30
32
33
34
35
36
37
38
39
40
Si le nombre 37 avait été marqué lors du criblage
on se serrait arrêté immédiatement en sachant
avec certitude que 37 serait alors un multiple
dun autre nombre, donc non premier.
6
On a dailleurs identifié tous les nombres
premiers inférieurs on égaux à 49.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
7
Le crible dErasthotène repose sur laptitude à
calculer des multiplications de nombres de
tailles de plus en plus grandes. 1/ calculer un
carré dun nombre N pour le test darrêt 2/
calculer les multiples de N pour marquer
(cribler) la table Comment faire lorsque N
grandit ? Par exemple pour trouver des nouveaux
nombres premiers de Mersenne.
La solution cest la FFT !
8
Constat la multiplication est une convolution
! Def soient f(n) et g(m) deux signaux
numériques, leur produit de convolution est le
signal numérique fg défini par la relation
(fg)(p) Snf(n)g(p-n) Soient deux nombres
représentés par des suites af(n) et bg(m) a
f(0) f(1) f(2) 123 ( 321 poids faibles en
premier) b g(0) g(1) g(2) 678 ( 876 poids
faibles en premier) a.b 321 . 876 281196
6 9 1 1 8 2 (poids faibles en premiers)
clk

1 2 3
6 9 1 1 8 2
6 7 8
9
Constat la multiplication est une convolution
! Soient deux nombres représentés par des suites
af(n) et bg(m) a f(n) f(0) f(1) f(2)
123 ( 321 poids faibles en premier) b g(m)
g(0) g(1) g(2) 678 ( 876 poids faibles en
premier) a.b 321 . 876 281196 a.b 6 9 1
1 8 2 (poids faibles en premiers) a.b fg
fg(0) fg(1) fg(2) fg(3) fg(4) fg(0)
f(0)g(0-0) f(1)g(0-1) f(2)g(0-2) 1.6 2.0
3.0 6 fg(1) f(0)g(1-0) f(1)g(1-1)
f(2)g(1-2) 1.7 2.6 3.0 19 fg(2)
f(0)g(2-0) f(1)g(2-1) f(2)g(2-2) 1.8 2.7
3.6 40 fg(3) f(0)g(3-0) f(1)g(3-1)
f(2)g(3-3) 1.0 2.8 3.7 37 fg(4)
f(0)g(4-0) f(1)g(4-1) f(2)g(4-3) 1.0 2.0
3.8 24 Avec propagation de la retenue aux
termes suivants on obtient a.b 6 19 40 37 24
6 9 (140) 37 24 6 9 1 (437) 24 6 9 1 1
(424) a.b 6 9 1 1 8 2 Les deux méthodes
donnent le même résultat.
10
Propriété de la transformée de Fourier la
transformée de Fourier dun produit
de Convolution est le produit des transformées de
Fourier. F(fg) F(f).F(g) Application à la
multiplication des nombres  longs  fg
F-1(F(fg)) F-1(F(f) . F(g)) Donc le circuit
est le suivant
F
1 2 3
x
F-1
6 9 1 1 8 2
F
6 7 8
11
Votre enseignant vous a fourni et à mis en
uvre devant vous le code des FFT (décimée en
temps, base 2) et FFT inverse en virgule
fixe. Votre projet est de modéliser en SystemC
ce circuit et dutiliser ces FFT pour
implémenter lalgorithme du crible
dErathostene. Contrainte pour des nombres
ayant jusquà 1000 chiffres Un test sera fait le
jour de la soutenance avec des nombres choisis
par votre enseignant. Si le nombre est trop
grand, un fichier ASCII contenant ce nombre vous
sera fourni. Bon travail !
Write a Comment
User Comments (0)
About PowerShow.com