Processeur de signal numérique

Un Digital Signal Processor ou DSP en anglais, soit «processeur de signal numérique», est un microprocesseur optimisé pour les calculs.



Catégories :

Processeur de signal numérique (DSP) - Traitement numérique du signal

Recherche sur Google Images :


Source image : directindustry.fr
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Processeur de signal numérique (DSP) Texas Instruments Semiconductor. Technologies d'offres de traitement numérique du signal (DSP) Pour le développement de ... (source : directindustry)
  • A. Tisserand – mai 2003 – séminaire LIP – Processeurs DSP. 3/47. Pourquoi faire du traitement numérique du signal ? Les principaux avantages du calcul... (source : irisa)
  • A. Tisserand – mai 2003 – seminaire LIP – Processeurs DSP. 3/47. Pourquoi faire du traitement numerique du signal ? Les principaux avantages du calcul... (source : pdfqueen)

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 également pour accéder particulièrement aisément à la plupart d'entrées-sorties (numériques ou analogiques). La fonction principale utilisée dans le DSP est la fonction multiply-accumulate (MAC), c'est-à-dire une multiplication suivie d'une addition et d'un stockage du résultat (fonction particulièrement utilisée dans les calculs d'asservissement et de filtrage).

Ces fonctionnalités passent devant des fonctionnalités qu'on retrouve dans un processeur généraliste, comme par exemple tout ce qui sert à faire fonctionner un dispositif d'exploitation.

Les DSP sont utilisés dans la majorité 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 aussi utilisés dans des dispositifs vidéo, les chaînes de traitement de son, partout où on reçoit un signal complexe qu'on doit modifier à l'aide du filtrage.

En ce qui concerne les filtres, les DSP en simplifient largement la réalisation pour plusieurs raisons :

Caractéristiques des processeurs de signal numérique

     entrée analogique----->ADC---->DSP---->DAC---> sortie analogique
                                    ^^^
                               traitement du
                              signal numérique

Les DSP peuvent être combinés avec d'autres composants dans le même boîtier. A titre d'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) sert à diminuer les coûts dans des fabrications de grande série. Les fonctions de traitement de signal peuvent aussi être réalisés avec 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 donnant la possibilité une grande vitesse de traitement des données. Un multiplieur entier est en effet bien plus simple qu'un multiplieur à virgule flottante. Les nombres entiers permettent d'obtenir une précision suffisante pour la majorité 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, en général, 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 particulièrement larges. A titre d'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 forcément 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 fréquemment présentes dans les applications multimédia. »

Les DSP proposent des performances surprenantes. A titre d'exemple, le DSP AD1460 qui se compose 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 uniquement 46 μs.

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 Calculs mathématiques
Applications typiques traitement de texte,

base de données, tableur, dispositif d'exploitation

traitement numérique du signal,

contrôle de vitesse, simulation scientifique, simulation électronique

Opérations principales mouvement de données (A → B)

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 le plus souvent la partie déterminante de la vitesse d'exécution du travail effectué par la machine. Il s'agit fréquemment de programmes particulièrement courts, de quelques centaines de lignes au maximum dont certaines parties (boucles) doivent être optimisées au maximum. C'est pourquoi énormément 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 complexe 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 envisageable.

Le choix entre ces deux langages se fera par conséquent selon 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 reconnus.

Fabricants

Il existe différents fabricants de DSP sur le marché.

Liens externes


Recherche sur Amazone (livres) :



Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/Processeur_de_signal_num%C3%A9rique.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu