3. - fonction en ligne
- déroulement de boucles
* protocole:
Techniques de conception hybrides:
* la mise en veille de périphériques
* Politiques d’endormissement :
L’adaptation dynamique de la vitesse du processeur:
* Inhibition d’horloge
* Adaptation de voltage
5. La gestion de l'alimentation est devenue un enjeu
majeur dans la conception de puces multi-cœurs. Il
existe de nombreux effets négatifs qui résultent de
l'augmentation de la consommation d'énergie tels que
les propriétés thermiques instables de la filière et
donc affecter la performance du système ce qui fait
question de la consommation d'énergie parfois plus
importante que la vitesse.
6. Un autre problème souvent rencontré pour les
systèmes embarqués est celui de l’autonomie de
fonctionnement du système.
pour résoudre ces problèmes , seules deux méthodes
existent : augmenter la quantité d’énergie
embarqué ou diminuer la consommation du
système.
La première solution est difficile à réaliser car malgré
les progrès effectués dans ce domaine il est toujours
7. difficile d’augmenter la capacité d’une batterie sans
augmenter son poids , son volume et son prix.
La seconde solution a donner lieu à plusieurs techniques
utilisées pour concevoir un système embarqué à faible
consommation.
Ces techniques sont regroupées en trois catégories: les
techniques matérielles, logicielles et en fin les
techniques de conception hybrides requérant une
collaboration entre matérielle et logicielle.
9. Technologie de composants :
L’augmentation de la fréquence de fonctionnement du
processeur et la réduction de la taille de circuit causent
une élévation de puissance , les problèmes de sur-
chauffage des composants.. donc pour résoudre ces
problèmes on s’intéresse à ces 3 techniques :
11. Au cours de ces dernier années, la tension est
diminué de 5v jusqu’à 3.3v et certain système
descende jusqu’à 1.1v, ceci est due aux progrès de la
conception et l’amélioration des technique de
fabrication. Cette diminution agit sur les transistors
et le courant de fuite qui ont un impact de plus en
plus important sur la consommation de l’énergie.
12. consiste à limiter l’alimentation d’un composant à un
bloc nécessaire au traitement en cours.
Généralement utilisée pour diminuer la consommation
des caches « sub-banking » en divisant la mémoire
cache en blocs pour être activés indépendamment les
uns au autres, le seul bloc correspondant sera activé.
Activation séparés :
13. Chaque changement de bit entraine une consommation
due à la capacité de la piste qui subit ce changement.
Donc on cherche à diminuer le basculement de bit en
optimisant la réutilisation des informations déjà
présentent sur les bus.
Basculement de bit :
14. Autre méthode pour réduire les changements de
bits est utiliser le codage de gray pour les
adressages mémoires consiste à changer un seul
bit entre un nombre et son successeur.
15. Architectures des matériels :
L’optimisation de système s’effectue au niveau de choix
d’une architecture générale telle que :
•Choix de périphérique : exemple concernant la
mémoire masse le périphérique le plus courant est le
disque dur mais il est très gourmand en énergie
16. On peut le remplacer par la mémoire flash qui
conserve les données même en dehors d’alimentation
et ont presque les mêmes caractéristiques.
• Dimensionnement : la dimension du périphérique
influence sur la consommation. Exemple plus que la
taille de cache est importante plus qu’elle consomme.
18. Ces techniques consistent à modifier le code à
exécuter afin de diminuer la consommation
induite,
Il est difficile d’évaluer le cout énergétique d’une
instruction a cause de l’utilisation de pipeline donc
on calcule la valeur moyenne de cout énergétique
d’une instruction.
19. Optimisation du code:
La relation entre les instructions et la consommation
énergétique c’est que plus le nombre des instructions
est élevé plus la consommation est importante.
Le développement de code se fait avec les langages :
20. *Bas niveau (assembleur) : limités aux applications
ayant les contraintes fortes sur leurs performances et
leurs fiabilités.
*Haut niveau (exemple c) :on peut remplacer les
opérations mémoire à mémoire en opérations
registre à registre c’est moins couteux en énergie ceci
permet d’optimiser 40% la consommation totale de
programme, on peut citer parmi les techniques :
21. Fonction en ligne :
consiste à recopier le code d’une fonction à
l’endroit où elle est invoquée plutôt que d’insérer
une procédure d’appel de fonction (appel de fonction
est couteux :stockage des paramètres, création d’un
nouveau contexte , exécution de la fonction,
destruction du contexte , destruction des paramètres)
22. cette technique diminue le nombre d’appel des
fonctions imbriqués donc avoir des instructions
exécutées sur des registres plutôt que des
instructions sur mémoire permettant d’obtenir un
code moins gourmand en énergie.
23. Déroulement de boucles :
une boucle est constituée d’une partie de traitement
et une partie de contrôle(responsable du compteurs
et les conditions d’arrêt). Cette technique sert à
recopier le code à traiter plusieurs fois donc le
temps passé dans le code de contrôle diminue d’où
la diminution de consommation.
24. Protocole :
la modification du protocole de communication peut
diminuer la consommation selon deux techniques:
•regrouper les données à émettre afin de diminuer
le nombre d’émission /réception.
• la mise en veille du récepteur .
26. Les techniques hybrides ou combinés sont basées sur
une collaboration entre les composants matériels et
les composants logiciels .
les mécanismes utilisés pour diminuer la
consommation proviennent des capacité du matériel
mais la décision d’activer ou pas ces mécanismes sont
prises par le logiciel car il peut effectuer des choix
plus pertinents.
27. citant les deux techniques : la mise en veille de
périphériques et les Politiques
d’endormissement
28. la mise en veille de périphériques:
Consiste à désactiver certains périphériques ou
certaines parties de périphériques lorsque le système
n’en a pas l’usage pendant un certain temps, ces
différentes états de veille correspondent à des niveaux de
consommation différentes, fonctions de l’activation ou la
désactivation des sous-systèmes du périphérique.
29. Politiques d’endormissement :
sert aussi à mettre en veille les périphériques.
cette technique est basée sur les délais de garde
c-à-d l’OS met un délai de garde à la fin de
l’utilisation de périphérique donc si ce dernier est
utilisé avant l’expiration de délai alors il est réarmé
à sa valeur initial si non il se met en veille.
31. Les processeurs actuels ont des capacités de traitement
de plus en plus importante, cet accroissement de
puissance de calcul provoque une augmentation de
consommation.
Le fonctionnement du processeur est constitué de
périodes de traitement et de périodes d’inactivité, et
pendant cette dernière le processeur continue à
consommer l’énergie
32. Il existe deux méthodes pour résoudre cette perte:
Inhibition d’horloge :
Consiste à éviter le traitement de signaux d’horloge
pendant la période d’inactivité du processeur en
diminuant la fréquence moyenne.
33.
34. Adaptation de voltage :
Consiste à déterminer dynamiquement la
fréquence requise pour que le processeur puisse
effectuer correctement ses traitements en cours,
ceci est possible en ajustant la fréquence de
fonctionnement du processeur à la quantité du
traitement en cours.
Alpha masque les phénomènes complexes de fonctionnement du processeur, l’un d’eux est le basculement de bits.
Il y a autre méthode consiste à utiliser plusieurs tensions d’alimentation en fonction des besoins des différent blocs, la description de comportement d’un composant est assurer par RTL (register level transfer)
Mémoire flash: carte mémoire , flash disque
(quand les stations sont à l’écoute des trames circulant sur le réseau il y a consommation importante d’energie , or cette consommation est unitile si aucune émission n’est destiné au récepteur en question)
Les périphériques se contentent généralement d’implémenter des mécanismes pour supporter plusieurs états de foctionnement
( la consommation due a la propagation du signal d’horloge présente 40% de la consommation totale de processeur)
Cette figure montre comment a partir d’un signal d’horloge original on peut arriver a diviser par deux la frequence de fonctionnement d’un composant.