Measurement and Instrumentation
A Technical Guide to Dsp Processor Power Gating and Sleep Modes
Table of Contents
Les processeurs de signaux numériques (PDD) sont indispensables dans les systèmes intégrés modernes, en traitant le traitement en temps réel pour des applications telles que les codecs audio, les communications sans fil, le contrôle moteur et le traitement d'image. À mesure que la complexité du système augmente, la demande d'efficacité énergétique, en particulier dans les appareils alimentés par batterie où chaque milliwatt compte, est également plus grande. Deux techniques fondamentales pour réduire la consommation d'énergie DSP sont les systèmes de ginginging[ et les modes de sommeil. Ce guide technique explore à la fois en profondeur, en couvrant leurs principes sous-jacents, les compromis de mise en œuvre, les stratégies d'intégration et les considérations pratiques pour les concepteurs.
Pouvoirs fondamentaux
Qu'est-ce que la Gattage de Puissance?
La gâchette de puissance est une technique de conception qui déconnecte sélectivement un bloc logique de son alimentation lorsqu'elle n'est pas nécessaire. Bien que la gâchette d'horloge réduit la puissance dynamique en arrêtant l'horloge, la gâchette de puissance attaque la puissance statique , qui est devenue dominante dans les nœuds avancés du processus (p. ex., 28 nm et moins).
Au niveau du transistor, on met en œuvre le ginging électrique en utilisant des commutateurs de puissance, généralement à haute tension de seuil (haute tension Vt) des MOSFET qui agissent comme en-têtes (entre VDD et VDD virtuelle) ou des pied de pied (entre GND virtuel et GND virtuel). Lorsque la région est active, les commutateurs sont activés, fournissant un chemin de faible résistance. Lorsque les commutateurs sont éteints, isolant la région et réduisant les fuites à des niveaux négligeables.
Considérations relatives à la mise en œuvre
Déployer la puissance dans un DSP exige une attention particulière aux éléments suivants:
- Domaines de puissance: La puce est partitionnée dans des îles à tension multiple. Chaque île peut être fermée indépendamment. Un DSP typique peut avoir des domaines séparés pour le cœur, la mémoire, les périphériques et les accélérateurs matériels.
- Reservation de l'état: Si le bloc fermé contient un état (registres, SRAM), cet état doit être sauvegardé avant que l'alimentation ne soit désactivée. Les tongs de rétention (également appelés registres -ballon) ou un petit domaine d'alimentation toujours sur peuvent préserver les données critiques.
- Séquençage de commande:[ Les interrupteurs de puissance de mise en marche ou de mise hors tension introduitnt des problèmes de courant et de tension d'écrasement. Une séquence soigneusement chronométrée – par exemple, permettant des interrupteurs un à la fois – prévient la droop d'alimentation.
- La chute et l'électromigration IR:[ Les rails d'alimentation virtuels voient une résistance plus élevée, de sorte que le positionnement du commutateur d'alimentation et le calibrage d'interconnexion doivent assurer une chute de tension acceptable sous une charge maximale.
Avantages et avantages
Avantages:
- Réduit la puissance de fuite jusqu'à 99 % dans les blocs de ralenti.
- Permet une durée de vie plus longue de la batterie et une dissipation thermique plus faible.
- Permet une granularité plus fine de la gestion de la puissance sans affecter la performance active.
Répartitions:
- Zones de dépassement des interrupteurs électriques et logique de rétention (généralement de 5 à 15 % par région fermée).
- L'énergie de réveil et latence : l'allumage d'un bloc coûte du temps et de la puissance dynamique pour charger le rail virtuel et restaurer l'état.
- La complexité accrue de la conception en matière de mise en page et de vérification physiques.
Pour un examen plus approfondi de la mise en œuvre de la gestion de puissance dans les SoC basés sur DSP, se référer à TI=s Power Management for DSP Devices.
Plongez profondément dans les modes de sommeil
Bien que le ginging de puissance soit une approche centrée sur le matériel, les modes de sommeil combinent matériel et logiciel pour placer le DSP dans un état de faible puissance lorsque la charge de travail le permet.
Taxonomie du mode sommeil
Les processeurs DSP offrent généralement plusieurs niveaux de sommeil, chaque puissance de négociation économise contre la latence de réveil:
- Mode Idle (deuil de run): L'horloge du cœur du processeur est fermée, mais tous les rails électriques restent allumés. Le contenu de la cache et de l'enregistrement sont préservés. Le DSP peut reprendre en quelques cycles d'horloge.
- Mode Standby: La tension de base est réduite (via DVFS ou un régulateur de faible puissance séparé), et la plupart des horloges périphériques sont fermées. La LPL principale peut être désactivée. Une source d'horloge plus rapide (p. ex. un oscillateur RC toujours en marche) maintient le timing de base en vie.
- Mode de sommeil profond: La majorité de la puce est alimentée par le gattage de puissance. Seul un petit domaine -toujours-sur-le-champ contenant un contrôleur de réveil, horloge en temps réel, et certains registres de rétention reste actif. Toute autre logique perd l'état à moins que sauvé à une mémoire non volatile hors-puce. Le temps de réveil peut être de 1 à 10 ms.
- Mode d'arrêt:[ La puce entière est éteinte sauf pour quelques broches d'entrée/sortie. Ce mode permet d'obtenir la plus faible fuite, mais nécessite une séquence de démarrage complète au réveil.
Le mode de sommeil approprié dépend de la durée de ralenti prévue. Par exemple, un DSP audio qui manipule un codec vocal peut utiliser le mode de ralenti entre les cadres vocaux (tous les 10 à 20 ms), tandis qu'un hub du capteur peut entrer dans un sommeil profond pendant de longues périodes d'inactivité de l'utilisateur.
Conservation et mémoire de l'État
Les modes de sommeil profonds dépendent souvent de rétention SRAM[ qui fonctionne à partir d'une alimentation toujours en service. Rétention SRAM consomme environ 10 à 30% de ses fuites actives mais maintient les données intactes. Pour les fichiers de registre, des tongs de rétention sont utilisés. Un flop de rétention typique ajoute un second verrou alimenté par une alimentation isolée. Pendant le sommeil, le flop principal est alimenté par l'alimentation, mais le verrou de rétention maintient l'état. Cette technique ajoute environ 30 à 50% de surface par registre, mais est nécessaire pour la plupart des pipelines DSP qui doivent reprendre rapidement.
Latences et mécanismes de réveil
La sortie d'un mode sommeil nécessite une séquence propre : restaurer la puissance, activer les horloges, stabiliser les PLL et reprendre l'exécution. Le temps total de réveil est dominé par le temps de verrouillage PLL (si désactivé) et la charge du condensateur. Les contrôleurs de réveil dédiés ] gèrent ces étapes de manière autonome. Les sources de réveil communes comprennent :
- Détection des bords sur les broches GPIO
- Expiration du minuteur d'un oscillateur de faible puissance
- Interruptions des périphériques actifs (par exemple UART, USB)
Dans certains modèles, un petit co-processeur[ demeure allumé pendant le sommeil profond jusqu'aux événements de réveil préprocessus, réduisant ainsi davantage l'activité principale du DSP.
Exemple : État du sommeil du DSP de Qualcomm Hexagon
La famille Hexagon DSP (utilisée dans les SoCs de Snapdragon) prend en charge plusieurs états de sommeil, y compris un mode de rétention où la tension du cœur est tombée juste au-dessus du seuil de rétention (< 0.6 V), and a Power Collapse (PC)[] où le noyau est entièrement fermé. Le réveil du mode PC prend environ 100 μs, tandis que le mode de rétention se rétablit sous 1 μs. Le gestionnaire de puissance de la plate-forme sélectionne l'état en fonction des moniteurs d'activité matérielle. Pour plus de détails, voir cet article EEE Times sur la gestion de l'alimentation du DSP.
Intégration des modes de gating et de sommeil
Pour maximiser l'efficacité énergétique, les modes de ginging et de sommeil doivent fonctionner de concert. Une transition typique de la pleine opération à un état de faible puissance implique plusieurs étapes :
Séquence de transition coordonnée
- Le logiciel a commencé : Le système d'exploitation ou le firmware DSP écrit à un registre de gestion de l'énergie, demandant l'entrée à un état de sommeil spécifique.
- Clock gating et état save:[ Le DSP enregistre les registres à la conservation (interne ou externe). Toutes les horloges de processeur sont arrêtées.
- Isolement du domaine de puissance: L'unité de gestion de puissance (PMU) active les cellules d'isolement entre le domaine fermé et les régions toujours sur afin d'éviter les entrées flottantes.
- Gating de puissance:[ Le PMU ouvre les interrupteurs d'en-tête/de pied, déconnectant l'alimentation virtuelle. Dans certains modèles, le PMU réduit également la tension à un niveau de rétention avant d'ouvrir les interrupteurs (pour minimiser l'inrush lors de la reprise d'alimentation).
- Wake: Lors d'un événement de réveil, le PMU restaure la puissance, attend la stabilisation de l'alimentation, permet les horloges et libère la remise à zéro. Le DSP se lance dans un gestionnaire vectoriel qui restaure le contexte de la mémoire de rétention.
Unité de gestion de la logique et de la puissance de contrôle
Le PMU est une machine à état fini dédiée qui régit les transitions d'état de puissance. Il gère les contraintes de temps, le contrôle du régulateur de tension et le séquençage du commutateur de puissance. Les PMU avancés prennent également en charge une échelle de tension adaptée[ (AVS) à une tension de réglage fin basée sur les variations de processus et de température.
Considérations relatives aux logiciels
Du côté logiciel, un cadre de gestion de puissance[ coordonne les états de sommeil sur l'ensemble du système. Par exemple, dans Linux, le CPUidle gouverneur sélectionne les états de sommeil pour le noyau DSP, tandis que le DEVPM[ sous-système gère les rapports de puissance périphérique.
Les principales responsabilités du logiciel sont les suivantes :
- Prévoir la durée du repos pour choisir le niveau de sommeil optimal.
- Enregistrement et restauration du contexte (y compris les fichiers de registre et les balises de cache).
- Gérer les retards d'interruption de façon à ce que les délais critiques en temps réel soient encore respectés après le réveil.
Pour un guide pratique de mise en œuvre, voir la série embarquée.com sur la gestion de l'énergie DSP.
Combiner avec DVFS
Au lieu de couper un bloc, DVFS réduit son point d'exploitation pendant les charges de travail plus légères. Par exemple, un DSP peut fonctionner à 1,2 V et 800 MHz sous une charge lourde, puis chuter à 0,9 V et 400 MHz en état de faible activité. Lorsque le bloc est complètement ralenti, la motorisation prend le dessus. La combinaison de DVFS et de modes de sommeil peut générer des économies de puissance totales de 50 à 70 % par rapport à une conception d'alimentation fixe.
Techniques avancées
Gate de puissance adaptative
Les DSP modernes utilisent des moniteurs d'activité[ (p. ex., compteurs sur les chemins de données, files d'attente d'instructions) pour déterminer dynamiquement quels sous-blocs de la porte de puissance. Si une unité multi-accumulatrice (MAC) est restée en régime pendant les cycles N, le contrôleur en bloque automatiquement la puissance.Cette approche à grain fin nécessite de petits commutateurs de puissance et un réveil rapide (< 1 cycle) to be effective. Some processors implement gaming hybride[: les commutateurs de puissance sont retardés en fonction de la durée de ralenti prévue.
Conception multi-tension et changement de niveau
Lorsque différents domaines de puissance fonctionnent à différentes tensions (par exemple, un noyau à 0,8 V et un périphérique à 1,2 V), les décalages de niveau doivent être insérés aux limites de signal. Les décalages de niveau eux-mêmes consomment de la puissance, de sorte qu'ils sont souvent placés à l'intérieur du domaine toujours en service. L'utilisation d'un seul régulateur de tension entièrement intégré par domaine simplifie la conception mais ajoute de la surface.
Gâteau à puissance finement grainée
Au lieu de gâcher des noyaux entiers, certaines architectures DSP permettent de gérer des unités fonctionnelles individuelles (ALU, multiplicateur, sélecteur, unité de charge/stockage). Ceci est particulièrement utile dans les processeurs vectoriels où certaines voies peuvent être inactives. Le gâcher de puissance à cette granularité exige un réseau d'horloge et de puissance sophistiqué, ainsi que l'allocation de ressources en temps réel.
Considérations pratiques pour les concepteurs
Outils d'analyse de puissance
La mise en œuvre effective commence par une estimation précise de la puissance. Des outils comme PrimePower (Synopsys) ou Redhawk[ (Ansys) simulent des fuites, des courants dynamiques et des chutes IR dans tous les domaines.
- Seuil de temps de poche (point de seuil de rentabilité) pour un bloc fermé.
- Impact du courant d'infiltration sur le réseau d'alimentation électrique.
- La fuite de rétention vs l'état restaure l'énergie.
Essais et validation
La validation de la gating de puissance est difficile car les transitions ne doivent pas corrompre les données. Les tests à vitesse de rétention d'état sont nécessaires. Les chaînes de balayage comprennent souvent des registres de balayage de conservation[ qui permettent au testeur de lire/écrire les données conservées après un cycle de sommeil. Le courant de sommeil est mesuré en utilisant des modes de test dédiés qui maintiennent la puce dans un état de faible puissance spécifique.
Impact sur la fiabilité
La régulation de puissance fréquente peut accélérer électromigration[ (EM) en raison de surtensions de courant élevées pendant le réveil. Le réseau de commutation de puissance doit être conçu avec une marge suffisante pour gérer les courants de pointe pendant la durée de vie de la puce. De plus, injection de porte-chaud[ (HCI) et instabilité de température négative (NBTI) dégrade les transistors sous tension élevée; la régulation de puissance réduit la contrainte pendant le ralenti, ce qui peut en fait améliorer la fiabilité si les transitions sont gérées correctement.
Conclusion et tendances futures
Les modes de gingembre et de sommeil ne sont pas seulement des fonctionnalités optionnelles, mais ils sont essentiels pour les DSP modernes qui doivent fournir des performances élevées dans des budgets de puissance serrés.
En regardant vers l'avenir, des tendances comme le calcul à seuil proche (où les tensions d'alimentation approchent du seuil du transistor) vont encore plus se réduire, exigeant une rafale de puissance encore plus précise. La montée de l'inférence d'apprentissage de la machine sur les dispositifs de bord[ conduit des architectures DSP avec des centaines de petits éléments de traitement, chacun étant autonome.
Pour plus de renseignements sur la gestion avancée de l'alimentation électrique du DSP, consultez NXP="s application note on low-power techniques for DSP-based SoCs and the ARM Power Management Guide[ (pertinent for ARM-based DSP core).