Académique Documents
Professionnel Documents
Culture Documents
• Introduction: généralités
• Ch1 : Architecture des DSPs conventionnels
• Ch2: Nouvelles architectures des DSPs
• Ch3 : Flot de développement &Arithmétique des DSPs
2
Plan de cours
• Introduction:généralités
• Ch1 : Architecture des DSPs conventionnels
• Ch2: Nouvelles architectures des DSPs
• Ch3 : Flot de développement &Arithmétique des DSPs
3
Traitement numérique du signal
Pourquoi faire du traitement numérique du signal ?
Introduction 4
Traitement numérique du signal
Exemples d’applications: Exemples d’algorithmes:
Introduction 5
Traitement numérique du signal
Échantillonnage +
Filtre anti-repliement Traitement
Conversion
Introduction 6
Chaine de traitement numérique du signal
Signal original grandeur
physique
Signal traité
Adaptation du signal
G d’entrée
(gain+démodulation)
MEM
Filtre anti-repliement
Quantification DSP
Filtre de
CAN CNA
E/S reconstitution
Échantillonnage
fs
Introduction 7
Chaine de traitement numérique du signal
Filtre anti-repliement
Introduction 8
Chaine de traitement numérique du signal
Convertisseur AN et NA
Echantillonnage: capteur analogique
Respecter le théorème de Shannon et laisser à la machine le temps
d’effectuer ses calculs
Choix de la fréquence d’échantillonnage adéquate à l’application
Introduction 9
Chaine de traitement numérique du signal
Convertisseur AN et NA
Quantification du signal
Introduction 10
Chaine de traitement numérique du signal
Convertisseur AN et NA
La quantification est l’approximation des valeurs d’un signal x(n) par un multiple entier du
pas de quantification q. On notera
en xQ ( n ) x(n)
L’effet de cette quantification est de superposer au signal d’origine un signal de bruit
blanc uniformément répartis e(n).
La variance du bruit e(n)est équivalente à la puissance du bruit:
q2
Pa 2
e
12
Introduction 11
Chaine de traitement numérique du signal
Liaisons convertisseurs / DSP
Précision d’un convertisseur:
La précision est différente de la résolution (nombre de bits nécessaires pour
quantifier le signal)
La précision est le rapport entre une valeur binaire obtenue en sortie du
convertisseur pour une valeur d’entrée donnée et la valeur binaire qu’il aurait fallu
obtenir en théorie
Notion de dynamique:
intervalle entre les valeurs min et max: doit être le plus étendu possible
Introduction 12
Chaine de traitement numérique du signal
Liaisons convertisseurs / DSP
Liaisons parallèles
•utilisation des bus de données // du DSP
•Augmentation de la résolution des convertisseurs complication des circuits
imprimés et donc le prix de fabrication
Elle dispose de 2 mémoires séparées: une pour les données et l’autre pour les
instructions du programme Proposition de John Von Neumann: une seule
mémoire centrale afin de simplifier la structure de l’ENIAC.
Introduction 14
C’est quoi un DSP?
RISC/CISC:
CISC ( Complex Instruction Set Computer): décomposition de chaque
instruction en une suite d’opérations simples permises par le circuit interne
du processeur
•Exemple: le noyau du processeur 8032 requiert 12 cycles machines par instruction.
Certaines instructions, comme la multiplication, peuvent ainsi demander 36 cycles
machines
•Problème principal: le calcul de la charge logicielle du processeur est très difficile du
fait de la très large variabilité du nombre de cycles nécessaires pour l’exécution
d’une instruction
•Besoin des applications « temps réel »: on ne dispose que d’un laps de temps
donné pour réaliser certains calculs (ex: algorithme de traitement audionumérique en
temps réel)
Introduction 15
C’est quoi un DSP?
Un DSP est un microprocesseur RISC dont la structure et le jeu d’instructions sont
optimisés pour une exécution la plus rapide possible des algorithmes de traitement
du signal
Les DSPs réalisent 4 principaux types de calculs pour lesquels ils doivent
être optimisés:
Introduction 16
Profils d’utilisation du DSP
Introduction 17
Applications des DSP
Audio Militaire
Mixage et effets Imagerie : radar, sonar…
Suppression de bruit Cryptographie
Annuleur d’echo Guidage de missiles
Introduction
18
Applications des DSP
Automatisation Biomédical
Commande de machines Équipements de monitoring
Contrôle de moteurs Signaux biophysiques
Robots ElectroEncéphaloGramme
(EEG)
ElectroCardioGramme (ECG)
Radiographie
Introduction
19
Ch1 : Architecture des DSPs conventionnels
Plan de cours
• Introduction:Généralités
• Ch1 : Architecture des DSPs conventionnels
• Ch2: Nouvelles architectures des DSPs
• Ch3 : Flot de développement &Arithmétique des DSPs
21
Chapitre 1
• Architectures des DSPs conventionnels
1. Introduction
2. Unité de traitement
3. Unité de mémorisation
4. Unité de contrôle
Modélisation d’un processeur
23
Chapitre1 DSP
Architecture des DSPs conventionnels
Principe:
L’architecture des premiers DSPs est directement inspirée de la
structure des filtres numériques
Exemple Filtre FIR sur N points:
24
Chapitre1 DSP
Chapitre 1
Architectures des DSPs conventionnels
1. Introduction
2. Unité de traitement
3. Unité de mémorisation
4. Unité de contrôle
25
Unité de traitement spécialisée
26
Chapitre1 DSP
Exemple: le TMS320 C50
27
Chapitre1 DSP
Mesure de performances
28
Chapitre1 DSP
Exercice d’application1
Soit un filtre FIR dont le schéma de fonctionnement dans le domaine temporel est le suivant :
29
Chapitre1 DSP
On suppose que l’on dispose d’un calculateur de type DSP conventionnel.
3. Le DSP qu’on utilise possède une période de cycle de 100 ns. Quelle est dans ce
cas la fréquence d’échantillonnage maximale du signal pour traiter ce filtre en
temps réel sur ce DSP?
30
Chapitre1 DSP
Chapitre 1
Architectures des DSPs conventionnels
1. Introduction
2. Unité de traitement
3. Unité de mémorisation
4. Unité de contrôle
31
Unité de mémorisation
Chapitre1 DSP 33
Processeurs: Von Neumann Vs Harvard
Disposer d’une seule mémoire dans laquelle l’unité de contrôle vient puiser
les informations nécessaires pour le déroulement de son programme
Exemple: Y = A + B
Lecture de l’instruction, lecture de A, lecture de B et exécution du calcul,
rangement du résultat dans la variable Y: 4 accès mémoire
34
Chapitre1 DSP
Processeurs: Von Neumann Vs Harvard
La structure Harvard:
Principe: séparation des mémoires de données et de programme comme pour l’ENIAC
Exemple: Y = A + B
Lecture simultanée du code de l’instruction et de la variable B dans la mémoire données.
La variable A était lue lors d’une précédente opération
Par rapport à la structure Newmann, la structure Harvard est deux fois plus rapide.
35
Chapitre1 DSP
Processeurs: Von Neumann Vs Harvard
1) DSPs: Architecture Harvard
36
Chapitre1 DSP
Processeurs: Von Neumann Vs Harvard
2) DSPs: Modèle load-store
Localisation des opérandes 2 modèles:
37
Chapitre1 DSP
Processeurs: Von Neumann Vs Harvard
3) Solution1: Architecture Harvard modifiée
Chapitre1 DSP 38
Processeurs: Von Neumann Vs Harvard
Chapitre1 DSP 39
Processeurs: Von Neumann Vs Harvard
3) Solution 3: Mémoire multi-accès
– Mémoire rapide autorisant plusieurs accès séquentiels par
cycle instruction
Cycle instruction
Ad. 1 2 3 4
Donnée 1 2 3 4
Chapitre1 DSP 40
Processeurs: Von Neumann Vs Harvard
Chapitre1 DSP 41
Les types d’adressages usuels
Chapitre1 DSP 42
Adressages supplémentaires dans les DSPs
1- Adressage circulaire en modulo
But:
–Éviter l’opération d’écriture x(i)=x(i-1)
–Ne conserver que les N dernières valeurs des entrées ou d’un
calcul précédent comme dans une FIFO.
Principe: Utiliser des pointeurs mobiles pour repérer le début et la
fin des données : tampons circulaires
Nombre de tampons circulaires
simultanés
AT&T DSP16xx : 1
TMS320C5x : 2
Motorola 5600x : 4
ADSP : 8
Chapitre1 DSP 43
Adressages supplémentaires dans les DSPs
1- Adressage circulaire en modulo (suite)
Chapitre1 DSP 45
Adressages supplémentaires dans les DSPs
Rappel sur la transformée de Fourrier (suite)
Physiquement, exp(j2πft) est un vecteur tournant à la fréquence f. La TF est le fait
d’identifier la quantité de la fonction x(t) qui tourne à la fréquence f =
a.exp(j2πft), a= cte. Il s’agit de déterminer cette constante a, on multiplie donc
x(t) par le vecteur tournant en sens inverse: exp(-j2πft).
En revanche, tout ce qui tourne à une vitesse différente va tourner aussi dans le
repère tournant et donc va prendre des valeurs tantôt positives, tantôt négatives.
Ces valeurs vont donc s'annuler quand on intègre sur le temps de -∞ à +∞.
𝑋 𝑓 = 𝑥 𝐾𝑇𝑒 exp(−𝑗2𝜋𝑓𝐾𝑇𝑒 )
𝑘=−∞
Chapitre1 DSP 46
Adressages supplémentaires dans les DSPs
Comme le calculateur est limité dans sa puissance de calcul, il ne peut fournir ces résultats
que pour un nombre limité de fréquence f, qu’il est naturel de choisir multiples d’un
certain pas de fréquence Δf. Un choix simplificateur intéressant consiste à prendre
Δf=1/NTe. Pour 0<n< N. La TFD s’exprime comme:
𝑁−1
𝑘𝑛
𝑋 𝑛 = 𝑥 𝑘 exp(−𝑗2𝜋 )
𝑁
𝑘=0
Chapitre1 DSP 47
Adressages supplémentaires dans les DSPs
Ecriture matricielle de la TFD
On partage les coefficients x(k) en deux parties, l’une contenant les coefficients de rang pair
(k=2i), l’autre les coefficients impairs (k=2i+1). Comme N est pair, il y’aura N/2 coefficients
dans chaque paquet. L’équation de la TFD sera:
𝑁 𝑁
−1 −1
2 2
(2𝑖+1)𝑛
𝑋 𝑛 = 𝑥 2𝑖 𝑊𝑁2𝑖𝑛 + 𝑥 2𝑖 + 1 𝑊𝑁
𝑖=0 𝑖=0
D’autre part:
𝑁 𝑁
𝑁 −1 𝑖𝑛 −1
𝑋(𝑛 + 2
)= 𝑖=0 𝑥 2𝑖 𝑊𝑁 − 𝑊𝑁𝑛 2
𝑖=0
𝑥 2𝑖 + 1 𝑊𝑁𝑖𝑛
2
2 2
On remarque qu’une TFD d’ordre N est décomposée en 2 TFD d’ordre N/2 suivies d’une
recombinaison.
Chapitre1 DSP 50
Adressages supplémentaires dans les DSPs
Rappel FFT (suite)
Comme N/2 est également un nombre pair, on peut de nouveau partager chacune des TFD d’ordre N/2 en
deux TFD d’ordre N/4 et par itération en un nombre d’étages égal à log2(N), nous arrivons à une TFD sur
2 points.
Chapitre1 DSP 51
Adressages supplémentaires dans les DSPs
Rappel FFT (suite)
-Combien de papillons est-il nécessaire de calculer pour une FFT sur N points?
Chapitre1 DSP 52
Adressages supplémentaires dans les DSPs
Rappel FFT (suite)
Le graphe complet nécessite le calcul de 𝑁 2 𝑙𝑜𝑔2 𝑁papillons ce qui donne donc en unité
de calcul :
– 𝑁 2 𝑙𝑜𝑔2 𝑁multiplications de nombres complexes,
– N 𝑙𝑜𝑔2 𝑁additions/soustractions de nombres complexes, ou,
– 2N 𝑙𝑜𝑔2 𝑁multiplications de nombre réels,
– 3N 𝑙𝑜𝑔2 𝑁additions/soustractions de nombre réels.
A l’opposé de la TFD, la TFR génère un calcul d’adresse non négligeable entre deux
étages m et m+1.
De plus, il est nécessaire de présenter à l’algorithme les échantillons dans un ordre non
régulier (bit-reverse) ce qui engendre un calcul d’adresse supplémentaire. Ces
problèmes ne sont pas négligeables surtout sur un processeur général car ils rajoutent à
la complexité élémentaire une complexité d’adressage.
Chapitre1 DSP 53
Adressages supplémentaires dans les DSPs
Chapitre1 DSP 54
Exercice d’application2
La DCT (Discrete Cosine Transform) ou transformée en cosinus discret transforme X et Y
définis comme les coordonnées du pixel d’une image et Z sa définition lumineuse en une
information fréquentielle, représentant les fréquences du pixel dans les deux dimensions
(horizontale et verticale).
Un papillon de la DCT est définit par: xs = xe + ck.ye et ys = xe – ck.ye. L’indice k des coefficients
ck varie pour chaque papillon et ck = cos( 2πk/N ).
Les échantillons en entrée du bloc DCT sont réels.
Chapitre1 DSP 54
Exercice d’application2
Chapitre1 DSP 55
Accès Direct à la Mémoire (DMA : Direct
Memory Access)
Mémoire Programme
+ Données • DMA : Contrôleur du
transfert des données
CPU
entre les plages
d’adresse de la
Mémoire Données
mémoire sans
l’interférence du
CPU. Formé par 4
interruptions canaux
DMA
programmables et un
configuration cinquième auxiliaire.
-Les échanges avec le codec sont gérés au niveau matériel par le DSP: port série
bufferisé BSP (Buffered Serial Port), pourvu d’une ABU (Automatic Buffering
Unit), qui possède deux buffers intermédiaires (ping et pong) .
-Un buffer (ping) est rempli pendant que le CPU traite les données de l’autre
buffer (pong).
- Lorsque le buffer est plein, interversion des rôles.
-Peut être implémenté par un buffer découpé en deux.
Chapitre1 DSP 58
Chronogramme des échanges de données en
DMA
Chapitre1 DSP 59
Traitement par bloc Vs traitement échantillon par
échantillon
-Dans le cas d’un traitement par blocs de taille N, les données sont fournies à la
fonction de traitement sous la forme d’un tableau contenant N échantillons
consécutifs x(m) à x(m+N-1).
Le traitement par blocs est associé au DMA. Le DMA peut ainsi copier les
échantillons obtenus sur un port série en entrée directement en mémoire, en
remplissant un tableau. Une fois la configuration du DMA effectuée une fois
pour toute, le processus est autonome. Lorsque le tableau est plein, ou à moitié
plein, une interruption est alors générée, qui vient provoquer le lancement de la
fonction de traitement, qui peut alors prendre un bloc déjà rempli en entrée.
Chapitre1 DSP 60
Avantages Traitement par bloc Vs traitement
échantillon par échantillon
Diminution du nombre d’interruptions du processeur : on évite ainsi la
petite perte de temps pour traiter l’interruption, qui peut s’avérer importante si
elle intervient pour chaque échantillon. Cette perte est limitée à une
interruption par bloc de N échantillons.
Chapitre1 DSP 61
Inconvénients Traitement par bloc Vs traitement
échantillon par échantillon
-Plus grande latence entre l’arrivée des échantillons en entrée, et la sortie des
échantillons correspondant : de l’ordre du temps nécessaire pour remplir deux
blocs, soit 2NTe, en notant Te la période d’échantillonnage (l’échantillon x(0) est
le premier du bloc 1, il faut attendre le remplissage du bloc 1 pour que la fonction
de traitement soit lancée, la fonction a le temps du remplissage du bloc 2 pour
fournir un résultat y(0), qui est envoyé en sortie dès le début du remplissage du
bloc 3
Chapitre1 DSP 62
Architectures des DSPs conventionnels
1. Unité de traitement
2. Unité de mémorisation
3. Unité de contrôle
63
Schéma du principe des échanges
Chapitre1 DSP 64
Fetch (lecture instruction)
Chapitre1 DSP 65
Read/write (lecture/Ecriture des données)
Chapitre1 DSP 66
Séquentiel Vs Pipeline
Chapitre1 DSP 67
Exemple de repture du Pipeline
Chapitre1 DSP 68
DSPs et Pipeline
Presque tous les DSP sont pipelinés
Le nombre d’étages varie de 2 à 5:
– Fetch Instruction
– Decode
– OperandRead
– Execute (MAC, ALU, ...)
– Write result
• ADSP :2
• TMS320C3x , ... :4
• TMS320C54x, ... :5
Chapitre1 DSP 69
Performances d’un µP (cas non pipeliné)
Chapitre1 DSP 70
Performances d’un µP (cas pipeliné)
Une instruction est émise lorsqu’elle passe de l’étage de lecture des registres à
l’étage d’exécution.
Chapitre1 DSP 71
Résumé: Caractéristiques classiques des DSP
Augmentation du parallélisme
Chapitre1 DSP
72
Résumé: Caractéristiques classiques des DSP
Augmentation du parallélisme
– Calculs
• Unités de calcul en parallèle
– Pipeline
• Découpage des instructions de façon à les exécuter à intervalles
plus rapprochés
Chapitre1 DSP
73