Professional Documents
Culture Documents
1. Numrisation du signal
Paralllement aux microprocesseurs et aux microcontrleurs, les
processeurs de traitement numrique du signal, ou DSP (Digital Signal
Processor), ont bnfici des normes progrs en rapidit (grce au faible
temps de commutation) et en puissance de calculs (grce au nombre de bits des
bus internes) des composants logiques intgrs programmables.
D'une manire gnrale, tous les processeurs vrifient la loi de Moore,
l'un des fondateurs de la socit Intel qui annonait, ds sa cration, que la
densit d'intgration des composants doublerait tous les dix-huit mois. En
1995, on savait intgrer dix millions de transistors dans un composant unique.
Utiliss initialement pour grer la carte son des micro-ordinateurs, les
DSP ont vu leur utilisation s'accrotre considrablement depuis 1985, tout
d'abord grce au dveloppement des tlcommunications (tlphonie
numrique, puis tlphonie sans fil GSM ... ), puis grce ses possibilits de
traitement rapide de certaines commandes numriques faisant appel des
algorithmes complexes permettant ainsi le travail en temps rel .
En utilisant des donnes numriques extraites d'un signal, on rend les
systmes de commande et de gestion lectroniques beaucoup plus fiables, et
reproductibles. L o il fallait des rglages en lectronique analogique, il suffit
d'imposer une valeur constante convenablement choisie dans un registre
particulier du composant. On fixe ainsi l'amplification ou la bande passante
d'un filtre numrique, et ceci de manire dfinitive.
La trs bonne prcision en temps (donc en frquence) des composants
numriques provient de l'extraordinaire stabilit de la frquence d'oscillation
Site : http://www.technologuepro.com
la
qualit
des
convertisseurs
analogique/numrique
et
Site : http://www.technologuepro.com
O X et Y sont soit des donnes, soit des constantes et R une donne, une
constante ou un rsultat prcdent. MR est alors le rsultat de l'opration
arithmtique.
Si le DSP fonctionne en virgule fixe avec des donnes sur 16 bits, le
rsultat MR est alors sur 32 bits (ou plus, selon l'architecture). Si l'utilisateur ne
conserve que les 16 bits de poids fort, le calcul est alors effectu en simple
prcision. Si les 32 bits sont utiliss, on parle de double prcision : le temps de
calcul est alors plus long.
Si le DSP fonctionne en virgule flottante avec des donnes en 32 bits, le
rsultat MR est alors sur 40 bits (ou plus, selon l'architecture). Lutilisateur ne
prend en compte que les donnes de 32 bits en ignorant les bits de poids faibles
de la mantisse.
Le premier DSP a t produit en 1982 par Texas Instruments. Depuis,
cinq autres gnrations de DSP sont apparues. Les processeurs des gnrations
1, 2 et 5 sont en virgule fixe, les gnrations 3, 4, 6 en virgule flottante.
Les principaux fabricants de DSP sont :
Texas Instruments
Analog Devices
Motorola
Zilog
Lucent
Nec
Zoran
Zsp
Microchip
7
Site : http://www.technologuepro.com
nombre
de
cycles
de
calcul
l'intrieur
d'une
priode
Site : http://www.technologuepro.com
Les applications des DSP sont nombreuses dans les domaines suivants :
Tlcommunications :
Modem, multiplexeurs, rcepteurs de numrotation DTMF, tlcopieurs,
codeurs de parole GMS, ),
Interfaces vocales :
Codeur vocaux, reconnaissance automatique de la parole, synthse vocale
Militaire :
Guidage missiles, navigation, communications crypte, radar,
Multimdias et grand public :
Site : http://www.technologuepro.com
10
Site : http://www.technologuepro.com
Z89323/373/ ... /473 de Zilog sont des processeurs o l'on a optimis les
avantages du DSP et ceux du microcontrleur. D'autres, comme les DSP 56000
de Motorola sont issus de la technologie du microprocesseur 68000.
Dans la commande et le contrle de systmes complexes, le DSP joue la
fois le rle du microcontrleur, et celui du calculateur rapide en temps rel pour
obtenir tous les signaux ncessaires la commande. C'est le cas du DSP Texas
TMS320F240x qui permet la commande des moteurs asynchrones en contrle
vectoriel ou en flux orient, ainsi que celle des moteurs synchrones et des
moteurs pas--pas.
Mais une autre approche possible consiste considrer un noyau DSP
lintrieur dun circuit intgr comportant de nombreuses oprations. La
socit Hewlett Packard propose la vente des logiciels permettant la cration
puis lintgration dun noyau DSP dans un ASIC (Applied Specific Integrated
Circuit). Il peut servir, lintrieur du composant intgr, en paralllisme
11
Site : http://www.technologuepro.com
12
Site : http://www.technologuepro.com
13
Site : http://www.technologuepro.com
exposant.
Gnralement, la
Site : http://www.technologuepro.com
mmoire externe est elle aussi au format 32 bits. Le systme revient donc plus
cher (exemple : 2 x 32 broches ne serait ce que pour les bus de donnes
externes avec une architecture Harvard de base). Un DSP virgule flottante est
plutt adapt (sans tre impratif) des applications dans lesquelles :
les coefficients varient dans le temps (exemple : les filtres adaptatifs),
le signal et les coefficients ont besoin dune grande dynamique,
la structure mmoire est importante (exemple : traitement dimage),
la prcision est recherche sur toute une gamme dynamique importante
(exemple : traitements audiophoniques de qualit professionnelle).
De part leurs facilits de programmation, ils peuvent galement se
justifier dans des projets ou le temps et la facilit de dveloppement sont des
facteurs importants. On les trouve galement dans des produits de faible
volume de production, pour lesquels le prix du DSP nest pas significatif.
4.1.2. Les DSP virgules fixes
Un DSP virgule fixe est un peu plus compliqu programmer quun DSP
virgule flottante.
Reprsentation des nombres entiers cods sur 4 bits en complment 2 :
15
Site : http://www.technologuepro.com
Site : http://www.technologuepro.com
(par mthode analytique ou avec des outils de simulation) pour raliser leurs
projets. Il est galement possible deffectuer des oprations en virgule flottante
dans un DSP virgule fixe par le biais de routines logicielles adquates. Cette
approche est nanmoins pnalisante en temps dexcution, mme sur un DSP
virgule fixe trs rapide.
En termes de rapidit, les DSP virgule fixe se placent d'ordinaire devant
leurs homologues virgule flottante, ce qui constitue un critre de choix
important. Les DSP virgule fixe sont les plus utiliss, car ils sont moins chers
que les DSP virgule flottantes. On les trouve dans tous les produits de grande
diffusion ou le cot est un facteur important. Il peut cependant exister des
exceptions, certains DSP virgule fixe se prsentant comme des
microcontrleurs perfectionns plus chers quun DSP virgule flottante de
base.
4.2 Classification virgule fixe / flottante des DSP
La classification la plus simple est celle dfinissant si le DSP appartient
la famille des DSP virgule flottante ou DSP virgule fixe. Pratiquement, lorsque
les donnes sont sur 16 bits, le DSP est virgule fixe. Cest galement le cas
pour la famille DSP56000 24 bits de Motorola. Les donnes sont virgule
flottante pour des DSP de 32 bits.
Voyons le cas des DSP fabriqus par Texas Instruments (dsigns par
TMS) et Analog Devices (dsigns par ADSP). Le classement du tableau 2.1 est
effectu selon le nombre de bits du bus de donnes et le temps dexcution dun
cycle, puis dune opration complexe, comme la transforme de Fourier rapide
1024 points de calcul.
Nom
ADSP2105
TMS320C2x
17
Critre de
choix
Faible cot
Faible cot
Virgule fixe
ou flottante
16 bits Fixe
16 bits Fixe
Dure dune
instruction [ns]
100
80
Dure du calcul
FFT [s]
3.46
9.01
Site : http://www.technologuepro.com
ADSP2101
ADSP21010
Haute
performance
Haute
performance
Haute
performance
Faible cot
TMS320C3x
Faible cot
ADSP21020
Haute
performance
Haute
performance
TMS320C5x
ADSP2199x
TMS320C4x
16 bits Fixe
60
2.07
16 bits Fixe
35
2.97
16 bits Fixe
0.4
32 bits Flottante
32 bits Flottante
32 bits Flottante
32 bits Flottante
80
1.54
50
3.08
40
0.77
40
1.55
en
parallle,
avec
dautres
systmes
processeurs
Site : http://www.technologuepro.com
19
Site : http://www.technologuepro.com
Figure 2.2 : Evolution du temps dexcution dune opration MAC selon Texas
Instruments
La mthode classique pour valuer les performances dun DSP est de se
baser sur sa vitesse dexcution. Encore faut-il trouver une bonne dfinition de
ce quest la vitesse dexcution, ce qui nest pas forcment simple. Cette
mthode de base consiste donc compter le nombre dinstructions effectues
par seconde. Un obstacle apparat alors, car une instruction ne signifie pas
forcment la mme chose dune famille de DSP lautre. Le Tableau suivant
rsume les principales dfinitions en usage.
Acronyme
MFLOPS
Million FLoatingpoint Operations Per
Second.
MOPS
Million Operations
Per Second.
MIPS
Million Instructions
Per Second.
20
Dfinition
Mesure le nombre doprations virgule flottante
(multiplications, additions, soustractions, etc.) que le
DSP virgule flottante peut raliser en une seconde.
Mesure le nombre total doprations que le DSP peut
effectuer en une seconde. Par oprations, il faut
comprendre non seulement le traitement des
donnes, mais galement les accs DMA, les transferts
de donnes, les oprations dE/S, etc. Cette dfinition
mesure donc les performances globales dun DSP
plutt que ses seules capacits de calcul.
Mesure le nombre de codes machines (instructions)
que le DSP peut effectuer en une seconde. Bien que
cette mesure sapplique tous les types de DSP, le
Site : http://www.technologuepro.com
MBPS
Mega-Bytes Per
Second.
Une autre mthode consiste dfinir une fois pour toute une opration
de rfrence comme tant un MAC , puisquil sagit dune fonction commune
tous les DSP. Il ne reste plus qu compter le nombre de MAC par seconde.
Cependant cette dfinition napporte pas beaucoup dinformations sur les
performances des DSP modernes. En effet, un MAC est excut en un seul
cycle. Sachant que sur les DSP rcents la plupart des instructions sont
galement excutes en un cycle, cela revient donc mesurer les MIPS du DSP.
Il faut galement tenir compte du fait que certains DSP en font plus dans un
seul MAC (nombre, format et taille des oprandes traits) que dautres.
5.2. Mesure du temps dexcution ( Benchmark )
La vitesse de calcul pure dun DSP nest pas une indication universelle, les
mthodes et les rsultats diffrent dun DSP lautre. De plus elle ne rend pas
compte d'un certain nombre de perfectionnement dont peuvent bnficier tel
ou tel DSP.
Certains DSP proposent en effet des modes dadressages plus
performants que dautres. Ces modes sont spcialement adapts des
algorithmes standards du traitement du signal (exemple : le mode dadressage
dit bits reversing pour acclrer les calculs des FFT). Les instructions
itratives sont galement importantes en terme de performance (rapidit des
boucles logicielles) et ne devraient pas tre ignores.
Enfin, le temps daccs la mmoire est un autre paramtre
incontournable. Certains DSP intgrent des blocs de mmoire vive rapide. Cette
21
Site : http://www.technologuepro.com
mmoire est place dans lespace dadressage du DSP au mme titre que de la
mmoire vive externe, ce qui permet dy ranger donnes et programmes sans
avoir effectuer des transfre permanents de ou vers lextrieur. Les ventuels
cycles dattentes pouvant tre ncessaires pour adresser une mmoire externe
lente sont ainsi vits.
Pour toutes ces raisons, la mesure des performances par benchmark
complte avantageusement la mesure de vitesse pure. Elle consiste mesurer
le temps que met le DSP pour excuter des programmes standards de
traitements du signal. Encore faut-il dfinir ce quest un programme standard
de traitement du signal.
Le point faible des benchmarks rside dans cette dfinition des
dalgorithmes standards. Quel domaine dapplications faut-il choisir ? Quels
sont les algorithmes les plus reprsentatifs ? Il existe plusieurs systmes de
benchmarks se proposant de servir de rfrence. Ainsi, le BDT benchmark est
couramment utilis, un autre benchmark frquemment utilis est le Standard
Performance Evaluation Corporation , ou SPEC95, qui couvre plusieurs
domaines tels que les codeurs, lasservissement en position des ttes de
lectures des disques dur, les modems, voire les applications multimdia sur PC.
Dans la pratique, un autre problme se pose : la qualit de
limplmentation des algorithmes peu varier dun systme de dveloppement
lautre. Ainsi par exemple, qualit gale, un filtre numrique peut demander
plus ou moins de ressources processeur en fonction de telle ou telle
implmentation. Cet aspect nest pas pris en compte par les benchmarks.
La mesure des capacits dun DSP par benchmark reste nanmoins
intressante, car elle tend mesurer la performance globale du systme de
traitement numrique (y compris les capacits du programmeur !)
22
Site : http://www.technologuepro.com
Nombre de cycles
1
5
48320
19
11
13
Temps dexcution @
160MHz
6.25 ns
31.25 ns
302 us
118.75 ns
68.75 ns
81.25 ns
ln/log10
11
68.75 ns
23
Site : http://www.technologuepro.com