Gestion de l'énergie des systèmes embarqués

Un article de Wikipédia, l'encyclopédie libre.

La gestion de l’énergie dans les systèmes embarqués est fondamentale pour leur bon fonctionnement. Le nombre de ces systèmes est en augmentation constante et leurs domaines d’utilisation sont de plus en plus variés. Les contraintes sont très différentes selon que la conception porte sur un capteur environnemental, un téléphone portable ou une sonde corporelle. L’objectif principal peut être une grande longévité, une taille réduite ou encore un fonctionnement sans batterie.

En plus des sources d’énergies utilisables, l'article aborde les méthodes permettant d’analyser la consommation énergétique d'un système et donc de valider que telle méthode est plus efficace que telle autre, dans l’atteinte d'objectifs précis. Deux domaines sont pris en exemple pour pointer le fait que les objectifs peuvent grandement différer en fonction de l'utilisation qui est faite du système embarqué : les téléphones portables et les capteurs corporels.

L'optimisation de la consommation peut être réalisée selon différentes méthodes, dont certaines peuvent même être combinées. L’amélioration peut par exemple se faire au niveau matériel, en pilotant sélectivement certains composants ou périphériques. Des composants particuliers peuvent également être sélectionnés dès la conception, en fonction des objectifs recherchés. L’amélioration peut également être de type logicielle (système d’exploitation, type du code, programmation de l’applicatif,…). Beaucoup d’éléments participent à la consommation énergétique, dont certains ne sont pas évidents de prime abord. En fonction de la manière de coder, par exemple, un système peut consommer plus ou moins d’énergie.

Sources d'énergies[modifier | modifier le code]

Systèmes alimentés par batteries[modifier | modifier le code]

Les batteries électrochimiques rechargeables type lithium-ion sont utilisées comme source d'énergie dans une grande majorité de systèmes électroniques portables, comme les smartphones, ordinateurs portables ou les tablettes[1],[2]. Elles influent de manière significative sur le temps de fonctionnement et les performances globales des appareils[3],[4].

Selon les prévisions, à l'horizon 2020, 50 milliards d'objets intelligents seront connectés à l'Internet des objets (plus de six fois la population mondiale projetée à l'époque)[5],[6]. La plupart de ces appareils seront alimentés par batterie pour des raisons de coût, de commodité, ou de la nécessité d'un fonctionnement autonome. Le remplacement des batteries à grande échelle étant souvent trop couteux voire irréalisable[6], les appareils IdO devront avoir une longue durée de vie opérationnelle : de quelques jours à plusieurs années en fonction de leur domaine d'utilisation.

L'énergie n'est que l'une des nombreuses ressources nécessaires dans l'informatique des systèmes embarqués. Elle reste cependant la seule ressource périssable, qui, une fois consommée, ne peut être réapprovisionnée que par des actions externes, comme la recharge ou le remplacement de la batterie[3].

La durée de vie d'un système alimenté par batterie est déterminée par la capacité de la source d'énergie (c'est-à-dire, la batterie) et l'énergie qui y est puisée par le reste du système[4]. La quantité d'énergie fournie variant de manière significative, en fonction de la façon dont elle est utilisée[7].

La conception de composants à faible puissance (low-power design, ultra-low-power design)[6],[8] permet de réduire consommation énergétique et améliore la durée de vie de la batterie[9]. Cependant, pour vraiment maximiser la durée de vie d'une batterie, une analyse de la source d'énergie et du système qui la consomme est nécessaire[7]. De nombreux modèles ont été développés et permettent de saisir de manière suffisamment détaillée le comportement des batteries[10] et aident les concepteurs de systèmes à concevoir des algorithmes et des stratégies de gestion optimales[11].

Les développements continus dans le domaine de la gestion de l'alimentation (DVFS[12], conceptions hybrides analogiques-numériques...) contribuent eux aussi à cette amélioration[13],[6].

Systèmes à récupération d'énergie[modifier | modifier le code]

Le principe de la récupération d'énergie (energy harvesting ou energy scavenging) remonte à l'époque de la roue d'hydraulique et du moulin à vent[14],[15]. D'autres approches crédibles, récupérant l'énergie de la chaleur ou des vibrations, existent depuis des décennies. Néanmoins, le domaine a rencontré un regain d’intérêt depuis l'émergence des systèmes embarqués comme les téléphones portables et les réseaux de capteurs sans fils.

Les systèmes à récupération d'énergie sont des solutions qui tirent toute ou une partie de leur énergie de leur environnement. Le point important de cette énergie environnante est qu'elle a beau être potentiellement infinie, il peut y avoir une limite quant à son taux d'utilisation[16].

Un capteur piézoélectrique génère une tension lorsqu'il est déformé

Les technologies de captage d'énergie environnementale sont multiples : capteurs solaires[17],[18],[19],[20], éoliens[19], piézoélectriques[21] ou tout autre transducteur capable de tirer de l'énergie de son environnement[22],[14]. L'énergie mécanique[14] est probablement la plus répandue et se trouve dans la force du vent, le mouvement des membres, l'énergie potentielle élastique, la vibration ambiante, la rotation d'une roue de voiture, et bien d'autres[23]. Le différentiel thermique peut également être utilisé pour générer de l'électricité. La source la plus étudiée et technologiquement mature est sans doute la lumière[24].

La production d'énergie varie avec le temps, en fonction de conditions environnementales qui échappent généralement au contrôle du concepteur[22]. Les systèmes embarqués utilisant un type particulier de récolte doivent donc être intégrés à des structures (immeuble, maison, serre...) dans lesquelles ce type d'énergie est abondant[25]. Dans certaines situations, si l'appareil est enfoui sous terre ou à l'intérieur des murs, la collecte d'énergie est difficile, mais le transfert d'énergie sans fil peut être effectué. Par exemple, la charge par induction peut être utilisée pour recevoir de l'énergie à partir d'une émission électromagnétique[26],[27]

Capteur thermoéléctrique

Dans le cas des systèmes embarqués que l'on peut porter (smartwatch, vêtements connectés) ou implantable (médical), la source d'énergie peut provenir de l'utilisateur lui-même, parfois en complément d'une énergie environnementale disponible[23]. Elle peut par exemple être générée à partir des mouvements[28] ou bien de la chaleur corporelle[29],[30].

En utilisant l'énergie récoltée de manière optimale, le système peut fonctionner dans un mode de neutralité énergétique, consommant uniquement l'énergie qu'il parvient à récolter. Le système peut alors continuer à fonctionner de façon pérenne et n'est limitée que par la longévité du matériel. Un système est dit à fonctionnement neutre lorsque son niveau de performance souhaité peut être maintenu indéfiniment[16],[31]. Cependant, même si la consommation énergétique passait en dessous du seuil de neutralité, la longévité du système n'en serait pas prolongée pour autant[31].

Méthodes d'analyse énergétique d'un système embarqué[modifier | modifier le code]

A la différence d'un système d'exploitation généraliste, un système embarqué est conçu pour réaliser une tâche particulière et définie de manière précise. Ainsi, le système embarqué peut être optimisé en fonction de ses contraintes : moindre coût, meilleure performance ou encore consommation énergétique[32]. La consommation énergétique peut être divisée en trois catégories : la consommation liée au captage d'informations, celle liée au traitement des données et enfin celle liée à leur transmission[33].

Concevoir un système embarqué avec une consommation énergétique adaptable nécessite de pouvoir mesurer et ensuite prévoir cette consommation. Le but étant de maximiser les performances du système sans dépasser les limites énergétiques mises à sa disposition[34]. Cette contrainte se nomme aussi le mode neutre en énergie (Energy Neutral Mode)[16],[31].

Mesurer la faible consommation énergétique de systèmes embarqués est une tâche compliquée. Selon Nadir Cherifi et al., les méthodes d’estimation et de mesure peuvent être regroupées en trois catégories : les mesures physiques, les mesures logicielles et les simulations[35]. La conception de systèmes embarqués nécessite des outils dans ces trois catégories pour pouvoir prévoir la consommation avant le prototypage, puis valider ensuite les résultats sur un nombre idéalement limité de prototypes ou d’architectures[7].

En fonction de l’équipement cible, les besoins et les contraintes sont cependant différents. Un téléphone portable a une contrainte de poids et de taille[36]. Un capteur environnemental a des contraintes d’autonomie, de même qu’un capteur corporel mais pas forcément pour les mêmes raisons[37].

Contraintes liées aux Smartphones[modifier | modifier le code]

Evolution des téléphones mobiles

La consommation énergétique des smartphones et l'utilisation optimale de l'énergie sont des enjeux majeurs dans la conception de ce type de systèmes embarqués. Ils nécessitent une autonomie énergétique, assurée par l'utilisation de batteries lithium-ion. Cependant, en plus de la performance, la portabilité impose des limitations en termes de taille et de poids qui au final viendront limiter la taille de la batterie et donc la quantité d'énergie disponible. Les améliorations visant à augmenter la capacité des batteries ne suivant pas le rythme imposé par les améliorations en micro-électronique, différents procédés destinés à augmenter la durée de vie de la batterie sont utilisés, se basant sur des modèles reliant le comportement de la batterie aux conditions de décharges liées aux consommateur d'énergie (CPU par exemple)[36].

L'analyse énergétique via la modélisation est un prérequis essentiel pour comprendre l'impact des applications ou des composants sur un système. En fonction des estimations de puissance générées par un power-model, un plan d'optimisation énergétique peut être développé pour faciliter l'utilisation efficace de l'énergie dans les appareils mobiles[38].

Contraintes liées au Médical et à la Santé[modifier | modifier le code]

BAN - Réseaux de capteurs

Les capteurs sans fils portables, interconnectés au sein d'un réseau BAN (Body Area Network) sont largement utilisés dans le domaine médical, collectant diverses caractéristiques physiologiques permettant de suivre en temps réel l'état de santé du patient. L'analyse énergétique de ce type de système embarqué est primordiale car elle peut affecter les fonctionnalités de l'ensemble du système[39] et donc avoir un impact direct sur la vie du patient.

La durée de vie de ces dispositifs micro-électroniques, spécialement ceux étant implantés dans le corps est cruciale. Le remplacement ou la recharge de ces dispositifs embarqués induit un coût financier et une gêne supplémentaire non souhaitable pour le patient[37].

De plus, ce type de dispositifs peut également entrainer une hausse de la température corporelle ou des tissus environnants. La consommation d'énergie doit donc être réduite au minimum afin de limiter cette hausse[37].

Méthodes d'analyse de la performance logicielle[modifier | modifier le code]

Démontré en premier lieu par Tiwari et al., un même logiciel exécuté sur différents modèles de processeurs aboutira à une consommation globale différente sur chaque système[40]. En mesurant le courant utilisé par un processeur lors de l’exécution de chaque tâche ou séquence d’instructions, il est ainsi possible de modéliser et d’évaluer le coût énergétique d’un programme.

Si on regarde le fonctionnement d’un système embarqué, la phase d’émission des informations utilise une quantité d’énergie non négligeable qui doit être prise en compte dans le fonctionnement global du programme[41]. L’analyse de la performance logicielle et les mesures en fonctionnement réel[42] peuvent ainsi aboutir à une décision sur le protocole à utiliser (IPv4, IPv6 ou dérivés[43],[44]), voire à déporter une partie du traitement des informations sur des systèmes disposant de plus d’énergie[45].

Des algorithmes permettent également d’analyser et de prédire de manière précise la consommation d’un système embarqué lors de l’exécution de son code[46],[47].

Méthode d'analyse de la consommation énergétique liée à l'OS[modifier | modifier le code]

Les systèmes d’exploitation des solutions embarquées sont des éléments critiques d’environnements complexes. Ils sont porteurs de services vitaux pour le système mais ont un fort impact sur l’efficacité énergétique de la solution[48].

Il est important de pouvoir faire la distinction entre la consommation implicite et la consommation explicite. Cette dernière est celle liée au fonctionnement direct du système d’exploitation (exécution de ses fonctions internes), Il est possible d’analyser le cheminement des exécutions et de les classer en fonction de leur rapport efficacité/coût énergétique[49]. La consommation implicite étant celle qui est induite par les interruptions et pauses liées aux éléments externes (planificateurs de tâches, replanification, demande d’interruption sur cause externe,…).

Sur les systèmes temps réel, en fonction de l’application utilisée, le système d’exploitation peut générer une plus ou moins grande consommation d’énergie. Des travaux ont démontré qu’une adaptation de l’application peut induire une réduction de la sollicitation de l’OS et donc de la consommation[50].

Des outils d’analyse de consommation liée à l’OS peuvent également permettre le développement et l’amélioration de systèmes d’exploitation à énergie neutre[51].

Méthodes d'analyse de la configuration du cache[modifier | modifier le code]

La configuration du cache a un lien direct avec les performances et la consommation énergétique du système[52]. Plus la taille de la mémoire cache augmente, moins il y a de défauts de cache (cache miss), ce qui augmente les performances du système et diminue la consommation énergétique du logiciel et de la mémoire. Cependant, l’énergie dissipée par les cache augmente en raison de sa taille[46].

Il est donc primordial d'avoir à disposition des modèles permettant de mesurer l'impact énergétique du cache dans un système embarqué, afin de pouvoir ensuite en minimiser les effets[46],[53],[52].

La configuration du bus et du cache[54] sont interdépendantes[53] et doivent donc être analysées simultanément afin d'évaluer les impacts de l'ensemble des configuration cache/bus pour une application donnée[52].

Méthodes d'analyse du comportement des batteries[modifier | modifier le code]

Le comportement réel d’une batterie lors de sa charge ou de sa décharge suit une courbe non linéaire, pouvant varier au cours du temps[55]. Développer des frameworks plus proches de la réalité permet de simuler l’état des batteries de manière plus dynamique et de concevoir des systèmes plus robustes et fiables[55]. De la même manière, avoir des modèles plus précis permet de concevoir ou d’optimiser des systèmes répondant à des contraintes telles que le poids ou le volume des batteries[11].

De nombreux modèles mathématiques ont été développés, rendant possible une simulation assez détaillée du comportement des batteries : des modèles physiques permettant de décrire les interactions ayant lieu à l’intérieur même des batteries ; des modèles empiriques, mettant en œuvre des équations au cours d’expérimentations scientifiques ; des modèles abstraits, représentant la batterie comme un système numérique[56], un circuit électrique, un élément d’études statistiques, ou encore des modèles mixtes, offrant des représentations simplifiées des processus physiques à l’œuvre dans les batteries[10].

Dans chaque catégorie, les modèles peuvent être évalués selon quatre critères de base : La précision de la prévision, la complexité de la simulation, le niveau de paramétrage nécessaire et l’utilité du résultat final[10].

Optimisation au niveau matériel[modifier | modifier le code]

Topologie des circuits électroniques[modifier | modifier le code]

La manière la plus efficace d'améliorer la consommation énergétique d'un système embarqué est de réduire la consommation énergétique de ses composants électroniques (microprocesseurs, mémoire, interface réseau...)[57]. Par exemple, afin de limiter leurs consommations, la plupart des microprocesseurs disposent maintenant de modes basse consommation (ou sleep modes)[57],[58].

La miniaturisation des capteurs sans fil a accéléré la miniaturisation des composants (processeurs, capteurs, batteries). La conception de ces circuits à faible puissance (low energy design) permet l'utilisation de sources d'énergies plus petites et moins onéreuses tout en augmentant la durée de vie du dispositif afin de réduire les coûts lié au remplacement ou à la recharge de la batterie[9].

Pour concevoir des capteurs très basse consommation, il est essentiel de savoir décomposer chaque tâche de manière à minimiser autant que possible le temps de calcul nécessaire. Pour ce faire, le choix de la topologie du circuit et des éléments qui le composent est primordial[8]. La conception de capteurs toujours plus petits, performants et peu coûteux nécessite un effort constant sur chaque décomposition de l’architecture[59].

Dynamic Voltage and Frequency Scalling (DVFS)[modifier | modifier le code]

L’énergie consommée par un processeur est approximativement proportionnelle à sa fréquence de cadencement et au carré de sa tension[60]. Le DVFS (pour Dynamic Voltage and Frequency Scaling) consiste à adapter dynamiquement les paramètres de fréquence et de tension d’un processeur en fonction des ressources requises à un instant t. Ainsi, lorsque ces ressources ne sont pas utilisées, cette adaptation permet d’optimiser la consommation énergétique[12].

Entrer du texte sur un clavier ne requiert pas nécessairement toute la puissance du processeur. De même, il peut exister des périodes d’inactivité logicielle. Lorsque la puissance maximale d’un processeur n’est pas requise, la consommation moyenne peut être fortement diminuée grâce au DVFS[61]. L’économie d’énergie permet donc d’augmenter le potentiel de calcul du processeur.

Les conditions pour l’implémentation du DVFS sont multiples. L’OS doit d’abord être capable de piloter la fréquence du processeur et ce même processeur doit pouvoir fonctionner sous différentes tensions[62]. Ensuite, il doit exister une régulation continue entre tension et fréquence recherchée[62]. Cette régulation peut être accompagnée de différents algorithmes dont la fonction est de prédire la charge CPU dans un avenir proche. En fonction de la prédiction, une action sur la tension d’alimentation du processeur peut alors être exécutée[63].

Cependant, sur des systèmes temps réel, le DVFS peut générer des dysfonctionnements. Le changement de fréquence du processeur ralenti de fait le temps de calcul et peut engendrer le dépassement de certains compteurs critiques[64]. Pour pouvoir utiliser un algorithme DVFS, les tâches du système doivent pouvoir être planifiées et aucune des tâches en cours ne doit dépasser le délai maximal de calcul autorisé[65]. Les algorithmes DVFS ont donc du être adaptés pour pouvoir fonctionner sans perturbation notable sur les systèmes temps réel[66],[67],[68]. Un autre dysfonctionnement possible a été identifié par Zhu Dakai et al. Il s’agit de l’existence d’un lien entre la méthode DVFS et le taux de fiabilité d’un système embarqué temps réel[69]. Selon lui, réduire la consommation énergétique de systèmes critiques en influant sur la tension ou la fréquence peut impacter négativement la fiabilité de ce système.

Dynamic Power Management (DPM)[modifier | modifier le code]

L’adaptation dynamique de l’énergie est la capacité d’un système à augmenter ou diminuer sa consommation en fonction de caractéristiques extérieures. Dans le cadre de capteurs corporels, par exemple, le système doit être capable de réduire sa consommation lorsque l’utilisateur n’a pas d’activité physique[39]. De la même manière, en fonction de l’énergie disponible, le système doit également être capable d’adapter sa consommation[70], au besoin en décalant les tâches les plus énergivores sur des périodes plus propices[71], voire en basculant le système dans un état moins consommateur d’énergie tout en limitant l’impact sur les performances[72].

Les gains obtenus grâce à cette méthode sont divers et dépendent des buts recherchés. La durée de vie de la batterie peut par exemple être fortement augmentée sans impact sur les performances[73]. En complément d’une adaptation de la consommation, il est possible d’utiliser des systèmes de récupération/génération d’énergie (soleil, mouvements ou encore chaleur corporelle)[74],[37]. La combinaison des deux permet de réduire la taille de la batterie et donc du système embarqué[74].

Condensateurs et supercondensateurs[modifier | modifier le code]

Exemples de supercondensateurs

Avec le développement des capteurs et systèmes sans batterie, le stockage et la gestion de l’énergie en provenance de sources inconstantes sont devenues des questions primordiales[75],[76]. Afin de bénéficier de sources d’alimentations plus stables et donc gérable sur ces capteurs sans batterie, l’utilisation de condensateurs et supercondensateurs s’est répandue[77],[78],[79].

Par rapport aux batteries, les condensateurs présentent le gros avantage d’avoir une durée de vie bien supérieure, en termeq de nombre de cycles de rechargements[80],[79]. Bien que les travaux de Qianao Ju et al. aient aussi pointé des inconvénients sur les supercondensateurs[81], il propose un algorithme pour en diminuer les effets.

Ces composants sont utilisés de différentes manières. Une première méthode est l’utilisation d’un ou plusieurs supercondensateurs pour stocker une charge qui sera directement utilisée selon les besoins du système[78],[79]. Si besoin en utilisant des algorithmes de gestion d’énergie[82]. Ensuite, d’autres condensateurs peuvent être utilisés pour alimenter individuellement des périphériques[77] ou un système de régulation d’énergie[79].

Optimisation au niveau mémoire[modifier | modifier le code]

Scratch-Pad Memory (SPM)[modifier | modifier le code]

Représentation d'un processeur et des espaces mémoires Cache et PCM. Le processeur utilise le cache pour accéder à l'adressage mémoire de la SDRAM alors que la SPM est en accès direct.

L’efficacité énergétique d’un système peut être augmentée en installant des éléments mémoires pilotés par logiciel à l’intérieur des microprocesseurs (on chip memory)[83]. Cette architecture est appelée Scratch Pad Memory (SPM). Une autre mémoire « on chip » existe, appelée mémoire cache. Cependant, comparée à la mémoire cache, la SPM utilise moins d’énergie pour accéder à l’information[84],[85].

Les microprocesseurs utilisent les SPM via différentes techniques. L'un des principes étant d’analyser le code et de stocker l’information là où l’efficacité énergétique sera la meilleure[86],[87]. Des études actuellement menées sur le sujet proposent des méthodes combinant l’utilisation des SPM avec la mémoire cache[88],[89],[90].

Phase Change Memory (PCM)[modifier | modifier le code]

Représentation d'une cellule mémoire PCM. La résistivité mesurée entre les deux électrodes informe de l'état logique de la cellule.

Une technologie en cours de développement est la mémoire à changement de phase (PCM ou Phase Change Memory). Cette technologie exploite le changement de propriété physique d’un alliage sous un effet Joule (chaleur)[91] : Le matériau change de résistivité (facteur 3 à 4) entre un état dit « cristallin » et un autre dit « amorphe ». La PCM consomme en moyenne moins d’énergie et est plus rapide en lecture qu’une mémoire DRAM. Cependant, des limitations importantes existent : le matériau a une longévité moindre due à l’altération graduelle du matériau lorsqu’on le chauffe pour le changer d’état ; la consommation énergétique est ponctuellement plus importante qu’une DRAM classique en phase d’écriture ; enfin, le délai d’écriture est également plus important qu’avec les DRAM[92]. Les mémoires non volatiles (NVM) dont font partie les PCM sont des technologies prometteuses pour la gestion de l’énergie dans les systèmes embarqués[93]. La comparaison avec les mémoires volatiles sont à l’avantage des NVM[94], même si ces composants ont des inconvénients.

L’une des solutions à ces inconvénients est la limitation du nombre d’écritures. Avant d’appliquer un changement au bit mémoire, une vérification de son état est réalisée. Si l’état actuel est le même que celui à venir, le système ne modifie pas sa valeur[95],[96].

En exploitant l’état transitoire entre le mode cristallin et le mode amorphe, il est également possible de stocker plusieurs valeurs sur un même élément « binaire », soit 3[97] ou 4[98] valeurs. Cependant, bien que la capacité soit augmentée, la longévité de la mémoire est réduite et il faut mettre en place d’autres mécanismes pour l'optimiser.

Une autre méthode consiste à répartir les écritures de manière uniforme sur la surface physique de la mémoire, limitant ainsi l’échauffement localisé du composant[99],[100], qui est la cause de l'altération graduelle du matériau.

Magnetic RAM (MRAM)[modifier | modifier le code]

Le paragraphe ci-dessous ne cite que deux types de mémoires magnétiques, bien qu'il en existe d'autres[101]. Il s'agit des deux types les plus aboutis pour une version commerciale dans les systèmes embarqués, les autres étant des domaines en développement.

Spin-Transfer Torque MRAM (STT MRAM)[modifier | modifier le code]

Représentation d'une cellulle mémoire STT-MRAM. La resistivité mesurée entre les deux couches ferromagnétiques indique l'état logique de la cellule.

Parmi les mémoires non-volatiles (NVM) prometteuses pour la gestion de l’énergie dans les systèmes embarqués[102] se trouve la STT MRAM, pour Spin-Transfer Torque Magnetic RAM. Pour cette technologie, l’élément contenant l’information binaire est un matériau ferromagnétique réparti en deux couches polarisées, séparée par un isolant. La couche inférieure est polarisée de manière fixe, la supérieure est polarisée par injection de courant en fonction de la valeur binaire recherchée (polarité identique ou contraire à celle de la couche inférieure). La lecture de la valeur se fait en mesurant la résistivité entre les deux couches.

Les techniques actuelles permettent de construire une cellule STT-MRAM avec deux valeurs (SLC, un bit)[102] ou quatre valeurs (MLC, deux bits)[103],[104].

La STT-MRAM consomme peu en moyenne, est rapide en lecture et a une grande longévité. Mais la latence et la consommation en écriture est importante, par rapport à la classique SRAM[102]. Une technique utilisant par exemple deux modes d’écritures différents permet de réduire la latence en écriture[104]. La consommation énergétique lors de l’écriture diminue avec l’évolution des technologies, mais ce seuil se rapproche de celui utilisé pour la lecture des cellules (qui diminue peu)[105]. Ceci provoque des erreurs et des techniques doivent également être développées pour y remédier.

Autre méthode envisagée, qui recoupe également une technique d’un paragraphe précédent : l’utilisation de STT-MRAM comme support de mémoire SPM[106]. L’accès à ce type de mémoire consommant moins d’énergie, une modification des logiciels de gestion de la SPM permettent de réaliser cette architecture, qui peut économiser plus de 50 % de l’énergie consommée par le système.

Une étude menée par Nowak et al. en 2016 a cependant montré des propriétés intéressantes entre tension électrique, durée d’écriture et taille du composant, leur ayant permis de réduire significativement la taille des cellules sans augmenter le taux d’erreur en écriture[107].

Memristor[modifier | modifier le code]

Memristor avec les 3 autres composants élémentaires

Son existence fut prédite en 1971[108] mais ce composant n’a été implémenté qu’en 2008[109]. Il n’a pas encore d’application commerciale en l’état actuel des recherches mais promet une formidable avancée dans le domaine des mémoires en ce qui concerne le degré d’intégration, la rapidité d’accès et la faible consommation[110],[111],[112].

Le Memristor ou mémoire résistive (RRAM) est une résistance variable dont la valeur peut être modifiée par l’application d’une tension[110],[113] : L’état logique est déterminé par la valeur de la résistance au moment de la lecture. Les inconvénients de cette mémoire sont une consommation et une latence élevée en écriture. Des recherches sont menées sur ces éléments, apportant des solutions envisageables pour une commercialisation[114], notamment en réduisant la durée de rétention des informations et la tension d'écriture. Mais des phénomènes non maitrisés en limitent pour l’instant le développement[112].

Optimisation au niveau OS[modifier | modifier le code]

Gestion des I/O[modifier | modifier le code]

La gestion de la consommation peut passer par la gestion des périphériques qui sont de gros consommateurs d’I/O, et donc d’énergie[115]. Les périphériques étant gérés via des processus, en analysant l’état de ces processus au cours d’intervalles de temps, il est possible d’en déduire l’utilisation ou non d’un périphérique particulier[116]. Sur les systèmes temps réel, l’analyse peut se révéler plus délicate et un autre algorithme peut être utilisé, permettant une prévision plus réactive aux changements du système[115]. Cependant, la méthode proposée par Cheng et al. économise peu ou pas d’énergie sur les systèmes déjà très chargés.

Spécialisation des OS[modifier | modifier le code]

Les systèmes d’exploitation des solutions embarquées deviennent de plus en plus critiques et doivent subir des adaptations afin de correspondre le plus précisément possible au besoin[117]. Il existe des OS configurables de manière très variée, permettant une utilisation sur plusieurs architectures mais nécessitant des réglages précis[117]. Cependant, le développement peut être orienté pour dédier l’OS à un fonctionnement spécifique, comme les systèmes à énergie neutre[51]. Dans l’exemple cité, l’OS nivelle la criticité de chaque tâche en fonction des ressources qu’elle consomme et le temps de traitement prévu. Les ressources des tâches les moins critiques pouvant alors être ré-allouées en cas de besoin à des tâches affichées comme plus critiques.

Algorithmes de planification[modifier | modifier le code]

Les algorithmes diffèrent dans la manière d'établir leurs prédictions (nombre d'intervalles utilisés, poids éventuel, méthode mathématique appliquée) ainsi que dans la manière d'adapter ensuite la vitesse processeur. L’un des principes est de découper l’échelle du temps en intervalles, puis d’examiner les tâches qui ont pu être traitées durant chaque période[118]. Selon le résultat de l’analyse, l’algorithme peut décider d’augmenter ou diminuer le nombre de tâches à traiter lors du prochain intervalle en agissant sur la vitesse du processeur[119]. Pour agir sur la fréquence du processeur, l’algorithme charge ensuite l’OS de réaliser la modification[120],[118].

La modification peut être une prédiction de l’état futur ou une adaptation prédéterminée[121]. Cela correspond a une adaptation statique ou dynamique et des études ont comparé leurs effets sur des systèmes réels[122]. Outre le type de l’adaptation, le choix de la longueur des intervalles peut avoir de grandes conséquences sur la consommation[12]. Si l'intervalle est trop courte, la fréquence du processeur devra être élevée pour que les tâches soient traitées en totalité. Si elle est trop longue, le processeur peut devoir fonctionner sans traiter de données, d'où une perte de ressources.

Dans le cas des systèmes à récupération d'énergie, l'énergie électrique disponible change au fil du temps et est limitée par la taille de l'unité de stockage (batterie, condensateur) et du récolteur (panneau solaire par exemple). Des algorithmes de planification permettent au système de décider dynamiquement quand être actif ou passif, afin de fournir la meilleure qualité de service sans gaspiller l'énergie[123].

Optimisation au niveau programmation[modifier | modifier le code]

Optimisation des instructions[modifier | modifier le code]

Le choix des instructions dans le code peu avoir un impact significatif sur le coût énergétique. Une analyse des coûts énergétiques des instructions d'un processeur 486DX2[124] révèle que les instructions utilisant des paramètres mémoire ont un courant moyen très élevé par rapport aux instructions utilisant des paramètres de registre.

Ce type d'optimisation contribue à la conception de logiciels à faible consommation énergétique, mais leurs impacts sont étroitement liés à une architecture cible donnée[125]. Les optimisations pour un type de processeur utilisées dans un code éco-énergétique peuvent ne pas convenir pour d'autres types de processeurs. Une analyse du niveau d'instruction doit donc être effectuée pour chaque type de processeur utilisé[40],[126].

Optimisation au niveau compilateur[modifier | modifier le code]

Les appels de procédures sont couteux dans la plupart des architectures. La technique d'inlining des procédures peut aider à améliorer les performances et à économiser l'énergie logicielle en diminuant les surcharges (overhead) associés aux appels et aux retours[46]. Un effet secondaire de l'inlining est l'augmentation de la taille du code. Cette augmentation nécessite en conséquence une taille mémoire plus importante, qui conduira à une plus grande dissipation d'énergie[46].

Les techniques d'optimisations de boucle :

  • loop interchange est une technique de transformation de boucle linéaire (linear loop transformations) permettant de réduire de la puissance totale de la mémoire grâce à une meilleure utilisation du cache[127].
  • loop unrolling permet d'augmenter le parallélisme des instructions en diminuant ou supprimant les instructions de contrôle[46],[128],[127].
  • pipeline logiciel est une technique permettant d'optimiser les boucles d'un programme, de sorte que chaque itération dans la boucle soit formée à partir de séquences d'instructions choisies parmi différentes itérations du code original[128]. Cette technique permet de diminuer le nombre d'initialisations en récupérant les instructions de différentes itérations. Par conséquent, la consommation totale d'énergie diminue.
  • loop fission (loop distribution) divise une boucle (loop) contenant plusieurs instructions en plusieurs boucles contenant chacune une partie des instructions d'origines. Cette technique permet une allocation plus fine des banques mémoires et permet de générer des économies d'énergie en désactivant les banques de mémoires inutilisées[129],[130].
  • loop fusion combines deux boucles en une seule, ce qui améliore la réutilisation des données, réduisant ainsi l'énergie consommée par la mémoire[130].

Optimisation du code[modifier | modifier le code]

Dans la plupart des systèmes embarqués, des portions significatives de code sont répétées. Si le logiciel n'est pas écrit efficacement, on peut s'attendre à ce qu'il nécessite un plus grand nombre de cycles, consomme plus de puissance et occupe plus de mémoire[131].

La restructuration du code d'un programme offre le meilleur équilibre entre efficacité énergétique et automatisation. Son impact sur la consommation d'énergie tend à être élevé puisque le travail est effectué avec une vision globale du programme. En outre, les techniques utilisées sont indépendantes de la plate-forme, ce qui les rend facilement portables à différentes architectures[132].

L'interleaving est un mécanisme qui peut réduire la consommation d'énergie dans les systèmes utilisant la mémoire partitionnée, en regroupant les éléments de données de multiples tableaux (array) consultés simultanément en un seul espace de données commun. Ainsi, seuls les modules mémoire contenant des parties des tableaux en cours d'accès ont besoin d'être actifs[133].

Dans des programmes multiprocessus concurrents, des facteurs tels que la communication interprocessus (IPC), la communication de données, les changements de contexte, l'intervention du système d'exploitation peuvent affecter de manière significative la consommation énergétique globale d'une application[134]. Les optimisations proposées par Fei et al. permettent par exemple de réaliser des économies d'énergie allant jusqu'à 37,9 % (23,8 % en moyenne) par rapport aux optimisations traditionnelles des compilateurs[135].

Optimisations au niveau application[modifier | modifier le code]

La gestion de l'énergie au niveau de l'application est une source importante d'optimisation énergétique[136],[137],[138],[139].

Les travaux menés par Flinn et al.[140] ont souligné l'importance et la faisabilité de la gestion de l'énergie au niveau de l'application. Leur système surveille l'offre et la demande énergétique. Lorsque l'énergie est abondante, l'application favorise l'expérience utilisateur. À l'inverse, lorsque l'énergie vient à manquer, l'application bascule en mode économie d'énergie. L’économie d’énergie est en moyenne de 36 %. Si l’énergie est suffisante, leur système est cependant capable de s’adapter aux variations d’une autre ressource : la bande-passante. Le système détecte une baisse de débit via un indicateur calculé en interne (nommé "fidélité") puis modifie l’application pour optimiser l’expérience utilisateur[136].

La programmation éco-énergétique (energy-aware programming) est une voie prometteuse suscitant un intérêt croissant[137],[139],[141]. Ces méthodes et techniques permettent de mettre en place des comportements d'application alternatifs en fonction du mode de fonctionnement énergétique.

Eon[137] est un système de programmation éco-énergétique, permettant aux programmeurs de construire des programmes à partir de code écrit dans différents langages. Il permet de faire correspondre simplement des flux de contrôles par rapport à des états énergétiques du système. Eon n'exécute que les flux autorisés par le programmeur pour un état énergétique donné. Ceci permet d’adapter les fonctionnalités du système à chaque mode d’énergie disponible.

Green[138] est un système permettant d'estimer le coût énergétique des boucles et fonctions des programmes. Il permet aux programmeurs de spécifier une perte de QoS maximale qui sera tolérée et fournit des garanties statistiques que l'application répondra à cette cible. Green génère une version d'étalonnage du programme qu'il exécute pour construire un modèle de QoS quantifiant l'impact de l'approximation. Ce modèle est permet ensuite de synthétiser une version approximative du programme qui répondra à une cible de QoS spécifiée par l'utilisateur. Les résultats expérimentaux démontrent que la version verte de ces applications fonctionnent nettement mieux et consomment moins d'énergie avec seulement une petite perte de QoS[142].

ENT[141] est un autre langage de programmation, qui permet de mettre en place une gestion de l'énergie au niveau de l'application, de manière proactive et adaptative. La conception proactive permet aux programmeurs, d'appliquer leurs connaissances de l'application à la gestion de l'énergie, en caractérisant statiquement le comportement énergétique de différents parties du code dans différents modes de fonctionnement. La conception adaptative permet de retarder cette caractérisation jusqu'à l'exécution, ce qui permet de capturer dynamiquement le comportement du programme en fonction de son état, de ses paramètres de configurations, le niveau de la batterie ou la température CPU.

Ce mélange de typage statique ou dynamique permet de réguler, via des erreurs de compilation ou d'exécution, les interactions entre les programmes et éventuellement d'exposer ou éliminer des "bugs énergétiques" (par exemple, un fragment de programme spécifiquement défini pour un mode «batterie haute » mais accidentellement utilisé dans le mode de "Batterie faible").

Impacts liés à l'utilisateur[modifier | modifier le code]

Différentes études ou enquêtes ont été menées afin de comprendre les interactions entre les utilisateurs et les batteries de leurs ordinateurs portables ou leurs smartphone. Banerjee et al.[143] constate par exemple que la plupart des recharges sont effectuées alors qu'une quantité d'énergie conséquente subsiste et que ces recharges sont la plupart du temps dictées par le contexte (lieu et heure) plutôt que par le niveau de charge restant.

Selon Rahmati et al.[144], une indication de charge inexacte de la batterie d'un smartphone et un affichage insuffisant des informations, conduisent à une sous utilisation des réglages d'économie d'énergie, à une mauvaise exploitation de l'énergie de la batterie et à un mécontentement des utilisateurs.

Notes et références[modifier | modifier le code]

  1. Rao 2003, p. 77
  2. Saxena 2017, p. 35-36
  3. a et b Satyanarayanan 2005, p. 2
  4. a et b Lahiri 2002, p. 1
  5. Evans 2011, p. 2
  6. a b c et d Jayakumar 2014, p. 375
  7. a b et c Simunic 2001, p. 15
  8. a et b Sarpeshkar 2012, p. 193
  9. a et b Chen 2010, p. 1808
  10. a b et c Rao 2003, p. 79
  11. a et b Rao 2003, p. 83
  12. a b et c Weiser 1994, p. 9
  13. Paradiso 2005, p. 18
  14. a b et c Chalasani 2008, p. 442
  15. Paradiso 2005, p. 19
  16. a b et c Kansal 2007, p. 2
  17. Raghunathan 2005, p. 457
  18. Jiang 2005, p. 463
  19. a et b Park 2006, p. 168
  20. Brunelli 2009, p. 2519
  21. Paradiso 2005, p. 20
  22. a et b Kansal 2007, p. 3
  23. a et b Raghunathan 2006, p. 370
  24. Jayakumar 2014, p. 378
  25. Raghunathan 2006, p. 369
  26. Chevalerias 2005, p. 46
  27. Chalasani 2008, p. 444
  28. Kymissis 1998, p. 1
  29. Paradiso 2005, p. 19-20
  30. Chalasani 2008, p. 445
  31. a b et c Raghunathan 2006, p. 372
  32. Li 1998, p. 188
  33. Akyildiz 2002, p. 104
  34. Liu 2014, p. 1403
  35. Cherifi 2015, p. 640
  36. a et b Rakhmatov 2003, p. 278-279
  37. a b c et d Latre 2011, p. 4
  38. Sankaran 2013, p. 441
  39. a et b Casamassima 2014, p. 1
  40. a et b Tiwari 1994, p. 444
  41. Rong 2003, p. 906
  42. Cherifi 2015, p. 644
  43. Dunkels 2003, p. 85
  44. Mulligan 2007, p. 78
  45. Rong 2003, p. 911
  46. a b c d e et f Li 1998, p. 190
  47. Vijaykrishnan 2003, p. 59
  48. Tan 2002, p. 1
  49. Tan 2002, p. 3-4
  50. Dick 2000, p. 312
  51. a et b Wagemann 2017, p. 2
  52. a b et c Givargis 2000, p. 333
  53. a et b Givargis 1999, p. 270
  54. Givargis 1998, p. 117
  55. a et b Feeney 2010, p. 1
  56. Benini 2000, p. 37
  57. a et b Jayakumar 2014, p. 376
  58. Burd 2000, p. 1576
  59. Rabaey 2000, p. 42
  60. Weiser 1994, p. 2
  61. Burd 2000, p. 1571
  62. a et b Burd 2000, p. 1572
  63. Govil 1995, p. 14
  64. Pillai 2001, p. 89
  65. Pillai 2001, p. 91
  66. Pillai 2001, p. 100
  67. Cao 2008, p. 179
  68. Agrawal 2016, p. 12
  69. Zhu 2004, p. 35
  70. Moser 2009, p. 413
  71. Escolar 2013, p. 454
  72. Rao 2003, p. 85
  73. Casamassima 2014, p. 6
  74. a et b Gyselinckx 2005, p. 15
  75. Le 2014, p. 19
  76. Lin 2013, p. 71
  77. a et b Hester 2015, p. 8
  78. a et b Chen 2010, p. 314
  79. a b c et d Le 2014, p. 21
  80. Chen 2010, p. 313
  81. Ju 2014, p. 36
  82. Lin 2013, p. 70
  83. Catthoor 1994, p. 185
  84. Banakar 2002, p. 77
  85. Kandemir 2001, p. 12
  86. Huang 2011, p. 1127
  87. Liqin 2009, p. 196
  88. Liqin 2009, p. 201
  89. Huang 2011, p. 1138
  90. Zhou 2015, p. 423
  91. Shao 2012, p. 399
  92. Shao 2012, p. 398
  93. Xue 2011, p. 325
  94. Zhong 2014, p. 81
  95. Liu 2012, p. 1447
  96. Zhou 2009, p. 16
  97. Jiang 2012, p. 39
  98. Zhao 2014, p. 1
  99. Zhou 2009, p. 17
  100. Li 2014, p. 399
  101. Kang 2017, p. 299
  102. a b et c Xue 2011, p. 327
  103. Xue 2011, p. 329
  104. a et b Jiang 2012, p. 908
  105. Wang 2015, p. 1
  106. Rodriguez 2015, p. 26
  107. Nowak 2016, p. 1
  108. Chua 1971, p. 507
  109. Williams 2008, p. 29
  110. a et b Xue 2011, p. 331
  111. Halawani 2015, p. 1004
  112. a et b Halawani 2015, p. 1010
  113. Halawani 2015, p. 1006
  114. Halawani 2013, p. 41
  115. a et b Cheng 2006, p. 1
  116. Lu 2000, p. 42
  117. a et b Lin 2006, p. 1
  118. a et b Weiser 1994, p. 4
  119. Govil 1995, p. 16
  120. AbouGhazaleh 2003, p. 1
  121. Pering 1998, p. 77
  122. Lee 1999, p. 274-278
  123. Chetto 2011, p. 50
  124. Tiwari 1994, p. 443-444
  125. Chung 2001, p. 153
  126. Tiwari 1996, p. 328
  127. a et b Kandemir 2001, p. 801
  128. a et b Mehta 1997, p. 74
  129. Delaluz 2000, p. 141
  130. a et b Kandemir 2001, p. 802
  131. Dalal 2001, p. 255
  132. Fei 2007, p. 2
  133. Delaluz 2002, p. 1
  134. Fei 2007, p. 3
  135. Fei 2007, p. 4-5
  136. a et b Flinn 1999, p. 49
  137. a b et c Sorber 2007, p. 162
  138. a et b Baek 2010, p. 198
  139. a et b Cohen 2012, p. 831
  140. Flinn 1999, p. 48
  141. a et b Canino 2017, p. 217
  142. Baek 2010, p. 209
  143. Banerjee 2007, p. 16
  144. Rahmati 2007, p. 265

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Document utilisé pour la rédaction de l’article : document utilisé comme source pour la rédaction de cet article.

Analyse énergétique d'un système embarqué

  • (en) V. Tiwari, S. Malik et A. Wolfe, « Power analysis of embedded software: a first step towards software power minimization », IEEE Transactions on Very Large Scale Integration (VLSI) Systems, IEEE, vol. 2, no 4,‎ , p. 437-445 (ISSN 1063-8210, DOI 10.1109/92.335012, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yanbing Li et J. Henkel, « A framework for estimating and minimizing energy dissipation of embedded HW/SW systems », Proceedings 1998 Design and Automation Conference. 35th DAC., IEEE,‎ 15-19 june 1998, p. 15-28 (ISBN 0-89791-964-5, DOI 10.1109/DAC.1998.724464, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) R.P. Dick, G. Lakshminarayana, A. Raghunathan et N.K. Jha, « Power analysis of embedded operating systems », Proceedings 2000. Design Automation Conference, 2000., IEEE,‎ 5-9 june 2000, p. 312-315 (ISBN 1-58113-187-9, DOI 10.1145/337292.337427, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) T.K. Tan, A. Raghunathan et N.K. Jha, « Embedded operating system energy analysis and macro-modeling », Proceedings. IEEE International Conference on Computer Design: VLSI in Computers and Processors, IEEE,‎ , p. 515-522 (DOI 10.1109/ICCD.2002.1106822, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) N. Vijaykrishnan, Mahmut Kandemir, Mary Jane Irwin, Hyun Suk Kim, Wu Ye et David Duarte, « Evaluating integrated hardware-software optimizations using a unified energy estimation framework », IEEE Transactions on Computers, IEEE, vol. 52, no 1,‎ , p. 59-76 (ISSN 0018-9340, DOI 10.1109/TC.2003.1159754, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Sriram Sankaran et Ramalingam Sridhar, « Energy modeling for mobile devices using performance counters », 2013 IEEE 56th International Midwest Symposium on Circuits and Systems (MWSCAS), IEEE,‎ 4-7 août 2013, p. 441-444 (ISBN 978-1-4799-0066-4, DOI 10.1109/MWSCAS.2013.6674680, lire en ligne). Ouvrage utilisé pour la rédaction de l'article

Généralistes

  • (en) J.M. Rabaey, M.J. Ammer, J.L. da Silva et D. Patel, « PicoRadio supports ad hoc ultra-low power wireless networking », Computer, IEEE, vol. 33, no 7,‎ , p. 42-48 (ISSN 0018-9162, DOI 10.1109/2.869369, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Gregory Chen, Scott Hanson, David Blaauw et Denis Sylvester, « Circuit Design Advances for Wireless Sensing Applications », Proceedings of the IEEE, IEEE, vol. 98, no 11,‎ , p. 1808-1827 (DOI 10.1109/JPROC.2010.2053333, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Rahul Sarpeshkar, « Universal Principles for Ultra Low Power and Energy Efficient Design », IEEE Transactions on Circuits and Systems II: Express Briefs, IEEE, vol. 59, no 4,‎ , p. 193-198 (ISSN 1549-7747, DOI 10.1109/TCSII.2012.2188451, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Hrishikesh Jayakumar, Kangwoo Lee et Hrishikesh Jayakumar, « Powering the Internet of Things », 2014 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), IEEE,‎ 11-13 août 2014, p. 375-380 (DOI 10.1145/2627369.2631644, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Nadir Cherifi, Gilles Grimaud, Thomas Vantroys et Alexandre Boe, « Energy Consumption of Networked Embedded Systems », 2015 3rd International Conference on Future Internet of Things and Cloud, IEEE,‎ 24-26 aout 2015, p. 639-644 (ISBN 978-1-4673-8103-1, DOI 10.1109/FiCloud.2015.90, lire en ligne). Ouvrage utilisé pour la rédaction de l'article

Wireless Sensor Network

  • (en) I.F. Akyildiz, Weilian Su, Y. Sankarasubramaniam et E. Cayirci, « A survey on sensor networks », IEEE Communications Magazine, IEEE, vol. 40, no 8,‎ , p. 102-114 (DOI 10.1109/MCOM.2002.1024422, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) B. Gyselinckx, C. Van Hoof et J. Ryckaert, « Human++: autonomous wireless sensors for body area networks », Custom Integrated Circuits Conference, 2005. Proceedings of the IEEE 2005, IEEE,‎ , p. 13-20 (ISBN 0-7803-9023-7, DOI 10.1109/CICC.2005.1568597, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Benoit Latré, Bart Braem, Ingrid Moerman, Chris Blondia et Piet Demeester, « A survey on wireless body area networks », Wireless Networks Journal, ACM, vol. 17, no 1,‎ , p. 1-18 (DOI 10.1007/s11276-010-0252-4, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Filippo Casamassima, Elisabetta Farella et Luca Benini, « Context aware power management for motion-sensing body area network nodes », DATE '14 Proceedings of the conference on Design, Automation & Test in Europe, ACM,‎ 24-28 mars 2014, Article n°170 (ISBN 978-3-9815370-2-4, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ricardo Cavallari, Flavia Martelli, Ramona Verdone, Chiarra Buratti et Roberto Verdone, « A Survey on Wireless Body Area Networks: Technologies and Design Challenges », IEEE Communications Surveys & Tutorials, IEEE,‎ , p. 1635-1657 (DOI 10.1109/SURV.2014.012214.00007, lire en ligne)

Batteries

  • (en) K. Lahiri, A. Raghunathan et D. Panigrahi, « Battery-driven system design: a new frontier in low power design », Design Automation Conference, 2002. Proceedings of ASP-DAC 2002. 7th Asia and South Pacific and the 15th International Conference on VLSI Design. Proceedings., IEEE,‎ , p. 1-7 (ISBN 0-7695-1441-3, DOI 10.1109/ASPDAC.2002.994932, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ravishankar Rao, Sarma Vrudhula et Daler N. Rakhmatov, « Battery modeling for energy aware system design », Computer, IEEE, vol. 36, no 13,‎ , p. 77-87 (ISSN 0018-9162, DOI 10.1109/MC.2003.1250886, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) T. Simunic, L. Benini et G. De Micheli, « Energy-efficient design of battery-powered embedded systems », IEEE Transactions on Very Large Scale Integration (VLSI) Systems, IEEE, vol. 9, no 1,‎ , p. 15-28 (ISSN 1063-8210, DOI 10.1109/92.920814, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Peng Rong et Massoud Pedram, « Extending the Lifetime of a Network of Battery-Powered Mobile Devices by Remote Processing: A Markovian Decision-based Approach », DAC '03 Proceedings of the 40th annual Design Automation Conference, ACM,‎ 2-6 juin 2003, p. 906-911 (ISBN 1-58113-688-9, DOI 10.1145/775832.776060, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Daler Rakhmatov et Sarma Vrudhula, « Energy management for battery-powered embedded systems », ACM Transactions on Embedded Computing Systems (TECS)., ACM, vol. 2, no 3,‎ , p. 277-324 (DOI 10.1145/860176.860179, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) M. Satyanarayanan, « Avoiding Dead Batteries », IEEE Pervasive Computing, IEEE, vol. 4, no 1,‎ , p. 2-3 (DOI 10.1109/MPRV.2005.5, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Saurabh Saxena, Gustavo Sanchez et Michael Pecht, « Batteries in Portable Electronic Devices: A User's Perspective », IEEE Industrial Electronics Magazine, IEEE, vol. 11, no 2,‎ , p. 35-44 (ISSN 1932-4529, DOI 10.1109/MIE.2017.2688483, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Nilanjan Banerjee, Ahmad Rahmati, Mark D. Corner, Sami Rollins et Lin Zhong, « Users and batteries: interactions and adaptive energy management in mobile systems », UbiComp '07 Proceedings of the 9th international conference on Ubiquitous computing, ACM,‎ 16-19 septembre 2007, p. 217-234 (ISBN 978-3-540-74852-6, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ahmad Rahmati, Angela Qian et Lin Zhong, « Understanding human-battery interaction on mobile phones », MobileHCI '07 Proceedings of the 9th international conference on Human computer interaction with mobile devices and services, ACM,‎ 9-12 septembre 2007, p. 265-272 (ISBN 978-1-59593-862-6, DOI 10.1145/1377999.1378017, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ahmad Rahmati et Lin Zhong, « Human–battery interaction on mobile phones », Pervasive and Mobile Computing, ELSEVIER, vol. 5, no 5,‎ 9-12 septembre 2009, p. 265-272 (DOI 10.1109/MPRV.2005.5, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) L. Benini, G. Castelli et A. Macii, « Extending lifetime of portable systems by battery scheduling », Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001., IEEE,‎ 13-16 march 2001, p. 197-201 (ISBN 0-7695-0993-2, DOI 10.1109/DATE.2001.915024, lire en ligne)
  • (en) Marijn Jongerden, Alexandru Mereacre et Henrik Bohnenkamp, « Computing Optimal Schedules of Battery Usage in Embedded Systems », IEEE Transactions on Industrial Informatics, IEEE, vol. 6, no 3,‎ , p. 276-286 (ISSN 1551-3203, DOI 10.1109/TII.2010.2051813, lire en ligne)
  • (en) Qing Xie, Siyu Yue, Massoud Pedram, Donghwa Shin et Naehyuck Chang, « Adaptive Thermal Management for Portable System Batteries by Forced Convection Cooling », DATE '13 Proceedings of the Conference on Design, Automation and Test in Europe, ACM,‎ 18-22 mars 2013, p. 1225-1228 (ISBN 978-1-4503-2153-2, lire en ligne)
  • (en) Fangxin Wang, Feng Wang, Xiaoyi Fan et Jiangchuan Liu, « BattAlloc : Effective Battery Allocation against Power Outage for Cellular Base Stations », e-Energy '17 Proceedings of the Eighth International Conference on Future Energy Systems, ACM,‎ 16-19 mai 2017, p. 234-241 (ISBN 978-1-4503-5036-5, DOI 10.1145/3077839.3077863, lire en ligne)
  • (en) Laura Marie Feeney et Daniel Willkomm, « Energy Framework: An Extensible Framework for Simulating Battery Consumption in Wireless Networks », SIMUTools '10 Proceedings of the 3rd International ICST Conference on Simulation Tools and Techniques, ICST,‎ , p. 1-4 (ISBN 978-963-9799-87-5, DOI 10.4108/ICST.SIMUTOOLS2010.8725, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) L. Benini, G. Castelli, A. Macii, E. Macii, M. Poncino et R. Scarsi, « A discrete-time battery model for high-level power estimation », DATE '00 Proceedings of the conference on Design, automation and test in Europe, ACM,‎ 27-30 mars 2000, p. 35-41 (ISBN 1-58113-244-1, DOI 10.1145/343647.343694, lire en ligne). Ouvrage utilisé pour la rédaction de l'article

Sources d'énergies

  • (en) J. Kymissis, C. Kendall et J. Paradiso, « Parasitic power harvesting in shoes », Second International Symposium on Wearable Computers, 1998. Digest of Papers., IEEE,‎ 10-20 octobre 1998, p. 1-7 (ISBN 1-4244-0626-9, DOI 10.1109/ISWC.1998.729539, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Vijay Raghunathan, A. Kansal, J. Hsu, J. Friedman et Mani Srivastava, « Design considerations for solar energy harvesting wireless embedded systems », Fourth International Symposium on Information Processing in Sensor Networks, 2005. IPSN 2005., IEEE,‎ , p. 457-462 (ISBN 0-7803-9201-9, DOI 10.1109/IPSN.2005.1440973, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) J.A. Paradiso et T. Startner, « Energy scavenging for mobile and wireless electronics », Second International Symposium on Wearable Computers, 1998. Digest of Papers., IEEE,‎ , p. 18-27 (DOI 10.1109/MPRV.2005.9, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) X. Jiang, J. Polastre et D. Culler, « Perpetual environmentally powered sensor networks », Fourth International Symposium on Information Processing in Sensor Networks, 2005. IPSN 2005., IEEE,‎ , p. 463-468 (ISBN 0-7803-9201-9, DOI 10.1109/IPSN.2005.1440974, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Chulsung Park et Pai H. Chou, « AmbiMax: Autonomous Energy Harvesting Platform for Multi-Supply Wireless Sensor Nodes », 2006 3rd Annual IEEE Communications Society on Sensor and Ad Hoc Communications and Networks, 2006. SECON '06., IEEE,‎ , p. 168-177 (ISBN 1-4244-0626-9, DOI 10.1109/SAHCN.2006.288421, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Vijay Raghunathan et Pai H. Chou, « Design and Power Management of Energy Harvesting Embedded Systems », Proceedings of the 2006 International Symposium on Low Power Electronics and Design, 2006. ISLPED'06., IEEE,‎ 4-6 octobre 2006, p. 369-374 (ISBN 1-59593-462-6, DOI 10.1145/1165573.1165663, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Aman Kansal, Jason Hsu, Sadaf Zahedi et Mani B. Srivastava, « Power management in energy harvesting sensor networks », ACM Transactions on Embedded Computing Systems (TECS) - Special Section LCTES'05, ACM, vol. 6, no 4,‎ , p. 413-418 (DOI 10.1145/1274858.1274870, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Sravanthi Chalasani et J.M. Conrad, « A survey of energy harvesting sources for embedded systems », SoutheastCon 2008, IEEE,‎ 3-6 avril 2008, p. 442-447 (ISBN 978-1-4244-1883-1, DOI 10.1109/SECON.2008.4494336, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Davide Brunelli, Clemens Moser et Lothar Thiele, « Design of a Solar-Harvesting Circuit for Batteryless Embedded Systems », IEEE Transactions on Circuits and Systems I: Regular Papers, IEEE, vol. 11, no 56,‎ , p. 2519-2528 (ISSN 1549-8328, DOI 10.1109/TCSI.2009.2015690, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Clemens Moser, Jian-Jia Chen et Lothar Thiele, « Power management in energy harvesting embedded systems with discrete service levels », ISLPED '09 Proceedings of the 2009 ACM/IEEE international symposium on Low power electronics and design. Proceeding., ACM,‎ 19-21 aout 2009, p. 413-418 (ISBN 978-1-60558-684-7, DOI 10.1145/1594233.1594338, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Qiang Liu, Terrence Mark, Tao Zhang, Xinyu Niu et Wayne Luk, « Power-Adaptive Computing System Design for Solar-Energy-Powered Embedded Systems », IEEE Transactions on Very Large Scale Integration (VLSI) Systems, IEEE, vol. 3, no 8,‎ , p. 1402-1414 (DOI 10.1109/TVLSI.2014.2342213, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Josiah Hester, Lanny Sitanayah et Jacob Sorber, « Tragedy of the Coulombs: Federating Energy Storage for Tiny, Intermittently-Powered Sensors », Sensys '15 Proceedings of the 13th ACM Conference on Embedded Networked Sensor Systems, ACM,‎ 01-04 novembre 2015, p. 5-16 (ISBN 978-1-4503-3631-4, DOI 10.1145/2809695.2809707, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Peter Wagemann, Tobias Distler, Heiko Janker, Phillip Raffeck, Volkmar Sieh et Wolfgang SchröDer-Preikschat, « Operating Energy-Neutral Real-Time Systems », ACM Transactions on Embedded Computing Systems (TECS), ACM,‎ , p. 1-25 (ISSN 1539-9087, DOI 10.1145/3078631, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Chien-Ying Chen et Pai H. Chou, « DuraCap: a Supercapacitor-Based, Power-Bootstrapping, Maximum Power Point Tracking Energy-Harvesting System », ISLPED '10 Proceedings of the 16th ACM/IEEE international symposium on Low power electronics and design, ACM,‎ 18-20 août 2010, p. 313-318 (ISBN 978-1-4503-0146-6, DOI 10.1145/1840845.1840910, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Trong Nhan Le, Olivier Berder, Alain Pegatoquet et Olivier Sentieys, « A Power Manager with Balanced Quality of Service for Energy-Harvesting Wireless Sensor Nodes », ENSsys '14 Proceedings of the 2nd International Workshop on Energy Neutral Sensing Systems, ACM,‎ , p. 19-24 (ISBN 978-1-4503-3189-0, DOI 10.1145/2675683.2675687, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Qianao Ju et Ying Zhang, « Reducing Charge Redistribution Loss for Supercapacitor-Operated Energy Harvesting Wireless Sensor Nodes », ENSsys '14 Proceedings of the 2nd International Workshop on Energy Neutral Sensing Systems, ACM,‎ , p. 31-36 (ISBN 978-1-4503-3189-0, DOI 10.1145/2675683.2675691, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Xue Lin, Yanzhi Wang, Siyu Yue, Naehyuck Chang et Massoud Pedram, « A Framework of Concurrent Task Scheduling and Dynamic Voltage and Frequency Scaling in Real-Time Embedded Systems with Energy Harvesting », ISLPED '13 Proceedings of the 2013 International Symposium on Low Power Electronics and Design, IEEE,‎ 04-06 septembre 2013, p. 70-75 (ISBN 978-1-4799-1235-3, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Olivier Chevalerias, Terence O’Donnell, Daithí Power, Neil O’Donovan, Gerald Duffy, Gary Grant et Seán Cian O’Mathuna, « Inductive telemetry of multiple sensor modules », IEEE Pervasive Computing ( Volume: 4, Issue: 1), IEEE,‎ , p. 46-52 (ISSN 1536-1268, DOI 10.1109/MPRV.2005.15, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Winston K.G. Seah, Zhi Ang Eu et Hwee-Pink Tan, « Wireless sensor networks powered by ambient energy harvesting (WSN-HEAP) - Survey and challenges », 2009 1st International Conference on Wireless Communication, Vehicular Technology, Information Theory and Aerospace & Electronic Systems Technology, IEEE,‎ 17-20 mai 2009, p. 205-218 (ISBN 978-1-4244-4066-5, DOI 10.1109/WIRELESSVITAE.2009.5172411, lire en ligne)
  • (en) Shane S. Clark, Jeremy Gummeson, Kevin Fu et Deepak Ganesan, « Demo Abstract: Hybrid-powered RFID sensor networks », Sensys '09 Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, ACM,‎ 04-06 novembre 2009, p. 345-346 (ISBN 978-1-60558-519-2, DOI 10.1145/1644038.1644093, lire en ligne)

Gestion dynamique de la tension, du voltage ou de la puissance

  • (en) Mark Weiser, Brent Welch, Alan Delmers et Scott Shenker, « Scheduling for Reduced CPU Energy », OSDI '94 Proceedings of the 1st USENIX conference on Operating Systems Design and Implementation. Proceeding., ACM,‎ 14-17 novembre 1994 (lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Kinshuk Govil, Edwin Chan et Hal Wasserman, « Comparing algorithm for dynamic speed-setting of a low-power CPU », ACM, MobiCom '95 Proceedings of the 1st annual international conference on Mobile computing and networking. Proceeding.,‎ 13-15 novembre 1995, p. 13-25 (ISBN 0-89791-814-2, DOI 10.1145/215530.215546, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Trevor Pering, Tom Burd et Robert Brodersen, « The simulation and evaluation of dynamic voltage scaling algorithms », ISLPED '98 Proceedings of the 1998 international symposium on Low power electronics and design. Proceeding., ACM,‎ 10-12 aout 1998, p. 76-81 (ISBN 1-58113-059-7, DOI 10.1145/280756.280790, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yann-Hang Lee et C.M. Krishna, « Voltage-clock scaling for low energy consumption in real-time embedded systems », Sixth International Conference on Real-Time Computing Systems and Applications, 1999., IEEE,‎ 13-15 décembre 1999, p. 272-279 (ISBN 0-7695-0306-3, DOI 10.1109/RTCSA.1999.811255, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) T.D. Burd, T.A. Pering et A.J. Stratakos, « A dynamic voltage scaled microprocessor system », Journal of Solid-State Circuits, IEEE,‎ , p. 1571-1580 (ISSN 0018-9200, DOI 10.1109/4.881202, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Padmanabhan Pillai et Kang G. Shin, « Real-time dynamic voltage scaling for low-power embedded operating systems », Proceeding SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles, ACM,‎ 21-24 octobre 2001, p. 89-102 (ISBN 1-58113-389-8, DOI 10.1145/502034.502044, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Dakai Zhu, R. Melhem et D. Mosse, « The effects of energy management on reliability in real-time embedded systems », IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004., IEEE,‎ 7-11 novembre 2004, p. 35-40 (ISBN 0-7803-8702-3, ISSN 1092-3152, DOI 10.1109/ICCAD.2004.1382539, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Zhen Cao, Brian Foo, Lei He et Mihaela van der Schaar, « Optimality and Improvement of Dynamic Voltage Scaling Algorithms for Multimedia Applications », DAC '08 Proceedings of the 45th annual Design Automation Conference, ACM,‎ 8-13 juin 2008, p. 179-184 (ISBN 978-1-60558-115-6, DOI 10.1145/1391469.1391516, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Smriti Agrawal, « A Lazy DVS Approach for Dynamic Real Time System », ACM SIGBED Review - Special Issue on 14th International Workshop on RealTime Networks (RTN 2016), ACM,‎ , p. 7-12 (ISSN 1551-3688, DOI 10.1145/3015037.3015038, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Soledad Escolar, Stefano Chessa et Jesus Carretero, « Energy management in solar cells powered wireless sensor networks for quality of service optimization », Personal and Ubiquitous Computing, Springer-Verlag,‎ , p. 449-464 (ISSN 1617-4909, DOI 10.1007/s00779-013-0663-1, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yung-Hsiang Lu, Luca Benini et Giovanni De Micheli, « Operating-System Directed Power Reduction », Low Power Electronics and Design, 2000. ISLPED '00, IEEE,‎ 26-27 juillet 2000, p. 37-42 (ISBN 1-58113-190-9, DOI 10.1109/LPE.2000.155250, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Hsin-hung Lin et Chih-Wen Hsueh, « COS: A Configurable OS for Embedded SoC Systems », Embedded and Real-Time Computing Systems and Applications, 2006, IEEE,‎ 16-18 août 2006, p. 1-4 (ISBN 0-7695-2676-4, ISSN 1533-2306, DOI 10.1109/RTCSA.2006.24, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Nevine AbouGhazaleh, Daniel Mossé, Bruce Childers, Rami Melhem et Matthew Craven, « Collaborative Operating System and Compiler Power Management for Real-Time Applications », Real-Time and Embedded Technology and Applications Symposium, 2003., IEEE,‎ , p. 1-9 (ISBN 0-7695-1956-3, ISSN 1545-3421, DOI 10.1109/RTTAS.2003.1203045, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Hui Cheng et Steve Goddard, « Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems », Design, Automation and Test in Europe, 2006. DATE '06. Proceedings, IEEE,‎ 6-10 mars 2006, p. 1-6 (ISBN 3-9810801-1-4, ISSN 1530-1591, DOI 10.1109/DATE.2006.243931, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) B. Brock et K. Rajamani, « Dynamic power management for embedded systems [SOC design] », IEEE International [Systems-on-Chip] SOC Conference, 2003. Proceedings., IEEE, vol. 50, no 18,‎ 17-20 septembre 2003, p. 416-419 (ISBN 0-7803-8182-3, DOI 10.1109/SOC.2003.1241556, lire en ligne)
  • (en) C.M. Krishna et Yann-Hang Lee, « Voltage-Clock-Scaling Adaptive Scheduling Techniques for Low Power in Hard Real-Time Systems », IEEE Transactions on Computers, IEEE, vol. 52, no 12,‎ , p. 1586-1593 (ISSN 0018-9340, DOI 10.1109/TC.2003.1252854, lire en ligne)
  • (en) Maryam Bandari, Robert Simon et Hakan Aydin, « Energy management of embedded wireless systems through voltage and modulation scaling under probabilistic workloads », Green Computing Conference (IGCC), 2014 International, IEEE,‎ 3-5 novembre 2014, p. 1-10 (ISBN 978-1-4799-6177-1, DOI 10.1109/IGCC.2014.7039168, lire en ligne)

Optimisation du code

  • (en) V. Tiwari, S. Malik, A. Wolfe et M.T.-C. Lee, « Instruction level power analysis and optimization of software », Proceedings. Ninth International Conference on VLSI Design, 1996., IEEE,‎ 3-6 janvier 1996, p. 326-328 (ISSN 1063-9667, DOI 10.1109/ICVD.1996.489624, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) R. Mehta, R.M. Owens, M.J. Irwin et R. Chen, « Techniques for low energy software », 1997 International Symposium on Low Power Electronics and Design, 1997. Proceedings., IEEE,‎ 18-20 août 1997, p. 73-75 (DOI 10.1145/263272.263286, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Jason Flinn et M. Satyanarayanan, « Energy-aware adaptation for mobile applications », Proceeding SOSP '99 Proceedings of the seventeenth ACM symposium on Operating systems principles, ACM,‎ 12-15 décembre 1999, p. 48-63 (ISBN 1-58113-140-2, DOI 10.1145/319151.319155, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Tajana Simunic, Luca Benini, Giovanni De Micheli et Mat Hans, « Source code optimization and profiling of energy consumption in embedded systems », ISSS '00 Proceedings of the 13th international symposium on System synthesis, ACM,‎ 20-22 septembre 2000, p. 193-198 (ISBN 1-58113-267-0, DOI 10.1145/501790.501831, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) V. Dalal et C.P. Ravikumar, « Software power optimizations in an embedded system », VLSI Design 2001. Fourteenth International Conference on VLSI Design, 2001., IEEE,‎ , p. 254-259 (ISBN 0-7695-0831-6, DOI 10.1109/ICVD.2001.902669, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Eui-Young Chung, L. Benini et G. De Micheli, « Source code transformation based on software cost analysis », The 14th International Symposium on System Synthesis, 2001. Proceedings., IEEE,‎ 30 septembre - 3 octobre 2001, p. 153-158 (ISBN 1-58113-418-5, DOI 10.1145/500001.500036, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) V. Delaluz, M. Kandemir, N. Vijaykrishnan et M. J. Irwin, « Energy-oriented compiler optimizations for partitioned memory architectures », CASES '00 Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems., ACM,‎ 17-19 novembre 2000, p. 138-147 (DOI 10.1145/354880.354900, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) M. Kandemir, N. Vijaykrishnan, M. J. Irwin et Wu Ye, « Influence of Compiler Optimizations on System Power », IEEE Transactions on Very Large Scale Integration (VLSI) Systems, IEEE, vol. 9, no 6,‎ , p. 801-804 (DOI 10.1109/92.974893, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) V. Delaluz, M. Kandemir, N. Vijaykrishnan et M. J. Irwin, « Compiler-directed array interleaving for reducing energy in multi-bank memories », Design Automation Conference, 2002. Proceedings of ASP-DAC 2002. 7th Asia and South Pacific and the 15th International Conference on VLSI Design. Proceedings., IEEE,‎ , p. 1-6 (DOI 10.1109/ASPDAC.2002.994936, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yunsi Fei, Srivaths Ravi, Anand Raghunathan et N.K. Jha, « Energy-optimizing source code transformations for operating system-driven embedded software », ACM Transactions on Embedded Computing Systems (TECS), ACM, vol. 7, no 1,‎ , p. 1-26 (ISBN 1-58113-187-9, DOI ACM Transactions on Embedded Computing Systems (TECS), lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Chen-Wei Huang et Shiao-Li Tsao, « Minimizing Energy Consumption of Embedded Systems via Optimal Code Layout », IEEE Transactions on Computers, IEEE, vol. 61, no 8,‎ , p. 1127-1139 (ISSN 0018-9340, DOI 10.1109/TC.2011.122, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Adam Dunkels, « Full TCP/IP for 8-Bit Architectures », MobiSys '03 Proceedings of the 1st international conference on Mobile systems, applications and services, ACM,‎ 05-08 mai 2003, p. 85-98 (DOI 10.1145/1066116.1066118, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Geoff Mulligan, « The 6LoWPAN Architecture », EmNets '07 Proceedings of the 4th workshop on Embedded networked sensors, ACM,‎ 25-26 juin 2007, p. 78-82 (ISBN 978-1-59593-694-3, DOI 10.1145/1278972.1278992, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Maryline Chetto, Damien Masson et Serge Midonnet, « Fixed Priority Scheduling Strategies for Ambient Energy-Harvesting Embedded Systems », 2011 IEEE/ACM International Conference on Green Computing and Communications (GreenCom), IEEE,‎ 4-5 août 2011, p. 50-55 (ISBN 978-1-4577-1006-3, DOI 10.1109/GreenCom.2011.17, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Jacob Sorber, Alexander Costadinov, Matthew Garber et Matthew Brennan, « Eon: a language and runtime system for perpetual systems », SenSys '07 Proceedings of the 5th international conference on Embedded networked sensor systems, ACM,‎ 6-9 novembre 2007, p. 162-174 (DOI 10.1145/1322263.1322279, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Woongki Baek et Trishul M. Chilimbi, « Green: a framework for supporting energy-conscious programming using controlled approximation », PLDI '10 Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM,‎ 5-10 juin 2010, p. 198-209 (DOI 10.1145/1809028.1806620, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Michael Cohen, Yu David Liu et Emgin Ezgi Senem, « Energy types », OOPSLA '12 Proceedings of the ACM international conference on Object oriented programming systems languages and applications, ACM,‎ 19-26 octobre 2012, p. 831-850 (DOI 10.1145/2398857.2384676, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Anthony Canino et Yu David Liu, « Proactive and adaptive energy-aware programming with mixed typechecking », PLDI 2017 Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, ACM,‎ 18-23 juin 2017, p. 217-232 (DOI 10.1145/3062341.3062356, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Alexei Colin et Brandon Lucia, « Chain: Tasks and Channels for Reliable Intermittent Programs », ACM SIGPLAN Notices - OOPSLA '16 International Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM,‎ 2-4 novembre 2016, p. 514-530 (ISBN 978-1-4503-4444-9, DOI 10.1145/2983990.2983995, lire en ligne)
  • (en) Sonia Prasad, Shubham Jaiswal, N.S.V. Shet et Sarwesh P., « Energy Aware Routing Protocol for Resource Constrained Wireless Sensor Networks », ICIA-16 Proceedings of the International Conference on Informatics and Analytics, ACM,‎ 25-26 août 2016, Article n°121 (ISBN 978-1-4503-4756-3, DOI 10.1145/2980258.2982113, lire en ligne)
  • (en) Gianluca Franchino, Giorgio Buttazzo et Mauro Marinoni, « Bandwidth Optimization and Energy Management in Real-Time Wireless Networks », ACM Transactions on Embedded Computing Systems (TECS), ACM,‎ , p. 41:01-41:29 (ISSN 1539-9087, DOI 10.1145/2851498, lire en ligne)
  • (en) Azalia Mirhoseini, Ebrahim M. Songhori et Farinaz Koushanfar, « Automated Checkpointing for Enabling Intensive Applications on Energy Harvesting Devices », ISLPED '13 Proceedings of the 2013 International Symposium on Low Power Electronics and Design, ACM,‎ 4-6 septembre 2013, p. 27-32 (ISBN 978-1-4799-1235-3, lire en ligne)

Gestion de la mémoire

  • (en) F. Catthoor, F. Franssen, S. Wuytack, L. Nachtergaele et H. De Man, « Global communication and memory optimizing transformations for low power signal processing systems », VLSI Signal Processing, VII, IEEE,‎ 26-28 octobre 1994, p. 178-187 (ISBN 0-7803-2123-5, DOI 10.1109/VLSISP.1994.574742, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Tony Givargis et Franck Vahid, « Interface exploration for reduced power in core-based systems », 11th International Symposium on System Synthesis, 1998. Proceedings, IEEE,‎ , p. 117-122 (ISSN 1080-1820, DOI 10.1109/ISSS.1998.730611, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Tony Givargis, Jörg Henkel et Franck Vahid, « Interface exploration for reduced power in core-based systems », 1999 IEEE/ACM International Conference on Computer-Aided Design, 1999. Digest of Technical Papers, IEEE,‎ 7-11 novembre 1999, p. 270-273 (ISSN 1092-3152, DOI 10.1109/ICCAD.1999.810660, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Tony D. Givargis et Franck Vahid, « Fast cache and bus power estimation for parameterized system-on-a-chip design », Proceedings of the conference on Design, automation and test in Europe 00, ACM,‎ 27-30 mars 2000, p. 333-339 (ISBN 1-58113-244-1, DOI 10.1145/343647.343791, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Mahmut Kandemir, Ismail Kadayif et Ugur Sezer, « Exploiting Scratch-Pad Memory Using Presburger Formulas », ISSS '01 Proceedings of the 14th international symposium on Systems synthesis, ACM,‎ 30 septembre-03 octobre 2001, p. 7-12 (ISBN 1-58113-418-5, DOI 10.1145/500001.500004, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Rajeshwari Banakar, Stefan Steinke, Bo-Sik Lee, M. Balakrishnan et Peter Marwedel, « Scratchpad memory: design alternative for cache on-chip memory in embedded systems », CODES '02 Proceedings of the tenth international symposium on Hardware/software code, ACM,‎ 06-08 mai 2002, p. 73-78 (ISBN 1-58113-542-4, DOI 10.1145/774789.774805, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Wang Liqin et Shen Lin, « Alternative Choice for Energy Optimization in Embedded System », IEEE/INFORMS International Conference on Service Operations, Logistics and Informatics, 2009, IEEE,‎ 22-24 juillet 2009, p. 196-201 (ISBN 978-1-4244-3540-1, DOI 10.1109/SOLI.2009.5203929, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Chen-Wei Huang et Shiao-Li Tsao, « Minimizing Energy Consumption of Embedded Systems via Optimal Code Layout », IEEE Transactions on Computers, IEEE, vol. 61,‎ , p. 1127-1139 (ISSN 0018-9340, DOI 10.1109/TC.2011.122, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Zimeng Zhou, Lei Ju, Zhiping Jia et Xin Li, « Managing Hybrid On-chip Scratchpad and Cache Memories for Multi-tasking Embedded Systems », Design Automation Conference (ASP-DAC), 2015 20th Asia and South Pacific, IEEE,‎ 19-22 janvier 2015, p. 423-428 (ISBN 978-1-4799-7792-5, DOI 10.1109/ASPDAC.2015.7059043, lire en ligne). Ouvrage utilisé pour la rédaction de l'article

PCM/NVM:

  • (en) Zili Shao, Yongpan Liu et Yiran Chen, « Utilizing PCM for Energy Optimization in Embedded Systems », 2012 IEEE Computer Society Annual Symposium on VLSI,‎ 19-21 août 2012, p. 398-403 (ISBN 978-1-4673-2234-8, DOI 10.1109/ISVLSI.2012.81, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Kan Zhong, Xiao Zhu et Tianzheng Wang, « DR. Swap: Energy-efficient paging for smartphones », 2014 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED), IEEE,‎ 11-13 août 2014, p. 81-86 (DOI 10.1145/2627369.2627647, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Zili Shao, Yongpan Liu, Yiran Chen et Tao Li, « Utilizing PCM for Energy Optimization in Embedded Systems », VLSI (ISVLSI), 2012 IEEE Computer Society Annual Symposium on, IEEE,‎ 19-21 août 2012, p. 398-403 (ISBN 978-1-4673-2234-8, ISSN 2159-3469, DOI 10.1109/ISVLSI.2012.81, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Qingan Li, Yanxiang He, Yong Chen, Chun Jason Xue, Nan Jiang et Chao Xu, « A Wear-Leveling-Aware Dynamic Stack for PCM Memory in Embedded Systems », DATE '14 Proceedings of the conference on Design, Automation & Test in Europe, ACM,‎ 24-28 mars 2014, p. 1-4 (ISBN 978-3-9815370-2-4, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Duo Liu, Tianzheng Wang, Yi Wang, Zhiwei Qin et Zili Shao, « A Block-Level Flash Memory Management Scheme for Reducing Write Activities in PCM-based Embedded Systems », DATE '12 Proceedings of the Conference on Design, Automation and Test in Europe, EDA Consortium San Jose,‎ 12-16 mars 2012, p. 1447-1450 (ISBN 978-3-9810801-8-6, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Ping Zhou, Bo Zhao, Jun Yang et Youtao Zhang, « A Durable and Energy Efficient Main Memory Using Phase Change Memory Technology », ISCA '09 Proceedings of the 36th annual international symposium on Computer architecture, ACM,‎ , p. 14-23 (ISBN 978-1-60558-526-0, DOI 10.1145/1555754.1555759, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Lei Jiang, Youtao Zhang et Jun Yang, « ER: Elastic RESET for Low Power and Long Endurance MLC based Phase Change Memory », ISLPED '12 Proceedings of the 2012 ACM/IEEE international symposium on Low power electronics and design, ACM,‎ , p. 39-44 (ISBN 978-1-4503-1249-3, DOI 10.1145/2333660.2333672, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Mengying Zhao, Lei Jiang, Youtao Zhang et Chun Jason Xue, « SLC-enabled Wear Leveling for MLC PCM Considering Process Variation », DAC '14 Proceedings of the 51st Annual Design Automation Conference, ACM,‎ , p. 1-6 (ISBN 978-1-4503-2730-5, DOI 10.1145/2593069.2593217, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Chun Jason Xue, Youtao Zhang, Yiran Chen, Guangyu Sun, J. Joshua Yang et Hai Li, « Emerging Non-Volatile Memories: Opportunities and Challenges », CODES+ISSS '11 Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, ACM,‎ , p. 325-334 (ISBN 978-1-4503-0715-4, DOI 10.1145/2039370.2039420, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Janusz J. Nowak, Ray P. Robertazzi, Jonathan Z. Sun, Guohan Hu, Jeong-Heon Park, JungHyu Lee, Anthony J. Annunziata, Gen P. Lauer, Raman Kothandaraman, Eugene J. O’Sullivan, Philip L. Trouilloud, Younghyun Kim et Daniel C. Worledge, « Dependence of Voltage and Size on Write Error Rates in Spin-Transfer Torque Magnetic Random-Access Memory », IEEE Magnetics Letters (Volume 7), IEEE,‎ , p. 1-4 (ISSN 1949-307X, DOI 10.1109/LMAG.2016.2539256, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Lei Jiang, Bo Zhao, Youtao Zhang et Jun Yang, « Constructing Large and Fast Multi-Level Cell STT-MRAM based Cache for Embedded Processors », DAC '12 Proceedings of the 49th Annual Design Automation Conference, ACM,‎ , p. 907-912 (ISBN 978-1-4503-1199-1, DOI 10.1145/2228360.2228521, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Rujia Wang, Lei Jiang, Youtao Zhang, Linzhang Wang et Jun Yang, « Selective Restore: an Energy Efficient Read Disturbance Mitigation Scheme for Future STT-MRAM », DAC '15 Proceedings of the 52nd Annual Design Automation Conference, ACM,‎ , p. 1-6 (ISBN 978-1-4503-3520-1, DOI 10.1145/2744769.2744908, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) GABRIEL RODRIGUEZ, JUAN TOURINO et MAHMUT T. KANDEMIR, « Volatile STT-RAM Scratchpad Design and Data Allocation for Low Energy », ACM Transactions on Architecture and Code Optimization, ACM,‎ , p. 1-26 (ISSN 1544-3566, DOI 10.1145/2669556, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Leon O. Chua, « Memristor-The missing circuit element », IEEE Transactions on Circuit Theory (Volume 18), IEEE,‎ , p. 507-519 (ISSN 0018-9324, DOI 10.1109/TCT.1971.1083337, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) R. Stanley Williams, « How We Found The Missing Memristor », IEEE Spectrum (Volume 45), IEEE,‎ , p. 29-35 (ISSN 0018-9235, DOI 10.1109/MSPEC.2008.4687366, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yasmin Halawani, Baker Mohammad, Dirar Homouz, Mahmoud Al-Qutayri et Hani Saleh, « Modeling and Optimization of Memristor and STT-RAM-Based Memory for Low-Power Applications », IEEE Transactions on Very Large Scale Integration (VLSI) Systems (Volume 24, Issue 3), IEEE,‎ , p. 1003-1014 (ISSN 1063-8210, DOI 10.1109/TVLSI.2015.2440392, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Yasmin Halawani, Baker Mohammad, Dirar Homouz, Mahmoud Al-Qutayri et Hani Saleh, « Embedded Memory Design Using Memristor », Electronics, Circuits, and Systems (ICECS), 2013 IEEE 20th International Conference on, IEEE,‎ 11-18 décembre 2013, p. 41-44 (ISBN 978-1-4799-2452-3, DOI 10.1109/ICECS.2013.6815340, lire en ligne). Ouvrage utilisé pour la rédaction de l'article
  • (en) Wang Kang, Zhaohao Wang, He Zhang, Sai Li, Youguang Zhang et Weisheng Zhao, « Advanced Low Power Spintronic Memories beyond STT-MRAM », GLSVLSI '17 Proceedings of the on Great Lakes Symposium on VLSI 2017, ACM,‎ , p. 299-304 (ISBN 978-1-4503-4972-7, DOI 10.1145/3060403.3060589, lire en ligne). Ouvrage utilisé pour la rédaction de l'article

Liens externes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]