1
Systèmes embarqués
Cours 4
Systèmes embarqués
Sylvain Tisserant - ESIL
DSP
Systèmes embarqués - S. Tisserant - ESIL - 2009
Expression des besoins
Traitement numérique du signal :
Transformée de Fourier discrète, produit de
convolution et filtres numériques
Sommes de produits
Flux de données élevés
Optimisation :
Manipulation de données (transferts, tris, stockage,
etc.)
Calculs mathématiques
Systèmes embarqués - S. Tisserant - ESIL - 2009
Expression des besoins (2)
Arithmétique rapide
Facile à comprendre : à adapter aux flux entrant et sortant
des données et à l’algorithme de traitement
Arrivée des données : interruptions
Précision étendue
Produit de 2 fois 16 bits 32 bits
Accumulation au moins 40 bits pour éviter les débordements
Accès mémoires rapides et efficaces
Bus souvent le goulot d’étranglement des architectures
Données consécutives génération des adresses
Transferts simultanés des deux opérandes d’un produit
Deux bus de données
Adaptation des cycles instruction et mémoire
Données suivantes disponibles à la fin de l’instruction
2
Systèmes embarqués - S. Tisserant - ESIL - 2009
Expression des besoins (3)
Tampon circulaire :
Filtre à réponse impulsionnelle finie (RIF)
Les M+1 coefficients a
k
= h(k) sont périodiques
Toujours M+1 termes dans la somme : pour chaque nouvel
échantillon il faut éliminer le plus ancien
écrire le nouveau à la place du plus ancien
Gestion circulaire des indices
Tampon circulaire : gestion par matériel des pointeurs
Boucle sans "frais additionnel" :
Boucle gérée par le matériel
=
=
M
k
)kn(x)k(h)n(y
0
Systèmes embarqués - S. Tisserant - ESIL - 2009
Tampon circulaire
Systèmes embarqués - S. Tisserant - ESIL - 2009
Arithmétique
Unités MAC
Multiplication et accumulation
Barrel Shifter
Décalages de n bits en un seul cycle
Utilisé pour multiplications (et divisions)
Utilisé en virgule flottante pour recadrer les mantisses
Décalage donné par différence des exposants
Virgule fixe ou flottante ?
Virgule fixe : moins cher et plus rapide
Virgule flottante : pour grande gamme dynamique et
meilleure précision
Systèmes embarqués - S. Tisserant - ESIL - 2009
Barrel shifter
a
7
a
6
a
5
a
4
a
3
a
2
a
1
a
0
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
"0"
c
0
c
1
c
2
3
Systèmes embarqués - S. Tisserant - ESIL - 2009
Barrel shifter (2)
a
7
a
6
a
5
a
4
a
3
a
2
a
1
a
0
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0
"0"
c
0
c
1
c
2
Exemple : C = 5
b
7
b
6
b
5
b
4
b
3
b
2
b
1
b
0 =
a
2
a
1
a
0
0 0 0 0 0
Décalage vers la gauche de 5
Systèmes embarqués - S. Tisserant - ESIL - 2009
Virgule fixe & flottante
Virgule fixe :
Poids 2-m pour le bit de poids le plus faible
m bits de poids faible : partie fractionnaire
n-m bits de poids fort : partie entière
Virgule flottante
A = ±M 2Eavec 2-1 M < 1
M : mantisse normalisée
E : exposant
mm
n
k
k
k
n
k
mk
k
A
a
aF 22
2
2
1
0
1
0
===
=
=
Systèmes embarqués - S. Tisserant - ESIL - 2009
Norme IEEE 754
32 bits
1 bit de signe
0 32 bits à 0
8 bits pour exposant en représentation biaisée
(pas de confusion entre 0 et 0,5)
23 bits pour la mantisse à bit caché
Mantisse dénormalisée pour v < 0.1 2-127
Par ex : 0.001 2
-127
Si 8 bits de l’exposant à 1 :
M = 0 ⇔ ±∞
M 0 NaN
S
mantisseexposant
Systèmes embarqués - S. Tisserant - ESIL - 2009
Norme IEEE 754
4
FPGA
Systèmes embarqués - S. Tisserant - ESIL - 2009
Circuits de logique programmable
I
0
III
123
Y
0
YYY
123
I
0
III
123
Y
0
YYY
123
Systèmes embarqués - S. Tisserant - ESIL - 2009
Circuits de logique programmable
I
0
III
123
Y
0
YYY
123
Systèmes embarqués - S. Tisserant - ESIL - 2009
Circuits de logique programmable
D Q
Q
ClK
Horlorge OE
sortie
Matrice de connection
Bloc Logique
Bloc Logique Bloc Logique
Macrocellule
5
Systèmes embarqués - S. Tisserant - ESIL - 2009
Circuits de logique programmable
seau de connexion
programmable
Bloc logique
Bloc d'entrée/sortie
Systèmes embarqués - S. Tisserant - ESIL - 2009
FPGA
Field Programmable Gate Array
Configuration des connexions dans une mémoire
vive (chargée à l’initialisation du système) ou dans
une EEPROM ou mémoire flash
Chaque bit commande une connexion
Programmation
VHDL, Verilog, AHDL, etc.
Environnement de développement
Editeur, compilateur, simulateur, chargeur, moniteur
Bibliothèque de composants
Microcontrôleur intég
Environnement de
développement
Systèmes embarqués - S. Tisserant - ESIL - 2009
Outils de développement
Outre l’environnement classique de développement de code
(éditeur, assembleur, compilateur, gestion de projet, etc.), on
peut trouver pour un microcontrôleur :
Simulateur
Emulateur
Moniteur
Chargeur résident
Application résidente
en ROM, EPROM, EEPROM ou mémoire flash
Au démarrage, ou après réinitialisation, le microcontrôleur
lance automatiquement l’exécution du programme à une
adresse fixe
Aide au débogage
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !