Professional Documents
Culture Documents
TC
Traitement du Signal
RAM
Comm.
Horloge Timers... Cont.
TC
Traitement du Signal
Architecture gnrale
CAN: conversion analogique numrique, filtre anti repliement nombre de bits, loi de conversion, frquence dchantillonnage Processeur: Organe de calcul dont larchitecture est adapte au traitement du signal CNA: conversion numrique analogique, filtre de restitution nombre de bits, loi de conversion, frquence dchantillonnage
TC
Traitement du Signal
Architecture gnrale
ROM: Mmoire contenant les programmes de contrle du systme et de traitement du signal RAM: Mmoire vive contenant les donnes en entre en sortie et en cours de traitement Comm.: Organe de communication avec un ventuel systme externe Horloge, timers...: horloge du processeur, horloge dacquisition, horloge de communication....
TC
Traitement du Signal
Architecture gnrale
Structure des programmes
Programme principal Interruption, horloge dacquisition Entre dun chantillon
Init.
Boucle infinie
Mmorisation et Traitement
Architecture gnrale
Diagramme temporel
Te Hor.Acqu.
Interruption
Activit du proc.
Sortie du rsultat Dure du traitement Entre de lchantillon T Frquence dchantillonnage = 1/Te Contraintes temps rel trs fortes
T < Te
TC
Traitement du Signal
Frquence dchantillonnage
Domaine dutilisation des DSP
Frquence dchantillonnage (Hz) Radar 1G 100M HDTV 10M Vido 1M Modem radio 100k Audio 10k Parole Modem vocaux 1k Contrle 100 sismique 10 Instrumentation 1 1/10 1 Finances 1/10 1/100 Mto 1/1000 Complexit des algorithmes
TC
Traitement du Signal
Frquence dhorloge
Fh Rythme la vie du processeur Actuellement (2000), 1Ghz Le rapport R=Fh/Fe est dterminant pour la complexit du systme Quand R dcroit : Complexit du systme plus grande (paralllisme, multiprocesseurs...) Algorithmes simples Programmation complexe, optimisation indispensable (gestion du pipeline...)
TC
Traitement du Signal
Caractristiques principales
Multiplication-addition rapide (MAC) avec un format de calcul tendu pour viter les dpassements Mmoire accs multiple Modes dadressage spcialiss Excution rapide des boucles I/O intgres avec le processeur
TC
Traitement du Signal
TC
Traitement du Signal
10
Quelques DSP...
Analog Devices
ADSP 21xx ADSP210xx fixe 16 bits 33 Mips flottant 32 40
Lucent
DSP16xx DSP32xx fixe 16 Flottant 32
fixe fixe fixe flottant fixe fixe fixe flottant flottant fixe fixe 24 16 24 32 16 16 16 32 32 16 8/16
70 20
40 30 80 20 9 12 40 25 30 50 50
11
Motorola
DSP5600x DSP561xx DSP563xx DSP96002 TMS320C1x TMS320C2x TMS320C2xx TMS320C3x TMS320C4x TMS320C5x TMS320C8x
TC
Texas Instrument
Traitement du Signal
6.3-Units de Calcul
Data Paths
Units Arithmtiques et Logiques Units de calcul en entier Units de calcul en virgule fixe Units de calcul en flottant Shifter Structures spcifiques des DSP gnralement absentes des autres types de processeurs (ou avec une organisation diffrente)
Virgule flottante
TC
Traitement du Signal
12
Virgule fixe
Elments principaux Multiplieur Accumulateurs Unit arithmtique et logique Shifters
Remarque: Calculs dadresse effectus dans une unit particulire Adr. Generation Unit (AGU) Data Adress Generation (DAG) Adressage circulaire Adressage spcifique FFT (bitreversed)
TC
Traitement du Signal
13
Virgule fixe
Motorola, DSP5600x
TC
Traitement du Signal
14
Virgule fixe
Multiplieur Rle central dans un DSP Plus de 50% des instructions Caractristiques principales Temps dxcution = 1 cycle instruction Structure pipeline
Un rsultat par cycle horloge, si le pipeline est bien utilis
I1 I2
I3
I4 Instruction Horloge
TC
Traitement du Signal
15
Virgule fixe
Multiplieur Multiplieur -accumulateur
MAC Reg.
Reg.
Multiplication-addition en Deux instructions Une instruction
TC
Traitement du Signal
16
Virgule fixe
Entres du multiplieur
Uniquement les registres Architecture Load-Store Lecture mmoire avant calcul Programme plus complexe, mais Hardware plus efficace (Architecture RISC) Registres et mmoire Programmation plus simple Mais... la facilit peut tre lennemi de la performance.
TC
Traitement du Signal
17
Virgule fixe
Tailles oprandes/rsultats
n bits x n bits = 2 n bits
TC
Traitement du Signal
18
Virgule fixe
19
Virgule fixe
Accumulateurs Taille 2 n bits + p bits p bits (Guard bits) pour additionner plusieurs valeurs en sortie des multiplieurs en limitant le risque de dpassement de capacit (Overflow)
Exemple: ADSP 21xx Format fixe 16 bits Rsultat multiplieur 32 bits Accumulateurs 40 bits
Une bonne utilisation des accumulateurs est indispensable pour une programmation optimale
TC
Traitement du Signal
20
Virgule fixe
Certains DSP nont pas de Guard bits Scaling par dcalage gnralement en mme temps que la multiplication, sans perte de temps Perte de prcision relativement faible car les bits de poids faibles seront souvent tronqus en fin de traitement. Programmation plus complexe Scaling suffisant pour de nombreuses applications Un DSP doit avoir des Guard bits ou un Scaling possible en sortie du multiplieur
TC
Traitement du Signal
21
Virgule fixe
ALU Oprations entires et binaires (+, -, inc, dec, et, ou, xor...) Taille des oprandes de lALU taille des accumulateurs ou taille des oprandes du multiplieur
TC
Traitement du Signal
22
Virgule fixe
Shifter(s) Oprations de mise lchelle (Scaling) par puissance de deux Indispensable pour viter les dpassements de capacit Son utilisation doit tre maitrise par le programmeur Rduction de la prcision des calculs Nombre, emplacement et possibilits des Shifters trs diffrents dun DSP un autre.
TC
Traitement du Signal
23
Virgule fixe
Dpassement de capacit (Overflow) et saturation
x+y Overflow Max. x y
Min
Ex: En dcimal, 2 chiffres 00 99 23+80 = 03 (103 mais le 1 est perdu) Overflow inacceptable en traitement du signal (rsultat faux, fonctionnement perturb, oscillations...) Remdes: Mise lchelle (Scaling) mais...prcision? Saturation
TC
Traitement du Signal
24
Virgule fixe
Saturation
x+y Max. y x Min
25
TC
Virgule flottante
Lucent, DSP3210
TC
Traitement du Signal
26
Virgule flottante
Structure similaire aux units en virgule fixe DSP avec unit flottante seule (TI, AD, Motorola) lunit flottante accepte la virgule fixe unit flottante + unit fixe (AT&T)
Programmation plus simple Scaling automatique (exposant) Plus de protection contre les erreurs de calcul (exception) Fonctions spciales (Division, racine carre, conversion de format...)
TC
Traitement du Signal
27
Virgule flottante
Multiplieur Entre 32 bits mantisse 24 bits exposant 8 bits Sortie (32)40 44 bits mantisse 32 36 bits exposant 8 bits Format interne pour multiplication/accumulation Arrondi systmatique perte de prcision ngligeable
TC
Traitement du Signal
28
Virgule flottante
ALU Soustraction, addition, ngation, valeur absolue, minimum, maximum Oprations spciales (racine carre,
division...)
Shifter Prsent mais invisible pour le programmeur (Sauf en mode virgule fixe) Normalisation automatique (Scaling) des rsultats flottants Registres accumulateurs Plusieurs, au format des rsultats flottants (40 44 bits)
TC
Traitement du Signal
29
Virgule flottante
Registres Oprandes Entre quasiment exclusives du multiplieur flottant Les calculs flottants doivent donc tre prcds dune lecture explicite (Move) des oprandes en mmoire Chargement des registres en parallle avec les oprations arithmtiques
TC
Traitement du Signal
30
Virgule flottante
Exceptions Overflow positionnement dun indicateur et/ou interruption saturation du rsultat Underflow positionnement dun indicateur et/ou interruption Mise zro du rsultat Autres exceptions Division par 0, format invalide...
TC
Traitement du Signal
31
Transmettre les instructions et les donnes vers les units de calculs Maintenir une activit maximale dans les units de calcul Eviter de crer un goulot dtranglement (Bottleneck) Programme organis en fonction de larchitecture mmoire Facteur critique pour la performance globale dun DSP
TC
Traitement du Signal
32
T
b(2)
T b(Q-1)
TC
Traitement du Signal
33
34
Architecture mmoire
Plusieurs accs mmoire ncessaires pour chaque instruction Solutions: Organisation mmoire
Architectures HARVARD Mmoires accs multiples Cycles spciaux READ/WRITE
TC
Traitement du Signal
35
Organisation mmoire
Principe de base : Architecture de Von Neumann
Units de contrle et de calcul
Bus Adresses Bus Donnes
36
Organisation mmoire
Les DSP ont tous une organisation mmoire spciale pour augmenter la bande passante Chaque DSP a ses particularits Lutilisation de la mmoire est soumise des restrictions qui compliquent beaucoup la programmation.
TC
Traitement du Signal
37
Organisation mmoire
Architecture Harvard
Units de contrle et de calcul
Bus Adresse A Bus Adresse B Bus Donne A Bus Donne B
Mmoire de donnes B
Mmoire programme A
TC
Traitement du Signal
38
Organisation mmoire
Architecture Harvard Modifie
Units de contrle et de calcul
Bus Adresse A
Bus Adresse B
Bus Donne A Bus Donne B Mmoire programme et donnes A
39
Mmoire de donnes B
TC
Traitement du Signal
Organisation mmoire
Architecture Harvard modifie Avantage: 2 accs mmoire par cycle instruction
Mmoire A: programme et coefficients du filtre Mmoire B: chantillons dentre Une tape du filtre calcule en deux instructions
Exemples:
ADSP 21xx AT&T DSP16xx
Extension 3 mmoires
DSP5600x, DSP96002 Zilog Z893
TC
Traitement du Signal
40
Organisation mmoire
Architecture Harvard modifie Mmoires intgres avec le processeur (On-chip) Un seul bus (adresse+donne) disponible lextrieur (Off-chip) pour limiter le nombres de broches: diminution des performances Rappel: Il faut 4 accs mmoire par instruction ????
Il faudra utiliser dautres techniques pour atteindre les performances maximales
TC
Traitement du Signal
41
Organisation mmoire
Mmoire accs multiple Mmoire rapide autorisant plusieurs accs squentiels par cycle instruction
Cycle instruction
Ad.
1 1
2 2
3 3
4 4
Donne
Avec une architecture Harvard Modifie: 3 ou 4 accs mmoire par cycle Ex: Zoran ZR3800x Avec une architecture type VonNeumann: 4 accs par cycle Ex: Lucent DSP32
TC
Traitement du Signal
42
Organisation mmoire
Mmoire multi-port
Units de contrle et de calcul Bus Adresse A Bus Adresse B Bus Donne A Bus Donne B Bus Adresse C Bus Donne C Mmoire de donnes B Mmoire programme et donnes A
43
TC
Traitement du Signal
Organisation mmoire
Mmoire multi-port Avantage: programmation simplifie Inconvnients:
lectronique beaucoup plus complexe donc plus coteuse Extension Off-chip pratiquement impossible
TC
Traitement du Signal
44
Organisation mmoire
Cycles spciaux READ/WRITE Exemple
x x+1 x+2 Mmoire
x+3
Registre
Processeur
TC
Traitement du Signal
45
XN XN-1 . . ... 0F03 . 0F04 XN-(L-1) dma 0F04 AR0 RPT #L-1 MACD hL-1,*APAC
In
TC
Traitement du Signal
46
Units de contrle et de calcul Cache Instruct. Bus Adresses Bus Donnes Mmoire programme et donnes Mmoire contenant des instructions xcutes souvent (boucles...) Rduction du nombre daccs la mmoire programme
TC
Traitement du Signal
47
TC
Traitement du Signal
48
TC
Traitement du Signal
49
D
t+2 9 F
TC
F
3 4 5 6 7 8 D
50
Traitement du Signal
TC
Traitement du Signal
51
TC
Traitement du Signal
52
TC
Traitement du Signal
53
X0 dma t=0
X0 X1 dma t=1
X0 X1 X2 dma t=2
X3 X1 X2 dma t=3
TC
Traitement du Signal
54
55
R H
S/op 1
S/op 2
S/op 3
TC
Traitement du Signal
56
Principe du pipeline
Exemple (proche TMS320C3x) Excution dune instruction
Lecture de linstruction en mmoire programme (OpCodeFetch) Dcodage de linstruction Lecture ou criture dun oprande en mmoire de donne Excution ventuelle dun opration arithmtique ou logique
Cycle I/F Dec R/W Exec 1 I1 I1 I1 I1 2 3 4 5 I2 I2 I2 I2 6 7 8
Excution non-pipeline
TC
Traitement du Signal
57
Principe du pipeline
Cycle 1 I/F Dec R/W Exec 2 3 4 5 6 7 8 I1 I2 I3 I4 I5 I6 I1 I2 I3 I4 I5 I1 I2 I3 I4 I5 I1 I2 I3 I4 I5
Excution pipeline
La vitesse dxcution dun programme est multiplie par N (ici 4) nombre dtage du pipeline
En apparence, une instruction est xcute chaque cycle horloge La dure relle dxcution dune instruction est de N cycles horloge
TC
Traitement du Signal
58
Principe du pipeline
Utilis depuis longtemps, sous de multiples formes, dans de nombreux ordinateurs Dans les DSP...
Presque tous les DSP sont pipelins Le nombre dtages varie de 2 5 ADSP :2 La plupart des DSP :3
Opcode Fetch Decode/OperandRead/Write Execute (MAC, ALU, ...)
:4 :5
59
Principe du pipeline
Avantage dun processeur pipelin Gain en vitesse dxcution Inconvnients Electronique plus complexe Mmoire plus rapide Programmation plus complexe (Compilateur et/ou programmeur) pour:
Eviter les erreurs dxcution (Pipeline Hazards) Eviter les conflits daccs aux ressources (mmoire, registre, unit de calcul...) pour optimiser un programme et atteindre les performances maximales (ex: une Add/Mult par cycle horloge)
TC
Traitement du Signal
60
Principe du pipeline
Le paralllisme dxcution dans un pipeline peut crer des erreurs des linversion de lordre dxcution (Pipeline Hazards)
READ puis WRITE WRITE puis READ WRITE puis WRITE
des trous dans lactivit du pipeline ds aux conflits daccs aux ressources Solutions Interlocking hardware Optimisation par table de rservation
TC
Traitement du Signal
61
7. Transition
Chane de traitement numrique
Filtrage, chantillonnage, quantification Restitution, filtrage
Signal alatoire
Densit de probabilit, Moments Autocorrelation, DSP
Filtres
h(t) / H(Z) / H(f) FIR / IIR # AR(MA) Implantation Synthses
62