Table of Contents
Les processeurs de signal numérique (DSP) sont des microprocesseurs spécialisés conçus pour les calculs numériques à grande vitesse, l'épine dorsale du traitement audio moderne, des télécommunications, du contrôle industriel et de l'analyse d'image. Au cœur de la sélection DSP se trouve une décision architecturale fondamentale : l'arithmétique fixe par rapport au point flottant. Ce choix façonne les performances, la consommation d'énergie, le coût de développement et, en fin de compte, l'adéquation du processeur pour une application donnée.
Aperçu des représentations en points fixes et en points flottants
Les DSP à point fixe et à point flottant sont conçus pour effectuer des opérations arithmétiques sur des nombres réels, mais ils codent ces nombres différemment. La méthode de représentation affecte directement la vitesse de calcul, l'efficacité énergétique, la portée dynamique et la précision.
Arithmétique à point fixe
Les DSP à point fixe représentent des nombres en utilisant un nombre prédéterminé de bits pour les pièces entières et fractionnelles. Par exemple, un format Q15 utilise 1 bits à signe et 15 bits fractionnels, fournissant une plage d'environ -1 à 0,9999 avec une résolution de 1/32768. Comme le point décimal est fixe, des opérations comme l'addition et la multiplication peuvent être exécutées avec un minimum de frais matériels.
- Simple datapaths – Pas besoin de matériel d'alignement d'exposant, réduction du nombre de portes et de la puissance.
- Calendrier déterministe – Instructions exécutées dans des cycles d'horloge prévisibles, cruciales pour les boucles de contrôle en temps réel.
- Impression mémoire basse – Largeurs de mots plus petites (souvent 16 bits ou 24 bits) que les formats 32 bits ou 64 bits flottants.
Cependant, le point fixe impose des contraintes. Les programmeurs doivent soigneusement étaler les valeurs pour éviter les débordements ou les sous-flux, un processus appelé Gestion du format Q. Cela ajoute un effort de développement et peut introduire des erreurs de quantification si l'échelle n'est pas manipulée avec précision.
Arithmétique flottante
Les DSP en point flottant utilisent une représentation analogue à la notation scientifique : un signe, une mantissa (ou significand) et un exposant. La norme IEEE 754 définit des formats communs comme une seule précision (32 bits) et une double précision (64 bits). L'exposant permet au point décimal de --float, - fournissant une vaste gamme dynamique.
- Large plage dynamique – La précision unique peut représenter des nombres allant de ~1,2×10−38 à 3.4×1038, éliminant les problèmes de débordement/débit dans de nombreux algorithmes.
- Normalisation encastrée – Le matériel gère automatiquement l'échelle, réduisant la complexité de la programmation.
- – La mantissa 24 bits en une seule précision donne environ 7,2 chiffres décimaux de précision, suffisants pour la plupart des tâches de traitement du signal.
Les processeurs à point flottant sont généralement plus chers, consomment plus de puissance et ont des empreintes de silicium plus grandes que leurs homologues à point fixe. Ils ont également tendance à avoir des vitesses d'horloge légèrement plus lentes pour un noeud de processus donné en raison de la complexité de l'unité logique arithmétique (ALU).
Comparaison des résultats et de l'efficacité
La performance des DSP est mesurée non seulement par la vitesse brute de l'horloge, mais aussi par le débit en temps réel des opérations arithmétiques, la consommation d'énergie par opération et le coût au niveau du système.
Vitesse et puissance
Les DSP à points fixes exécutent traditionnellement des opérations multi-accumulations (MAC) – le noyau de nombreux algorithmes DSP – en un seul cycle avec des décrochages de pipelines minimes. Comme le matériel à points fixes est plus simple, la même technologie de processus peut atteindre des fréquences d'horloges plus élevées et une dissipation de puissance plus faible. Par exemple, la famille Texas Instruments -TMS320C55x fonctionne à des fréquences allant jusqu'à 400 MHz tout en tirant aussi peu que 0,15 mW par MHz.
Pour comparer les performances sur une base tâche-tâche, le point flottant nécessite souvent moins d'opérations car il élimine l'échelle et réduit les nombres d'itération pour les algorithmes itératifs. Cependant, le coût par opération est plus élevé. Pour les applications avec une plage dynamique modérée et des données bien liées (p. ex., audio, détection de tonalité, commande du moteur), le point fixe peut surperformer le point flottant tant dans la vitesse que dans l'efficacité énergétique (Texas Instruments, --Fixed vs Floating Point, - 2022).
Coût et complexité
Un appareil MAC fixe occupe environ un tiers à la moitié de la surface d'un appareil MAC flottant équivalent sur le même processus. Pour l'électronique grand volume, cette différence peut faire basculer l'équilibre vers le point fixe. De plus, l'utilisation de la bande passante externe est plus faible avec des données 16 bits en point fixe, réduisant encore le coût du système (Analog Devices, -DSP 101 Partie 3: Fixed-Point vs. Floating-Point, - 2023).
Cependant, le coût du développement doit également être pris en compte. La programmation en point flottant réduit le temps consacré à l'échelle et à l'analyse numérique, ce qui peut réduire le coût de l'ingénierie logicielle et le temps de mise en marché.
Précision et portée dynamique
La précision se réfère à la granularité avec laquelle un nombre peut être représenté, tandis que la plage dynamique décrit la portée entre les plus petits et les plus grands nombres positifs représentatifs. Les processeurs à points fixes ont une plage dynamique fixe déterminée par la largeur du mot : un nombre à points fixes de 16 bits a une plage dynamique d'environ 96 dB (20·log2(216)).
Dans la pratique, de nombreuses applications DSP ne nécessitent pas une plage dynamique extrême. Par exemple, un audio 16 bits (96 dB) suffit pour la plupart des systèmes audio consommateurs. Inversement, un système radar qui doit traiter les signaux d'un écho cible fort en même temps qu'un faible retour peut nécessiter la plage de 1,523 dB de point flottant à simple précision pour éviter la saturation ou l'amplification sonore.
Il convient également de noter que précision n'est pas équivalente à la précision.Un système à point fixe avec une échelle soigneusement gérée peut obtenir une précision comparable à un point flottant pour un algorithme donné, à condition que les données restent dans la plage dynamique choisie. L'échange est l'effort d'ingénierie initiale (Xilinx, --Point fixe vs Point flottant pour DSP, -).
Considérations relatives à la demande
Le choix entre le point fixe et le point flottant dépend en fin de compte des exigences spécifiques du domaine.
Traitement audio et vocal
De nombreux systèmes audio professionnels utilisent des processeurs à point fixe 24 bits pour correspondre au rapport signal-bruit des convertisseurs. Pour le traitement des effets, l'égalisation et la compression, le point fixe est rentable et efficace. Cependant, lorsque des algorithmes complexes comme la prédistorsion numérique adaptative ou la modélisation acoustique de pièce sont nécessaires, le point flottant peut être préféré pour éviter d'alléger les maux de tête et accélérer le développement d'algorithmes.
Communications sans fil
Les processeurs de base dans les systèmes cellulaires et Wi-Fi traitent des modulations comme QPSK, QAM, OFDM et spread-spectrum. Ces algorithmes fonctionnent sur des nombres complexes et impliquent de nombreuses opérations multi-accumulables avec des niveaux de signal variables. Le point fixe domine dans les SoCs à haut volume de combinés en raison des contraintes de coûts et de puissance. Par exemple, Qualcomm , Hexagon DSP dans les puces mobiles utilise un mélange d'accélérateurs à point fixe. Cependant, les plateformes radio et l'infrastructure réseau (p. ex., stations de base 5G) de logiciels intègrent souvent des FPGA ou des DSP à point flottant en raison de la nécessité de prendre en charge plusieurs formes d'onde et des normes avec reconfiguration rapide (Protocole rapide, -Fixed vs. Floating Point dans le sans fil, - 2022)].
Contrôle industriel
Les DSP à point fixe comme la famille TMS320F28335 sont omniprésents dans les entraînements industriels car ils combinent une réponse rapide d'interruption, une génération de PWM et une latence minimale. Les variables de contrôle – courant, tension, couple – sont bien liées et ne nécessitent pas de plage dynamique extrême. Le point flottant est rarement nécessaire; les ingénieurs peuvent mettre en place des contrôleurs PID et des observateurs de flux avec un arithmétique à point fixe de 16 ou 32 bits.
Traitement d'images et de vidéos
Pour les opérations simples comme le filtrage, l'échelle et la compression, les DSP à point fixe (ou les architectures à point fixe améliorées par SIMD) sont efficaces. Cependant, l'analyse vidéo avancée impliquant l'inférence de l'apprentissage automatique – par exemple, la détection d'objets par des réseaux neuronaux convolutionnels – nécessite souvent une précision plus élevée pendant l'entraînement et l'inférence. De nombreux processeurs de vision intègrent maintenant des accélérateurs de réseau neuronal à point fixe avec des poids quantifiés (par exemple, INT8) pour obtenir des performances en temps réel à faible puissance.
Expérience du développeur
Les DSP à points fixes exigent généralement des développeurs qu'ils utilisent des bibliothèques spécialisées (p. ex., calcul de Q-format, traitement de la saturation) et gèrent manuellement les types de données. De nombreux fournisseurs fournissent une assistance arithmétique à points fixes en C/C++ via des composants du compilateur, mais le débogage des problèmes de débordement peut prendre du temps. Les DSP à points flottants permettent l'utilisation directe de types C standard (, ) et sont plus indulgents lorsque l'on porte des algorithmes à partir d'environnements de simulation comme MATLAB ou Simulink. Le code peut être migré plus rapidement, réduisant ainsi le temps de développement – un facteur important pour les produits à faible volume.
De plus, les DSP à point flottant moderne comprennent souvent des périphériques intégrés (USB, Ethernet, contrôleurs LCD) qui simplifient l'intégration du système. Les processeurs à point fixe ont tendance à être plus spécialisés, exigeant parfois des composants externes pour la connectivité. Une évaluation approfondie du coût total du système (matériel + logiciel) est essentielle.
Le rôle des transformateurs hybrides
Certains appareils, comme la famille des appareils analogiques Blackfin+, combinent un noyau de point fixe avec un support matériel optionnel pour les opérations de point flottant à simple précision. D'autres, comme de nombreux processeurs ARM Cortex-M, incluent une unité de point flottant à simple précision (FPU) à côté d'une unité de point fixe. Ces solutions hybrides permettent aux développeurs d'utiliser un point flottant pour le prototypage des algorithmes et des sections critiques en matière de précision tout en revenant au point fixe pour les chemins à haut débit et à faible puissance. Dans de nombreux cas, un processeur hybride peut offrir le meilleur des deux mondes, même si l'augmentation de la surface et de la puissance du silicium est modérée par rapport à un design à simple point fixe.
Comment faire le choix
Pour sélectionner l'architecture optimale du PSD, il faut procéder à une évaluation systématique des contraintes d'application.
- Définir les caractéristiques du signal – Déterminer la plage dynamique et le rapport signal-bruit requis par l'extrémité frontale analogique et les algorithmes. Si les données ne dépassent jamais la plage 80–100 dB, le point fixe est plausible.
- Caractéristiques des opérations arithmétiques – Comptez le nombre de MAC par seconde (MIPS/MFLOPS), la précision requise et l'impact des erreurs de quantification. Exécutez les simulations à point fixe tôt.
- Evaluer les budgets d'énergie[ – Pour les appareils alimentés par batterie, le point fixe offre généralement un avantage de 3 à 10x en énergie par MAC. Utilisez les fiches techniques du fournisseur pour estimer la puissance active.
- Évaluez les ressources de développement – Si l'équipe possède une expérience en point fixe profonde et un budget matériel serré, le point fixe peut être préféré. Pour le prototypage rapide ou les algorithmes complexes, le point flottant réduit le risque.
- Considérer l'évolutivité future – Les normes sans fil, les codecs audio et les algorithmes de traitement d'image évoluent.
- Prototyper les deux – Utilisez des cartes d'évaluation (p. ex., TI Deca Series, Analog Devices EZ-KIT Lite) pour tester les performances en temps réel et la consommation d'énergie avec votre code d'application réel.
Enfin, examiner les résultats des repères à partir de sources réputées.Les repères de base du DSP de la BDTI fournissent des paramètres normalisés qui comparent les implémentations à points fixes et à points flottants entre différentes architectures (EDN, -]Comment choisir un processeur DSP utilisant des repères, - 2021).
Conclusion
Les architectures à points fixes offrent un rendement de coût inégalé, une faible consommation d'énergie et une vitesse déterministe pour des applications à haut volume bien liées, comme le contrôle industriel, l'audio grand public et les combinés cellulaires. Les architectures à points flottants simplifient le développement logiciel, assurent une large gamme de dynamique et maintiennent une haute précision pour les algorithmes complexes utilisés dans l'analyse professionnelle de l'audio, de l'imagerie médicale, du radar et de la science. L'émergence de processeurs hybrides dotés de capacités de double arithmétique donne aux concepteurs une flexibilité supplémentaire, mais les compromis de base demeurent. En analysant soigneusement les exigences en matière de signaux, les charges de calcul, les budgets de puissance et les coûts de développement, les ingénieurs peuvent choisir le DSP qui maximise les performances par dollar pour leur application spécifique.