Processeur de signal numérique - Wikipédia

publicité
Processeur de signal numérique - Wikipédia
http://fr.wikipedia.org/wiki/Digital_signal_processor
Processeur de signal numérique
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Digital signal processor)
Un Digital Signal Processor ou DSP en anglais, soit « processeur de signal numérique », est un
microprocesseur optimisé pour les calculs. Son application principale est le traitement du signal
numérique (filtrage, extraction de signaux, etc.), d'où son nom.
Un DSP est un processeur dont l'architecture est optimisée pour effectuer des calculs complexes en un
coup d'horloge, mais aussi pour accéder très facilement à un grand nombre d'entrées-sorties
(numériques ou analogiques). La fonction principale utilisée dans le DSP est la fonction MAC (Multiply
and Accumulate), c'est-à-dire une multiplication suivie d'une addition et d'un stockage du résultat
(fonction très utilisée dans les calculs d'asservissement et de filtrage).
Ces fonctionnalités passent devant des fonctionnalités que l'on retrouve dans un processeur généraliste,
comme par exemple tout ce qui permet de faire fonctionner un système d'exploitation.
Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel.
On les trouve dans les modems (modem RTC, modem ADSL), les téléphones mobiles, les appareils
multimédia (lecteur MP3), les récepteurs GPS... Ils sont également utilisés dans des systèmes vidéo,
les chaînes de traitement de son, partout où l'on reçoit un signal complexe que l'on doit modifier à l'aide
du filtrage.
En ce qui concerne les filtres, les DSP en simplifient grandement la réalisation pour plusieurs raisons :
résultat prédictible et hautement répétable (caractéristique des circuits numériques, par opposition
aux circuits analogiques)
nombre de composants externes réduit
changement de filtre dynamique par simple programmation.
Sommaire
1 Caractéristiques des processeurs de signal numérique
2 Traitement numérique du signal
3 Fabricants
4 Liens externes
Caractéristiques des processeurs de signal numérique
Bus de données et d'adresses séparés (architecture Harvard). Souvent double ou multiple
architecture Harvard, c’est-à-dire plusieurs bus de données séparés dans l'espace mémoire.
Instructions spéciales pour opérations SIMD (Single Instruction, Multiple Data). Une seule
instruction permet d'effectuer plusieurs opérations simultanées dans les différents blocs du DSP.
Seulement des processus parallèles, pas de multitâche. Des contraintes sont imposées car les
1 of 4
20/05/08 21:49
Processeur de signal numérique - Wikipédia
http://fr.wikipedia.org/wiki/Digital_signal_processor
DSP n'ont qu'une gestion rudimentaire des interruptions quand ils en ont une.
La possibilité d'être utilisé comme un périphérique à accès direct à la mémoire dans un
environnement hôte.
Peut prendre ses données digitales d'un convertisseur analogique-numérique (ADC), appliquer
un traîtement sur ces données et les restituer au monde extérieur par un convertisseur
numérique-analogique (DAC).
entrée analogique----->ADC---->DSP---->DAC---> sortie analogique
^^^
traitement du
signal digital
Les DSP peuvent être combinés avec d'autres composants dans le même boîtier. Par exemple, un ou
plusieurs DSP peuvent être combinés avec un microprocesseur classique et des convertisseurs ADC et
DAC. Ce type d'assemblage (circuits intégrés dédiés) permet de réduire les coûts dans des fabrications
de grande série. Les fonctions de traitement de signal peuvent également être réalisés à l'aide de FPGA,
qui peuvent incorporer des « cœurs DSP » (en général des MAC). La reconfiguration matérielle permet
alors d'accroître le parallélisme des opérations. Les différents types d'architecture disponibles
permettent d'adapter les circuits de traitement aux besoins spécifiques de l'application.
La majorité des DSP calculent exclusivement avec des nombres entiers. L'absence d'unité arithmétique
en nombre flottant rend le composant meilleur marché tout en permettant une grande vitesse de
traitement des données. Un multiplieur entier est en effet beaucoup plus simple qu'un multiplieur à
virgule flottante. Les nombres entiers permettent d'obtenir une précision suffisante pour la plupart des
applications.
Cependant, certains DSP possèdent des unités de calcul en virgule flottante comme le TMS320C67x
ou le ADSP-TS20x. Des applications scientifiques ou, d'une manière générale, des applications qui
nécessitent une grande précision relative des résultats ou une large dynamique des valeurs peuvent
imposer le choix d'un DSP à virgule flottante.
De manière à optimiser la vitesse de traitement, les DSP utilisent des registres internes très larges. Par
exemple, pour la famille DSP56k de Motorola, nous trouvons dans l'ALU (unité arithmétique et
logique) quatre registres d'entrée de 24 bits, deux registres accumulateurs de 48 bits et deux extensions
de 8 bits des registres accumulateurs. Ces dernières permettent d'obtenir une précision de 56 bits sur les
registres accumulateurs, laquelle offre une bonne précision sur des calculs successifs et simplifie la
gestion des erreurs pour le programmeur.
La ligne de démarcation entre les microprocesseurs à usages généraux et les DSP n'est pas toujours
claire. Ainsi par exemple, l'extension MMX des processeurs Pentium comprend, selon Intel, « 57
nouvelles instructions puissantes désignées pour manipuler et traiter efficacement les données vidéo,
audio et graphique. Ces instructions sont destinées aux séquences répétitives et hautement parallèles
qui sont souvent présentes dans les applications multimédia. »
Les DSP proposent des performances étonnantes. Par exemple, le DSP AD1460 qui est composé de 4
ADSP-21060 dans le même boîtier a une puissance de calcul maximum de 460 MFLOPS (460
millions d'opérations en virgule flottante par seconde). Un autre modèle, l'ADSP-21160 opère à 100
MHz, a un bus accéléré de mémoire d'une bande passante de 1600 mégaoctets par seconde, 2 bus de
données en 64 bits et 4 accumulateurs de 80 bits pour les calculs sur des entiers. Au total,
l'ADSP-21160 exécute une transformation de Fourier 1024 points en seulement 46 μs.
2 of 4
20/05/08 21:49
Processeur de signal numérique - Wikipédia
http://fr.wikipedia.org/wiki/Digital_signal_processor
Traitement numérique du signal
Le traitement numérique du signal est réalisé avec des opérations mathématiques. En comparaison, un
traitement de texte ou une base de données va classer des données mémorisées. Cela implique que des
ordinateurs conçus pour de la bureautique ou d'autres applications générales ne sont pas optimisés pour
des algorithmes comme du filtrage ou l'analyse de Fourier.
Manipulation de données
traitement de texte,
Applications
typiques
traitement numérique du signal,
base de données, tableur, système contrôle de vitesse, simulation scientifique,
d'exploitation
simulation électronique
mouvement de données (A -> B)
Opérations
principales
Calculs mathématiques
test de condition (si A=B alors
...)
addition (A + B = C)
multiplication (A x B = C)
Les DSP sont capables d'effectuer une multiplication - accumulation (multiplication de deux valeurs
avec addition ou stockage du résultat dans un registre) en un seul cycle d'horloge. Certains modèles
sont même capable de réaliser plusieurs de ces opérations par cycle d'horloge.
Dans une machine dont le bus de donnée est de n bits, la multiplication de deux nombres donne un
nombre codé sur 2*n bits. Pour que cela ne devienne pas rapidement une source d'erreur dans les
calculs, les DSP ont des registres accumulateurs de 2 x n bits auxquels sont associés des registres
auxiliaires. La précision totale des registres accumulateurs devient ainsi 2 x n bits + le nombre de bits
d'un registre auxiliaire.
Dans un appareil équipé de DSP, la vitesse d'exécution des calculs dans le DSP est généralement la
partie déterminante de la vitesse d'exécution du travail effectué par la machine. Il s'agit souvent de
programmes très courts, de quelques centaines de lignes au maximum dont certaines parties (boucles)
doivent être optimisées au maximum. C'est pourquoi beaucoup de programmeurs de DSP utilisent
l'assembleur et analysent en détail le schéma d'exécution du code par la machine.
Cependant, certains DSP ont une architecture tellement complexe qu'il devient long et difficile pour le
programmeur d'optimiser manuellement l'exécution. Il peut alors écrire son programme en C et laisser
au compilateur le soin de réaliser l'optimisation du code. S'il le souhaite, le programmeur pourra alors
analyser le code généré par le compilateur et y apporter les dernières retouches permettant d'obtenir du
DSP la meilleure performance possible.
Le choix entre ces deux langages se fera donc en fonction de la complexité du programme, de la vitesse
de traîtement souhaitée, du nombre de programmeurs qui travailleront sur le projet et du coût du
produit. D'autres facteurs comme l'expérience personnelle et les outils que propose le constructeur
doivent aussi être considérés.
Fabricants
3 of 4
20/05/08 21:49
Processeur de signal numérique - Wikipédia
http://fr.wikipedia.org/wiki/Digital_signal_processor
Il existe différents fabricants de DSP sur le marché.
Analog Devices propose entre autre des DSP incorporant comme périphériques des ADC et des
DAC.
Freescale.
Lucent.
Microchip propose deux familles dénommées Digital Signal Contrôler (dsPIC30F et
dsPIC33F), qui sont des microcontrôleurs avec des capacités de calcul renforcées et des
périphériques de conversion analogique-numérique.
Texas Instruments a une gamme étendue, comportant en particulier les familles C6000, C5000 et
C2000.
Liens externes
dspGuru : DSP Central (http://www.dspguru.com/) Promouvoir l'échange des connaissances
entre utilisateurs des DSP, ceci du débutant au spécialiste.
Pocket Guide to Processors for DSP (http://www.bdti.com/pocket/pocket.htm)
The Scientist and Engineer's Guide to Digital Signal Processing (http://www.dspguide.com/)
Resources for Real Embedded Systems Professionals (http://microcontroller.com/)
DSP Education and Research (http://www.emlabs.info/) Liste mondiale d' universités qui ont des
groupes de recherhce sur les DSP et d' autres systèmes embarqués.
DSP Engineering Magazine (http://www.dsp-fpga.com/?w=1)
Introduction to DSP (http://www.bores.com/courses/intro/chips/index.htm) Cours d'introduction
de BORES
Groupes de discussion sur les DSP (http://www.dsprelated.com/)
Portail de l’électricité et de l’électronique
Portail de la logique
Récupérée de « http://fr.wikipedia.org/wiki/Processeur_de_signal_num%C3%A9rique »
Catégories : Processeur de signal numérique (DSP) | Traitement numérique du signal
Dernière modification de cette page le 1 avril 2008 à 12:34.
Droit d'auteur : Tous les textes sont disponibles sous les termes de la licence de documentation
libre GNU (GFDL).
Wikipedia® est une marque déposée de la Wikimedia Foundation, Inc., organisation de
bienfaisance régie par le paragraphe 501(c)(3) du code fiscal des États-Unis.
4 of 4
20/05/08 21:49
Téléchargement