Processeurs de Traitement Numérique du Signal (DSP)
Processeurs de Traitement Numérique du Signal (DSP)
I. II. III. IV.
Olivier Sentieys IRISA/ENSSAT Lannion Université de Rennes I
[email protected] http://www.irisa.fr/R2D2
Introduction Architectures MAC/Harvard Evolutions des DSP Flot de développement
Merci à Daniel Ménard pour son support
Exemples d’applications I. Introduction
1. 2. 3. 4.
Contexte applicatif Caractéristiques algorithmiques Solutions architecturales Marché des DSP
Téléphonie cellulaire Communications sans-fil Contrôle de moteur Modems Voix sur Internet Audio grand public Navigation Vidéoconférence Jouets, consoles vidéo Synthèse musicale, effets Médical
ARCHI’05 - 4
• Performances • Faible coût • Faible énergie
Communications satellite Analyse sismique Sécurité Reconnaissance vocale Sonar, radar Photo et caméra numériques Débruitage, écho Anticollision … et pleins d’autres à venir
Tâches élémentaires
Algorithmes de TdSI1
Compression de signal (parole, audio, vidéo) Filtrage Modulation et démodulation Détection et correction d’erreurs Contrôle Traitements audio (e.g. réduction bruit, égalisation, annulation d’écho, conversion de fréquence) Reconnaissance vocale Synthèse de signaux
ARCHI’05 - 5
1Traitement
du signal et de l’image
Signaux numériques o Temps et amplitude discrets o Flot de données o Scalaires, vectorielles, matricielles, …
Traitement temps réel o Temps d'exécution Tex guidé par flots de données o Période d'échantillonnage Te période des sorties Tf > Tex e(t) Te
s(t) ARCHI’05 - 6
Algorithme
ex. s(n) = max(moy(e), s(n-1))
Tf
Diversités
Caractéristiques algorithmiques
Complexité des algorithmes de TdSI
Charge de calcul importante
< 5 MOPS
10-30 MOPS
Faible mesure/contrôle
Compression ADSL Compression UMTS parole modemsaudio GSM Compression Imagerie vidéo médicale
Format des données Application
Taille des données
PWM, mesures, contrôle
1 à 4 - 18 à 22 bits
o Nids de boucles o Multiplications-accumulations (convolution) o Multiplications-additions (FFT, DCT, adaptation, distances, ...)
> 100-1000 MOPS Elevé
Précision des calculs o Virgule fixe ou flottante o Compromis coût – précision des calculs
Bande passante mémoire Calculs d'adressage complexes o Gestion signal, accès image, bit-reverse (FFT), ...
convertisseurs sigma-delta
ARCHI’05 - 7
radio HF/VHF, radar
6 - 14 bits
sonar
10 - 12 bits
parole
8 - 14 bits
audio
16 - 20 bits
imagerie / vidéo
8 - 36 bits (par pixel)
analyseurs de sang
16 - 18 bits
Boucles de traitement courtes o Les instructions peuvent être placées en interne o Pas besoin de grande taille de cache (données ou instructions) ARCHI’05 - 8
Fonctions typiques de TdSI
Exemple Fil Rouge
Convolution, filtrage
Filtre Numérique RIF sur N points
o y = y + x.h : MAC (multiplication-accumulation)
Adaptation (LMS) o yn = yn-1 + x.h : MAD (multiplication-addition)
FFT, multiplication complexe
D
o xr=xr.wr-xi.wi; xi=xr.wi+xi.wr
D
Viterbi o a1 = x1 + x2; a2 = y1 + y2; o y = (a1>a2) ? a1 : a2 : ACS (addition-comparaison-sélection)
h(0)
x
h(1)
D
x
h(2)
x
x
h(3)
h(4)
x y(n)
Estimation de mouvement
+
+
o sad += |xi,j - yi+u,j+v| : SAD (sum-of-absolute-difference) ARCHI’05 - 9
D
x(n)
+
+
TAP ARCHI’05 - 10
Fonctions typiques de TdSI
Fonctions typiques de TdSI
FFT Fast Fourier Transform
Filtrage adaptatif LMS
• Butterfly (DIF) X
X’ = X + W.Y
Y
x x x x ARCHI’05 - 11
Y’ = X - W.Y
W
-
+ -
+
+ -
DLMS xn(i-1)
x en
ARCHI’05 - 12
+ hn(i)
hn-1(i) xn(i)
x
+ y
y
Fonctions typiques de TdSI
Solutions architecturales
Estimation de mouvement
Efficacité énergétique
sadmin = MAXINT; mvx=0; mvy=0; for (u=-p; u