Table of Contents
Dans le monde en pleine expansion de l'IoT, les appareils de bord comptent fortement sur les processeurs de signaux numériques (PSD) pour effectuer le traitement en temps réel des données pour des applications allant de l'amélioration audio et de la reconnaissance d'image à la fusion de capteurs et à la maintenance prédictive. Toutefois, comme ces appareils deviennent plus répandus dans les déploiements alimentés par piles ou alimentés par énergie, la gestion de la consommation d'énergie dans les PSD est essentielle pour prolonger la durée de vie des batteries des appareils, réduire le stress thermique et assurer un fonctionnement durable sur de longues durées de vie.
Comprendre la consommation d'électricité dans les PSD
Les DSP sont des microprocesseurs spécialisés conçus pour les calculs numériques à grande vitesse, utilisant souvent des opérations multi-accumulables (MAC) fondamentales pour le filtrage, les FFT et la convolution. Leur consommation d'énergie est régie par les mêmes principes physiques que les autres circuits CMOS, mais la nature des charges de travail des DSP – haute densité de calcul, opérations répétitives et contraintes en temps réel – crée des possibilités et des défis uniques pour la réduction de la puissance.
La puissance totale consommée par une puce DSP peut être divisée en deux composantes principales:
- Puissance dynamique (P dynamique):[ Proportionnelle au carré de la tension d'alimentation (V2), à la fréquence de l'horloge (f) et à l'activité de commutation (α). Elle domine lors du calcul actif.
- Puissance statique (P static):[ Largement déterminée par les courants de fuite (fuite sous-seuil et porte) qui s'écoulent même lorsque le processeur est au ralenti. La puissance statique devient plus significative aux nœuds de processus avancés (p. ex. 28nm et moins).
Bien que la puissance dynamique puisse être réduite en diminuant la tension et la fréquence, la puissance statique nécessite des techniques comme le gingage de puissance, le CMOS multi-seuils (MTCMOS) et un biais prudent. De plus, la hiérarchie de la mémoire, les chemins de données et la logique de contrôle du DSP contribuent tous à la consommation globale.
Stratégies de faible puissance au niveau du matériel
Les concepteurs de matériel ont développé une riche trousse de techniques de circuit et d'architecture qui forment la base des DSP de faible puissance. Ces méthodes peuvent être appliquées au moment de la conception ou dynamiquement pendant le fonctionnement.
Voltage dynamique et calibrage de fréquence (DVFS)
En réduisant la tension d'alimentation et la fréquence des horloges pendant les périodes de faible demande, la relation quadratique entre la tension et la puissance dynamique permet des économies importantes. Par exemple, réduire de moitié la tension peut réduire la puissance dynamique jusqu'à 75%, mais seulement si la fréquence est graduée en conséquence pour maintenir le timing du circuit. Des DSP modernes comme la série TI TMS320C5000 mettent en œuvre DVFS avec plusieurs points d'exploitation (p. ex., vitesse totale, demi-vitesse, basse tension), sélectionnés par un logiciel basé sur la charge de travail. Texas Instruments applications notes detail DVFS implementation for ultra-low power DSP systems.
Gattage de puissance et transistors de sommeil fin-grain
La mise en service nécessite un contrôle minutieux de la latence de réveil et du courant in-rush. La mise en service de la commande de courant permet de déconnecter les blocs de ralenti de l'alimentation en utilisant des transistors de sommeil à haute tension, éliminant virtuellement la puissance statique dans une logique non utilisée.
Régalage de l'horloge
Le gating d'horloge est une technique standard qui désactive le signal d'horloge aux tondages et aux blocs logiques lorsqu'ils ne changent pas. Dans un DSP typique, jusqu'à 30 à 40 % de la puissance dynamique est consommée par le réseau de distribution d'horloge. En insérant des signaux activés au niveau du transfert de registre (RTL), le gating d'horloge peut économiser une énergie significative pendant les périodes de ralenti dans un cycle d'horloge.
Diminution de l'adaptation du corps (ABB)
ABB ajuste la tension seuil (Vt) des transistors en appliquant une tension biaisée sur le substrat (corps). Le biaisage avant du corps (FBB) réduit le Vt, augmentant la vitesse au prix de fuites plus élevées, tandis que le biais inverse du corps (RBB) élève le Vt pour réduire les fuites mais ralentit le circuit. Pour les DSP qui fonctionnent dans des charges de travail rafales, ABB peut troquer dynamiquement les performances et la puissance statique – par exemple, appliquer le RBB pendant les modes de sommeil et le FBB pendant le calcul actif.
Bibliothèques de cellules multi-Vt et options de processus
Les fonderies offrent des bibliothèques cellulaires standard avec des saveurs de tension à seuil multiple : faible Vt (rapide, fuite), standard Vt et haute Vt (faible, faible fuite).Une stratégie de synthèse soigneuse attribue les cellules haute Vt à des chemins non critiques pour réduire la puissance statique, tandis que les cellules basse Vt sont utilisées uniquement sur des chemins critiques de timing.Cette technique, connue sous le nom de CMOS multi-seuil (MTCMOS), peut réduire les fuites de 50 à 70 % sans impact sur les performances.
Optimisation de la mémoire et du cache
La mémoire domine souvent le budget de puissance d'un système DSP, en particulier pour les appareils IoT qui diffusent des ensembles de données de capteurs de grande taille. Les techniques comprennent : l'utilisation de fichiers SRAM sur puce ou de fichiers de registre plus petits au lieu de DRAM hors puce, la mise en œuvre de mémoires multibanques avec activation sélective de banques, et l'optimisation des cellules de rétention sans rafraîchissement pour le stockage de faible puissance.
Techniques d'optimisation des logiciels
Bien que le matériel fournit la salle de tête, les optimisations logicielles déterminent l'efficacité de cette salle de tête. L'écriture de code de courant-concept pour les DSP nécessite une attention à la complexité arithmétique, le flux de données et les décisions de contrôle.
Sélection et approximation de l'algorithme
Par exemple, un FFT à point fixe peut consommer moins d'énergie qu'une version à point flottant parce qu'il utilise des chemins de données plus petits et une bande passante moins grande en mémoire. Dans de nombreux contextes IoT, des techniques informatiques approximatives – où le DSP sacrifie une certaine précision pour une puissance plus faible – sont acceptables. Les algorithmes de fusion de capteurs pour accéléromètres ou microphones tolèrent souvent une résolution réduite de la profondeur des bits ou de la fréquence.
Optimisations du code pour les cycles réduits
Chaque instruction exécutée consomme de l'énergie. L'optimisation de la taille du code (en utilisant de petites empreintes d'instructions), le dérouillage de boucle (pour réduire les frais généraux de boucles tout en équilibrant la taille du code) et l'utilisation efficace des instructions spécifiques au DSP (comme les boucles double-MAC, zéro-overhead ou SIMD) peuvent réduire le nombre de cycles de 30 à 50%.
Flux de données et modèles d'accès à la mémoire
L'optimisation de la localisation des données – en veillant à ce que les données fréquemment accessibles restent dans le cache L1 ou la mémoire locale – réduit le nombre d'accès à la mémoire hors puce à haute énergie. Des techniques comme l'emballage des données, la pré-installation des logiciels (si prise en charge) et les transferts sous DMA peuvent maintenir le noyau DSP occupé par les données locales tandis que le contrôleur DMA gère le mouvement des données en vrac en arrière-plan.
Calendrier des tâches et vélo de service au niveau OS
Sur les périphériques de bord plus complexes fonctionnant avec un RTOS ou un planificateur léger, la planification des tâches peut être optimisée pour la puissance. Par exemple, le regroupement de tâches à forte intensité de calcul permet au DSP d'entrer dans un état de sommeil profond pour des intervalles plus longs.
Stratégies opérationnelles
Au-delà du matériel et des logiciels, les décisions opérationnelles au niveau du système peuvent réduire davantage la consommation d'énergie sans remodeler le DSP.
Modes avancés de sommeil et d'Idle
La plupart des DSP modernes offrent de multiples états de sommeil, allant du sommeil léger (où le noyau est arrêté mais les horloges aux périphériques restent actives) au sommeil profond (où la puce entière est éteinte, sauf pour une petite mémoire vive avec piles). Le choix de l'état de sommeil dépend de la latence de réveil. Pour les dispositifs IoT bord, il est avantageux de passer rapidement entre les états actifs et les états de sommeil pour éviter de gaspiller l'énergie pendant de courtes périodes de repos.
Traitement par événement et par interruption
Au lieu de capteurs de sondage ou de flux de données, les architectures axées sur les événements permettent au DSP de rester en mode de faible puissance jusqu'à ce qu'un déclencheur spécifique (par exemple, un seuil de franchissement de capteur, un paquet entrant) active le traitement. Cela réduit la puissance moyenne parce que le DSP est actif seulement lorsqu'il y a un travail significatif à faire.
Gestion des données du capteur et traitement local
Les données brutes des capteurs peuvent être volumineuses. La transmission de chaque échantillon vers un serveur central ou un cloud consomme une énergie importante pour la communication sans fil, souvent plus que le traitement lui-même. En effectuant l'extraction de fonctions, la compression ou la détection d'anomalies localement sur le DSP, le périphérique ne peut envoyer que de petits paquets de données. Par exemple, un microphone intelligent DSP peut exécuter un algorithme de détection de mots-clés toujours sur un petit réseau neuronal, ne consommant que quelques milliwatts pendant que le processeur principal reste en mode veille. Les lignes directrices de gestion de l'énergie d'ARM illustrent comment combiner les moyeux de capteurs et les DSP pour un traitement efficace des bords.
Traitement adaptatif et réglage du temps de fonctionnement
Les appareils qui ajustent dynamiquement leur traitement en fonction des conditions environnementales – par exemple, réduire le taux d'échantillonnage lorsqu'aucun son n'est détecté ou réduire la résolution d'image lorsque l'éclairage est faible – peuvent réaliser des économies d'énergie substantielles.
Techniques avancées pour les DSP ultra-faible puissance
Alors que les appareils IoT poussent vers la récolte d'énergie et le fonctionnement sans batterie, les chercheurs et les leaders de l'industrie explorent des techniques de faible puissance plus agressives.
Informatique quasi seuil (NTC)
Cependant, les circuits NTC deviennent extrêmement sensibles aux variations de processus et ont réduit de façon significative la fréquence maximale. Certaines implémentations DSP utilisent une approche à double mode : un domaine à quasi seuil pour les tâches à faible débit (p. ex., la surveillance des antécédents) et un domaine à haute tension pour le traitement des éclats.
Opération sous-seuil
Pour les applications à très basse vitesse (par exemple, détection de température, enregistrement périodique), les DSP peuvent être conçus avec des tensions d'alimentation inférieures à Vth. Cette sous-zone de seuil produit la plus faible énergie possible par cycle mais avec des vitesses dans la gamme kHz. Ces conceptions nécessitent des bibliothèques cellulaires spécialisées et un chronométrage soigné, et sont généralement utilisées dans des nœuds de capteur dédiés plutôt que dans des dispositifs IoT de bord à usage général.
Intégration de la récolte d'énergie
Les DSP qui récoltent de l'énergie à partir de sources solaires, thermiques ou vibratoires doivent pouvoir fonctionner avec une puissance intermittente. Cela exige une puissance de veille ultra-faible (sous-microwatt) et des temps de démarrage rapides. Certaines architectures DSP comprennent une petite unité de gestion de l'énergie toujours en service qui peut réveiller le noyau lorsque l'énergie est stockée.
Co-traitement analogique et mixte des signaux
Au lieu de numériser toutes les données et le traitement des capteurs dans le domaine numérique, les front-ends de traitement analogique peuvent effectuer le traitement précoce des signaux (par exemple, filtrage, détection d'enveloppes ou corrélation) à très faible puissance. Cela réduit les exigences de bande passante et de résolution sur le convertisseur analogique-numérique (ADC) et le DSP. Des appareils comme le Maxim MAX78000 intègrent un accélérateur de réseau neuronal convolutionnel qui fonctionne directement sur des données analogiques provenant d'un capteur de caméra, consommant des milliwatts pour la classification en temps réel de l'image.
Applications et études de cas dans le monde réel
De nombreux DSP commerciaux démontrent l'efficacité de ces stratégies. Le TI TMS320C5517, par exemple, est un DSP à point fixe qui utilise DVFS avec six domaines de puissance indépendants et plusieurs niveaux de ginginging d'horloge. Dans une application audio typique, il peut atteindre une consommation de puissance active de 0,15 mW/MHz et une puissance de veille inférieure à 50 μW. L'architecture CEVA-X2 cible l'IoT à vocalisation et utilise une combinaison de cellules multi-Vt, et un contrôleur de sommeil avancé pour atteindre 20 μA en sommeil profond tout en conservant le contexte.
Dans le cadre de la recherche, le projet Princeton PULP (Parallel Ultra-Low Power)[ a développé des noyaux DSP open source qui poussent l'efficacité énergétique en dessous de 1 pJ/cycle. Leur approche combine l'informatique à quasi seuil avec une grille d'horloge fine et un tissu à grappes multi-cœurs pour le traitement parallèle.
Défis et échanges
Bien qu'il existe de nombreuses techniques de faible puissance, elles sont assorties de compromis que les concepteurs de systèmes doivent naviguer :
- Performance vs. Puissance:[ L'échelle de tension agressive réduit la vitesse; cela peut ne pas respecter les délais en temps réel pour les signaux à large bande (p. ex., vidéo HD ou radar à large bande).
- Zone et coût: Ajouter des domaines de puissance, des transistors de sommeil et des domaines de régulateurs multiples augmente la superficie et la complexité de l'emballage.
- Conception Complexité:[ La mise en œuvre de DVFS, ABB ou NTC nécessite un firmware sophistiqué de gestion de l'énergie et une détection précise de la tension/température.
- La fuite aux nœuds avancés: À 16 nm et moins, la puissance statique peut dominer même avec une bonne optimisation. Les mémoires sur puce et les circuits analogiques sont particulièrement sensibles aux fuites, nécessitant parfois des options de fonderie spéciales comme les transistors ULL (ultra-faible fuite).
- Logiciel Overhead: Le logiciel Power-Aware exige que les développeurs pensent à l'énergie comme une ressource, ce qui peut entrer en conflit avec la portabilité du temps vers le marché ou le code.
Tendances futures du PSD à faible puissance pour l'IoT
La poussée incessante vers l'intelligence de bord autonome est à l'origine de plusieurs tendances émergentes :
- Computing neuromorphe: Les réseaux neuronaux à spiration événementielle (SNN) peuvent traiter des données de capteurs avec une puissance extrêmement faible, car seuls les neurones actifs consomment de l'énergie.
- Intégration hétérogénique (Chiplets):[ Les futurs SoC peuvent combiner une puce DSP à faible fuite avec une pucette d'accélérateur haute performance, chacun sur son propre noeud de processus optimisé, connecté par un emballage avancé. Cela permet à chaque bloc d'utiliser la meilleure technologie pour ses besoins en puissance et en vitesse.
- Gestion de la puissance sous l'impulsion d'AI:[ Les modèles d'apprentissage automatique eux-mêmes peuvent être utilisés pour prédire la charge de travail et ajuster la tension ou les modes de sommeil plus agressivement que les algorithmes conventionnels.
- Stockage d'énergie sur puce et accouplement d'énergie des mémoires : Les petits surcondensateurs ou batteries à film mince intégrés sur la puce peuvent fournir une énergie temporaire pour le traitement de l'éclatement, permettant au DSP de fonctionner à une puissance moyenne inférieure de la batterie principale.
- Standardisation des API de puissance: Des groupes industriels comme le Yocto Project et Linux Power Management travaillent à standardiser les interfaces pour les états de sommeil et de service DVFS, ce qui facilite le développement de micrologiciels DSP portables.
Conclusion
La faible consommation d'énergie des processeurs DSP pour les appareils IoT ledge est un défi multiforme qui nécessite une orchestration soigneuse du matériel, des logiciels et des stratégies au niveau du système. Des techniques fondamentales de DVFS, de gage de puissance et de gage d'horloge, aux optimisations algorithmiques et au fonctionnement par événement, chaque élément contribue à un budget énergétique holistique.
En mettant en œuvre les techniques décrites dans cet article, les développeurs peuvent prolonger la durée de vie des batteries des appareils, améliorer l'efficacité opérationnelle et soutenir des déploiements durables d'IoT – permettant un avenir où l'intelligence de pointe est à la fois puissante et consciente de la puissance.