La manière d`implanter un cœur de processeur compte pour
Transcription
La manière d`implanter un cœur de processeur compte pour
Application Microcontrôleur La manière d’implanter un cœur de processeur compte pour beaucoup dans sa consommation Le terme « basse consommation » est tellement répandu qu’il a perdu aujourd’hui une grande partie de sa signification. Du point de vue d’un fabricant de microcontrôleurs (MCU), la basse consommation se définit par rapport à la concurrence. Dans cette optique, tous les MCU basés sur un même cœur de processeur, comme le Cortex-M4 par exemple, n’ont pas la même enveloppe énergétique. Car la manière d’implanter un cœur a un impact fort sur la consommation, comme l’explique ici Atmel. Auteur Andreas Eieland, Senior Product Manager, Atmel A fin de délivrer réellement une basse consommation, les fabricants de systèmes intégrés (les IDM, Integrated Device Manufacturers) appliquent leurs propres technologies et leurs propres méthodologies pour implanter un cœur de propriété intellectuelle (ou IP) comme par exemple le Cortex-M4 d’ARM. Dans le cas d’Atmel, une solution spécifique, baptisée picoPower, traite de cette question essentielle. Quand un MCU revendique le qualificatif « basse consommation », il faut que cela concerne un maximum de cas d’utilisation. Or, il n’est pas toujours simple de mesurer la consommation dans toutes les conditions possibles et imaginable. D’où l’intérêt de pouvoir s’appuyer sur toutes les subtilités d’une architecture pour obtenir une basse consommation dans tous les cas de figure. Et en parallèle de bien tenir compte des benchmarks énergétiques des MCU qui dépendent fortement du fonctionnement à la fois statique et dynamique du composant. En fonctionnement dynamique, la fréquence d’horloge est forcément importante, puisque la puissance nominale d’un circuit Cmos est consommée uniquement durant les transitions entre états logiques. Réduire la fréquence diminue donc le nombre de transitions par seconde, mais ne réduit pas pour autant le nombre de commutations nécessaires aux transistors pour accomplir une tâche donnée. En revanche, l’impact de la tension sur la consommation est exponentiel. Abaisser la ten- 42 / L’EMBARQUÉ / N°1 sion d’alimentation apporte ainsi beaucoup plus d’économies que de réduire uniquement la fréquence. Mais il n’est pas aussi simple de faire fonctionner un circuit sous basse tension que de réduire sa fréquence. Pour y parvenir, il faut travailler au niveau du processus d’implantation du cœur de processeur. L’énergie statique, quant à elle, se dissipe lorsque les portes Cmos sous tension sont supposées être au repos. Elle est théoriquement nulle. Mais en pratique, avec les géométries modernes, il est impossible de créer des transistors dépourvus de courant de fuite. En général, plus la géométrie est fine, plus le courant de fuite augmente. Ainsi, plus un circuit intègre de transistors, plus sa dissipation statique augmente. Avec un processus propriétaire à transistors à faible fuites comme celui de la technologie picoPower, il est possible de maintenir les fuites globales proches du zéro théorique sans sacrifier la performance. Des modes de veille optimisés Dans un MCU, les transistors commutant le plus vite et le plus souvent se trouvent dans la mémoire Ram du cœur et dans le cœur lui-même. Il s’ensuit que les périodes où le cœur et son sous-système sont actifs sont celles où la dissipation de puissance système est maximum. Pour cette raison, les modes de veille sont désormais omniprésents dans les MCU. ARM a par exemple développé le cœur Cortex-M4 avec deux modes de veille qui arrêtent un plus ou moins grand nombre d’horloges système. Les IDM y ont ajouté des modes de veille propres à leur implantation, mais la plupart des techniques mises en œuvre exigent que le cœur s’arrête et stocke les données système critiques dans des registres spécifiques et dans la mémoire Ram, prêtes à être réactivées lors du « réveil » du processeur. Une approche qui est consommatrice en temps, et qui dans une application typique de MCU, diminue la réactivité de l’application. Ainsi, on comme on le voit, une basse consommation dépend de beaucoup plus de paramètres que de la simple fréquence de commutation des transistors. Elle résulte directement de l’architecture globale du système. Et, c’est uniquement en abordant la conception de l’architecture de ce point de vue systémique que l’IDM pourra développer une solution réellement basse consommation. En prenant en compte tous les aspects de la consommation, il est ainsi plus aisé pour un IDM de concevoir un MCU réellement basse puissance. Par exemple, l’implantation du Cortex-M4 dans un processus à faible fuite donne de meilleurs résultats qu’avec un processus haute performance. Mais si la conception système est trop centrée sur le cœur, ce dernier devra intervenir pour toutes les tâches, même les plus banales. Par exemple, une simple routine de service d’interruption, même si elle n’engendre aucune action, pourra exiger de sortir du mode veille le cœur, la mémoire Application Microcontrôleur Limiter les pertes actives Avant que l’énergie statique ne devienne un critère majeur en conception système, l’énergie active (ou dynamique) était sans doute le seul point intéressant la plupart des équipes d’ingénierie. L’un des moyens de minimiser la consommation active est de jouer sur l’efficacité de l’entrée et Enveloppes énergétiques Le microcontrôleur SAM4L d'Atmel atteint 28 CoreMark/mA avec l'environnement IAR Workbench 6.40. La technologie picoPower en action Consommation d’énergie 90 µs/MHz Réveil rapide 1,5 µs flash et d’autres modules système. Avec un cœur haute performance comme le Cortex-M4, sortir le cœur et son sous-système d’un mode sommeil profond, juste pour exécuter une routine d’interruption ou quelque autre tâche simple, s’avère beaucoup plus long qu’exécuter la tâche elle-même. Non seulement, cela consomme une quantité non négligeable d’une précieuse énergie système, mais la plus grande partie de cette énergie n’est consacrée qu’au réveil du système. Par une approche globale prenant en compte plusieurs techniques basse consommation complémentaires de celles du cœur, un IDM peut développer et implanter des fonctions exploitant pleinement les transistors à faibles fuites pour le cœur et pour les périphériques, tout en réduisant le temps passé à traiter des tâches. Il est ainsi possible de maximiser la durée des modes de fonctionnement basse consommation. L’approche holistique est rapidement apparue comme la plus pertinente et la plus efficace pour optimiser l’énergie. C’est par l’ampleur de son utilisation que les IDM qui mettent en œuvre des cœurs Cortex-M4 peuvent se différentier réellement entre eux. Cortex-M4 avec instructions DSP Système d’événements SleepWalking DMA Gestion d’alimentation haute efficacité Boucle à fréquence asservie numérique (DFLL) 700 nA Temps Dans un microcontrôleur, comme ici le SAM4L d'Atmel basé sur un cœur Cortex-M4 d'ARM, les techniques de design mises en œuvre ont une forte influence sur la consommation globale du système. ● de la sortie des modes de veille. Plus vite l’horloge système est rétablie, plus vite le cœur peut accomplir sa tâche et moins il consomme d’énergie active. Au-delà de ces approches traditionnelles, il est possible d’implanter des fonctions pouvant s’exécuter indépendamment du cœur, comme des périphériques intelligents et autonomes, capables de traiter les entrées et sorties sans intervention du CPU. C’est la voie suivie par Atmel. Ces périphériques fonctionnent avec une horloge dédiée, de sorte que le cœur reste plus longtemps en mode veille. De plus, grâce à des mécanismes d’intercommunication soigneusement architecturés, ces périphériques peuvent aussi échanger des données via des bus partagés, et sont capables de prendre des décisions intelligentes sur la base de stimuli externes, sans avoir à réveiller le cœur (SleepWalking). Le fonctionnement autonome des périphériques est maintenant reconnu comme l’un des piliers de la basse consommation. Mais il est crucial, à nouveau, que leur implantation soit cohérente avec l’architecture système globale. S’ils doivent se charger de tâches normalement effectuées par un cœur haute performance, il est essentiel que les périphériques soient capables d’une réponse quasi temps réel. Par exemple, le système d’« événements périphériques » (Peripheral Event System) du microcontrôleur SAM4L d’Atmel est indépendant à la fois du CPU et de son système d’horloge. Avec son propre contrôle d’accès à l’horloge temps réel, il continue à fonctionner lorsque le CPU et l’horloge système sont arrêtés. Cette approche basse consommation a été mise en œuvre pour la première fois dans sa famille 8 bits AVR XMEGA d’Atmel. Elle se poursuit aujourd’hui avec le SAM4L, qui est son premier dispositif picoPower à cœur Cortex-M4. La technologie picoPower optimise trois aspects du fonctionnement d’un MCU qui sont fondamentaux pour sa consommation : le mode veille, le mode actif et la durée du réveil. Avec le SAM4L, la technologie mise en œuvre permet d’obtenir une consommation en mode actif de 90 μA/MHz, considérablement plus basse que celle de la plupart des MCU du marché. En partie grâce au développement d’un régulateur ultra basse consommation qui non seulement abaisse la tension pour la majorité des portes commutant le plus fréquemment, mais le fait avec un très haut rendement. Grâce à une conception globale qui englobe aussi le processus de fabrication, le SAM4L est capable de fonctionner sous une tension aussi basse que 1,62 V. En mode WAIT avec rétention de la Ram, il consomme tout juste 1,5 μA. Avec un temps de réveil inégalé de moins de 1,5 μs, cela abaisse la consommation totale. En mode veille, le courant drainé par le SAM4L est ramené à 0,5 μA, l’horloge temps réel étant toujours active et le temps de réveil restant inférieur à 2 μs. En sélectionnant un microcontrôleur Cortex-M4 pour leurs projets, les développeurs de systèmes embarqués devraient tester les dispositifs qui les intéressent avec un benchmark standard comme le CoreMark de l’Embedded Microprocessor Benchmark Consortium (EEMBC). Le CoreMark mesure la quantité d’énergie nécessaire à un dispositif pour exécuter un jeu standard de fonctions. Les fabricants de MCU se battent continuellement pour obtenir la plus basse consommation et les meilleures optimisations système. Il est essentiel dans ces avancées d’équilibrer la facture énergétique sans compromettre la performance du MCU et la réactivité de l’application. Les résultats préliminaires des benchmarks du SAM4L le positionnent, à cet égard, dans les premiers rangs des dispositifs disponibles aujourd’hui. n L’EMBARQUÉ / N°1 / 43 Logiciels & systèmes Professionnels de l’embarqué Découvrez le système d’information le plus complet, 100% utile à votre métier ! Une newsletter quotidienne Votre fil d’actualité gratuit Une newsletter hebdo Tous les jeudis, des infos exclusives à forte valeur ajoutée Un magazine 100% numérique, trimestriel, pour une information fouillée, analysée et développée Un site Internet Plus de 1 500 articles par an exclusivement dédiés à l’embarqué Abonnez-vous •Pub 148x210.indd 1 www.lembarque.com 20/03/13 12:52