Chap1 dsp
-
Upload
responsable-disimmtv -
Category
Education
-
view
2.543 -
download
0
description
Transcript of Chap1 dsp
DSP : Processeurs de Traitement du Signal
Chapitre 1Généralités sur l’architecture
des DSPs
De quelles solutions dispose-t-on pour effectuer ce travail
Quelle est la spécificité d’un processeur DSP
Traitement numérique du signal
Filtre anti-repliement
Échantillonnage + Conversion
Traitement
Blocage + Conversion
Filtrage
3
Filtre de lissage
Signal traité
CNA
MEM
DSP
E/S
Signal numérique
Signal original grandeur physique
Capteur
G
Filtre anti-repliement
CAN
Échantillonnagefs
Quantification
Adaptation du signal d’entrée
(gain+démodulation)
4
Traitement numérique du signal
5
Profils d’utilisation du DSP
Embarqué
Faible coût unitaire
Faible consommation : part importante de la consommation pour la mémoire
Architecture limitée au strict nécessaire
Temps réel
Haute performance
Puissance : Calcul intensif
Parallélisme Multiplication des
unités de calcul internes
Interfaces multi-DSP
Interface avec un ordinateur hôte
6
Applications des DSP
Communications Filaire (xDSL, câble) Sans fil (cellulaires,
télévision numérique, radio numérique)
Modem Cryptage
Audio Mixage et effets Suppression de bruit Annuleur d’echo
Image / vidéo Compression/Codage Composition Traitement
Militaire Imagerie : radar,
sonar… Cryptographie Guidage de missiles
7
Applications des DSP
Biomédical Équipements de monitoring
Signaux biophysiques ElectroEncéphaloGramme
(EEG) ElectroCardioGramme
(ECG) Radiographie
Instrumentation Analyseurs de spectre Générations de fonctions Analyseurs de régimes
transitoires
Automatisation Commande de
machines Contrôle de moteurs Robots
Electronique Automobile Contrôle du moteur Assistance au freinage Aide à la navigation Commandes vocales
8
Caractéristiques classiques des DSP
Chemin de données organisé pour traitement du signal
Jeu d’instructions spécialisé
Plusieurs mémoire et plusieurs bus
Modes d’adressage spécifiques
Périphériques spéciaux pour le traitement du signal
Augmentation du parallélisme
9
Caractéristiques classiques des DSP
Augmentation du parallélisme
Calculs Unités de calcul en parallèle
Mémoire à accès multiples Lecture/Écriture de plusieurs données simultanément
Pipeline Découpage des instructions de façon à les exécuter à
intervalles plus rapprochés
10
Les DSP à virgule fixe
Les données sont représentées comme étant des nombres fractionnaires à
virgule fixe, (exemple -1.0 à +1.0), ou comme des entiers classiques.
La représentation de ces nombres fractionnaires s’appuie sur la méthode du
«complément à deux».
Permet facilement l’addition binaire de nombres positifs et négatifs.
Les DSP à virgule flottante
Les données sont représentées en utilisant une mantisse et un exposant.
La représentation de ces nombres s’effectue selon la formule suivante :
n = signe mantisse 2exposant
Généralement, la mantisse est un nombre fractionnaire (-1.0 à +1.0), et
l’exposant est un entier indiquant la place de la virgule en base 2.
Représentation des nombres
11
Les profiles d’application nécessitant un processeur flottant sont :
Haute précision
Dynamique importante
Les inconvénients du DSP flottant sont :
Consommation
Coût
Moins performant que le DSP à virgule fixe
95% des DSP sont en virgule fixe.
Virgule fixe ou virgule flottante ?
12
Panorama des DSP
Texas Instrument C2000 : virgule fixe 16 bits, Contrôle. C5000 : virgule fixe 16 bits, Faible consommation. C6000 : virgule fixe et flottante, Hautes performances.
Analog Devices ADSP21xx : virgule fixe 16 bits. SHARC : virgule fixe ou flottante 32 bits. ADSPBFxx : virgule fixe 16 bits, Hautes performances. TigerSHARC : virgule flottante 24 bits, Hautes performances.
Motorola DSP560xx, DSP563xx : virgule fixe 24 bits, Audionumérique. DSP566xx, DSP568xx: virgule fixe 16 bits. StarCore : virgule fixe 16 bits, Hautes performances.
13
DSP TI (Texas Instrument)
14
Pe
rfo
rma
nc
e
Temps
C62x/C64x/DM642 : Fixed PointC67x : Floating PointC62x/C64x/DM642 : Fixed PointC67x : Floating Point
Haute
Perform
ance
HybrideHybride
Multi-coreMulti-core C64x™ DSP 1.1 GHz
C64x™ DSP 1.1 GHz
C6201
C6701
C6202C6203
C6211C6711
C6204
1ère Génération
C6713C6713C6205
C6712
C6412C6412 DM642DM642
2ème Génération
C6415C6415
C6416C6416
C6411C6411
C6414C6414
DSP TI (Texas Instrument)3ème Génération
15
Spécificités des DSP
Algorithme classique de TNS : Filtre RIF
Pour chaque a(i) x(n-i) :
Recherche de l’instruction
Recherche du coefficients a(i)
Recherche de la donnée x(n-i)
Multiplication a(i) x(n-i)
Accumulation a(i-1) x(n-i-1) + a(i) x(n-i)
3 accès à la mémoire
2 accès à l’unité
de calcul
1
0
)()()(N
i
inxiany
16
Spécificités des DSP
Objectifs :
Réduire les accès mémoire
Augmenter les accès mémoire simultanés
Réduire le temps passé à faire des calculs
Instruction MAC(multiplication-accumulation)en 1 seul cycle d’instruction
17
Harvard Séparation des mémoires
programme et données Meilleure utilisation du CPU : Chargement du programme et
des données en parallèle Architecture des DSP
Von Neuman Un seul chemin d'accès à la
mémoire Architecture des processeurs
d’usage général (Pentium, 68000)
Architectures Von Neuman et Harvard
18
Cache d'instructions
Cache = mémoire rapide Contient les dernières instructions exécutées.
Utile en cas de boucle Accès aux instructions sans accès en mémoire programme. Libère le bus pour des données.
DSP
Mémoire Instruction
Mémoire Données
CPU
Mémoire Cached’instructions
Mémoire Cachede données
19
Exécution parallèle d’instructions simples
Architecture plus homogène Se prête mieux à
l’optimisation par le compilateur.
Processeurs hautes-performances Bus larges, consommation
plus élevée. Coût élevé.
VLIW (Very Long Instruction Word) Une instruction contient plusieurs
sous-instructions destinées à des unités distinctes.
Exemples : TMS320C62xx StarCore SC140
Superscalaire Réorganisation automatique des
instructions dans le pipeline de façon à maximiser le parallélisme.
Peu utilisé dans les DSP, à cause des contraintes temps réel.
DSP améliorés
20
SIMD
SIMD = Single Instruction Multiple Data
Deux types de SIMD : Unités parallèles
Effectuent la même opération sur des données différentes
Exemple : ADSP-2116x
Partage de l’unité de traitement Partage un mot de donnée en sous-mots
Effectue les calculs sur les sous-mots
Exemple : instructions MMX du Pentium
Efficace pour des algorithmes parallèles
21
SIMD : TigerSHARC
MACALU Shift MACALU Shift
Instruction MAC SIMD
Unité decalcul n°1
Unité decalcul n°2
SIMD par unités parallèles
4 multiplications 16 bitsau lieu de
1 multiplication 64 bits
4 multiplications 16 bitsau lieu de
1 multiplication 64 bits
SIMD par partage de l’unité de traitement
(split-MAC)
Le TigerSHARC d’Analog Devices met en œuvre les deux types de SIMD :
22
C54x Block Diagram• 17x17 MAC Unit• Saturation and
Rounding Hardware
• Two 40-bit ACC’s• 40-bit ALU• 40-bit Barrel Shifter• Temporary
Register• Exponent Encoder• Program and Data
Address Generation Units
• Compare, Select and Store Unit
• 4 Internal Bus Pairs
• External Interface
Muxed GP I/OMuxed GP I/O
D(15-0)
A(23-0)
Program/Data BusesProgram/Data Buses
Timer Timer
Program/Data SRAM128K Words
Program/Data SRAM128K Words
Ch 0
Ch 1
Ch 2
Ch 3
Ch 4
Ch 5
DMA
8/16-bit Host PortInterface (HPI)
8/16-bit Host PortInterface (HPI)
Program/Data ROM16K Words
Program/Data ROM16K Words
Pe
riph
era
l Bu
sP
erip
he
ral B
us
RND, SAT
17 x 17 MPY
40-Bit Adder
MAC
Shifter
40-Bit Barrel(-16, 31)
EXP Encoder
40-Bit ALUCMPS Operator(VITERBI)
ALU
Accumulators
40-Bit ACC A
40-Bit ACC B
8 Auxiliary Registers
2 Addressing Units
Addressing Unit
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
JTAG Test/EmulationControl
JTAG Test/EmulationControl
Multichannel BufferedSerial Port (McBSP)
Multichannel BufferedSerial Port (McBSP)
PLL Clock Generator
PLL Clock Generator
S/W WaitstateGenerator
S/W WaitstateGenerator
Power ManagementPower Management
C5416 example
23
C54x Block Diagram
24
DSP multicore
Gravure sur la même puce de deux cœurs DSP indépendants.
Communication entre les deux :Mémoire partagée. Interface FIFO.
Architecture du C5421
Shared memorytwo-way RAM : permet l'accès simultané à la
mémoire par les deux DSP
25
DSP multicore
Architecture du C6474
DSP haute
performance.
TMS320C64x+.
3 C64x+ intégrés
fonctionnant à
1Ghz chacun.
26
VLIW : TMS320C62x
Data path Deux ensembles d’unités de
traitement (1 et 2) Instruction de 256 bits
8 sous-instructions de 32 bits
Unités logique .L Arithmétique et comparaisons
Unité de décalage .S ALU et Shifter
Unités de multiplication .M Multiplication
Unités de données .D Mouvement de données
de/vers la mémoire
C62 CPU
Data Path 2Data Path 1
L1
Register File A
M2D2 S2 L2
Instruction Decode
Instruction Dispatch
Instruction Fetch Control Registers
Inte
rrup
t C
on
trolEmulation
S1
A15-A0
++ +
++x+
M1
xD1+
Register File B
B15-B0
+
Unités fonctionnelles
Deux chemins de données : A et B
Chaque chemin contient 4 unités de traitement :
(.M) : Multiplication
(.L) : Opération logique et arithmétique
(.S) : Branchement et manipulation binaire
(.D) : Chargement et stockage des données
64 registres de 32 bits (A0 à A31) et (B0 à B31)
2 chemins croisés (1x et 2x) (cross path)
.L1 .S1 .M1 .D1 .L2 .S2 .M2 .D2
Registre A0 à A31 Registre B0 à B31
Chemin de données A Chemin de données B
Chemin croisé 27
VELOCI TI : architecture élaborée par TI basée sur la structure VLIW (Very Long Instruction Word)
Instruction : 4 octets = 32 bits
PE : Paquet Exécutable : groupe d’instructions exécutables en parallèle pendant un seul cycle.
PF : Paquet Fetch formé de 8 instructions.1PF peut contenir 1 PE (si toutes les 8 instructions en //) ou 8 PE (pas d’instructions en // ).
3 étages de pipeline : Fetch : 4 étages Decode : 2 étages Execute : au maximum 6 étages
Paquet de Fetch et d’Exécution
28
Étage \ temps t1 t2 t3 t4 t5 t6 t7 t8 t9
Fetch F1 F2 F3 F4 F5 F6 … … …
Decode D1 D2 D3 D4 D5 D6 … …
Execute E1 E2 E3 E4 E5 E6 …
Étage \ temps t1 t2 t3 t4 t5 t6 t7 t8 t9
Fetch F1 F2 F3
Decode D1 D2 D3
Execute E1 E2 E3
Exécution avec pipeline
Exécution séquentielle
Pipeline
Instructions segmentées en étages. Exécution entrelacée de plusieurs instructions. Augmentation de la fréquence d'horloge.
29
Pipeline
Étapes d’extraction du Programme (fetch, PF)
PGGénération d’adresse
Dans le CPU
PSTransmission de
l’adresse(à la mémoire)
PWAttente accès
mémoire
PRRéception et lecture du PF
(au CPU)
Fetch Decode Execute
PG PS PW PR DP DC E1 E2 E3 E4 E5 E6
30