FR2943807A1 - Dispositif de commande d'alimentation d'un calculateur - Google Patents

Dispositif de commande d'alimentation d'un calculateur Download PDF

Info

Publication number
FR2943807A1
FR2943807A1 FR0904686A FR0904686A FR2943807A1 FR 2943807 A1 FR2943807 A1 FR 2943807A1 FR 0904686 A FR0904686 A FR 0904686A FR 0904686 A FR0904686 A FR 0904686A FR 2943807 A1 FR2943807 A1 FR 2943807A1
Authority
FR
France
Prior art keywords
data
reference speed
calculation unit
computer
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR0904686A
Other languages
English (en)
Inventor
Sylvain Durand
Nicolas Marchand
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centre National de la Recherche Scientifique CNRS
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Centre National de la Recherche Scientifique CNRS
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Centre National de la Recherche Scientifique CNRS
Priority to FR0904686A priority Critical patent/FR2943807A1/fr
Priority to CN2010800146751A priority patent/CN102378949A/zh
Priority to JP2012502730A priority patent/JP5519769B2/ja
Priority to EP10713694A priority patent/EP2414909A2/fr
Priority to US13/262,087 priority patent/US20120110361A1/en
Priority to PCT/FR2010/000264 priority patent/WO2010112700A2/fr
Publication of FR2943807A1 publication Critical patent/FR2943807A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

Un dispositif de commande d'un calculateur (4) propre à être alimenté sur plusieurs niveaux de tension, comprend un contrôleur (2) agencé pour recevoir des données de charge (Ci), d'échéance (Ni), et de vitesse instantanée (w) pour ledit calculateur (4), pour calculer une vitesse de référence qui permet audit calculateur d'exécuter une quantité de calculs tirée des données de charge (Ci) dans une durée tirée des données d'échéance (Ni), et pour calculer un niveau de tension (V_lvl) et une fréquence opérationnelle (f_op) de commande pour ledit calculateur à partir de la vitesse de référence. Au moins un élément parmi la vitesse de référence et la fréquence opérationnelle (f_op) est calculé à partir des données de vitesse instantanée (w).

Description

INRIA106-PLFRD 1 Dispositif de commande d'alimentation d'un calculateur
L'invention concerne un dispositif de commande d'alimentation d'un calculateur.
Le milieu des circuits électroniques et des composants qui s'y rapportent est un domaine qui a connu un essor particulièrement important.
Au départ, les circuits intégrés étaient de taille importante, et étaient constitués de puces ou processeurs plus ou moins importants regroupés sur des cartes imprimées. Les progrès de miniaturisation ont permis d'évoluer vers des puces de la taille d'un microprocesseur qui contient diverses parties ou IP .
Ces circuits intégrés sont communément appelés System on Chip (système sur puce 15 en français) ou SoC.
Ces circuits intégrés sont particulièrement intéressants car ils permettent, dans une taille très réduite, de renfermer un ensemble de fonctionnalités extrêmement variées.
20 En outre, le fait de placer tous les éléments du circuit sur une seule puce réduit la consommation du système.
Pour réduire la consommation des puces, des travaux ont été développés pour ajuster, avant l'exécution d'une charge, la tension et la fréquence opérationnelles. Cependant, 25 cette adaptation n'est pas dynamique, c'est-à-dire que la tension et la fréquence ne varient pas pendant le traitement d'une tâche donnée. Cela n'est pas adapté, notamment lorsque la charge est mal évaluée, ou lorsqu'elle est susceptible de varier.
L'invention vient améliorer la situation. A cet effet, l'invention propose un dispositif de commande d'un calculateur propre à être alimenté sur plusieurs niveaux de tension, comprenant un contrôleur agencé pour 30
recevoir des données de charge, d'échéance, et de vitesse instantanée pour ledit calculateur, pour calculer une vitesse de référence qui permet audit calculateur d'exécuter une quantité de calculs tirée des données de charge dans une durée tirée des données d'échéance, et pour calculer un niveau de tension et une fréquence opérationnelle de commande pour ledit calculateur à partir de la vitesse de référence.
Dans ce dispositif, au moins un élément parmi la vitesse de référence et la fréquence opérationnelle est calculé à partir des données de vitesse instantanée.
Ce dispositif est particulièrement avantageux car il permet d'émettre des commandes d'alimentation qui sont adaptées aux besoins logiques émis par le système d'exploitation qui utilise le calculateur, tout en optimisant au maximum la consommation énergétique du calculateur.
D' autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels : - la figure 1 représente une vue générique d'un dispositif de commande d'alimentation selon l'invention, - la figure 2 représente un diagramme schématique d'une boucle de fonctionnement du dispositif de la figure 1, - la figure 3 représente un premier mode de réalisation en variante du dispositif de la figure 1, - la figure 4 représente un deuxième mode de réalisation en variante du dispositif de la 25 figure 1, - la figure 5 représente un troisième mode de réalisation en variante du dispositif de la figure 1, - la figure 6 représente un quatrième mode de réalisation en variante du dispositif de la figure 1, 30 - la figure 7 représente un autre mode de réalisation adapté pour fonctionner avec un calculateur comportant plusieurs coeurs, et - la figure 8 représente un mode de réalisation en variante du dispositif de la figure 7. a Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
En outre, la description détaillée est augmentée de l'Annexe A, qui donne la formulation de certaines formules mathématiques mises en oeuvre dans le cadre de l'invention. Cette Annexe est mise à part dans un but de clarification, et pour faciliter les renvois. Elle est partie intégrante de la description, et pourra donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.
L'invention trouve une application particulière dans les circuits CMOS. Dans ces circuits, trois sources principales de consommation d'énergie existent : la commutation des portes électriques du circuit, - les courants de court-circuit, et - les courants de fuite.
La puissance instantanée d'un circuit donné peut donc être vue comme la somme de ces trois puissances, ce qui est reflété par la formule (10) de l'Annexe A.
Cette formule fait apparaître le rôle prépondérant de la tension d'alimentation V du circuit. Une solution pour réduire la consommation est donc de baisser la tension.
Cependant, cela a également pour conséquence d'augmenter fortement le temps de propagation des portes du circuit, ce qui baisse donc la vitesse d'exécution des tâches 25 par le circuit.
Cela signifie qu'en fonction du temps critique, qui est le temps maximal qu'une instruction donnée peut mettre pour être traitée par le circuit, il faudra baisser la fréquence du circuit, de manière à assurer que toutes les instructions sont exécutées 30 avant le cycle d'horloge suivant. d Dans les travaux antérieurs, il n'existe pas de gestion automatisée de ce type d'ajustement pour obtenir des économies d'énergie.
On a représenté sur la figure 1 un dispositif de commande d'alimentation 2 selon 5 l'invention. Le dispositif 2 commande l'alimentation d'un calculateur 4.
Par calculateur, on entend tout système électronique susceptible de réaliser des opérations logiques à fait de traitement de données ou de calcul. Par exemple, cela inclut de manière non limitatives les processeurs, les microprocesseurs, les puces SoC, 10 les puces programmables de type FPGA et autres.
Comme cela est représenté sur la figure 1, le dispositif de commande d'alimentation 2 reçoit des données Ci et Ni d'une part et des données w d'autre part.
15 Les données Ci et Ni représentent respectivement des données de charge pour le calculateur 4, et des données d'échéance pour les données de charge.
Les données Ci et Ni sont reçues par le dispositif de commande d'alimentation 2 depuis une couche logique de plus haut niveau, par exemple depuis le système d'exploitation 20 qui exploite le calculateur 4.
Les données w qui sont reçues par le dispositif de commande d'alimentation 2 représentent la vitesse de traitement opérationnelle du calculateur 4.
25 Cette vitesse de traitement opérationnelle est utilisée par le dispositif de commande d'alimentation 2 comme information de rétroaction pour éviter toute dérive par rapport aux consignes qu'il émet.
Le calculateur 4 peut être commandé en tension et en fréquence. En fait, le calculateur 4 30 peut opérer à différents niveaux de tension, à chaque niveau de tension correspondant une plage de fréquences opérationnelles possibles. 0( Ce niveau de tension V_lvl et la fréquence opérationnelle f op sont des sorties du dispositif de commande d'alimentation 2. La vitesse de traitement (dont sont issues les données w) et la puissance consommée par le calculateur 4 découlent de la fréquence opérationnelle f op utilisée ainsi que de la tension d'alimentation V_lvl (ou niveau d'alimentation) du calculateur 4, comme cela a été vu avec l'équation 10. Le calculateur 4 opère par cycles d'horloge commandés par la fréquence opérationnelle 10 f op. Le dispositif de commande d'alimentation 2 fonctionne de manière similaire. Le dispositif de commande d'alimentation 2 fonctionne par période de temps Ts, chaque période correspondant à la durée entre deux calculs de commande successifs. La période Ts est d'une manière générale de l'ordre de plusieurs cycles d'horloge du calculateur 4. En effet, il serait peu efficace de contrôler l'alimentation du calculateur 4 à chaque cycle d'horloge. Entre deux périodes, le dispositif de commande 2 émet les commandes de niveau de tension et de fréquence opérationnelles calculées à la période précédente.
20 La période Ts du dispositif de commande d'alimentation 2 peut être un paramètre fixe qui est choisi en fonction du calculateur 4.
Cette période peut aussi être adaptée dynamiquement, c'est-à-dire qu'elle peut être fixée à un multiple de la durée d'un cycle du calculateur 4. Dans l'exemple décrit ici, le 25 multiplicateur a pour valeur `10' (dix). Cependant, cette valeur pourrait être fixée à des multiples supérieurs.
Ainsi, à chaque période de calcul, le dispositif de commande d'alimentation 2 analyse les données Ci, Ni, et w, et retourne en sortie les données f op et V_lvl au calculateur 4. On notera que, dans l'exemple décrit ici, le dispositif de commande d'alimentation 2 envoie des données de commande d'alimentation, et pas l'alimentation en elle-même. 15 30 La partie du circuit chargée d'alimenter le calculateur 4 sur la base des données de commande issue du dispositif de commande d'alimentation 2 n'est pas abordée ici.
La figure 2 représente une boucle de fonctionnement du dispositif de commande 5 d'alimentation 2. Comme on l'a vu plus haut, le dispositif de commande d'alimentation 2 fonctionne par périodes de calcul.
La boucle de fonctionnement du dispositif de commande d'alimentation 2 commence donc par une opération 20 dans laquelle les données Ci, Ni et w qui vont servir sont 10 reçues.
Ensuite, dans une opération 30, le dispositif de commande d'alimentation 2 calcule une vitesse de référence w_ref.
15 Les travaux de la Demanderesse ont révélé que, pour minimiser la consommation d'énergie du calculateur 4 pour une charge de traitement donnée qui doit être réalisée dans une durée donnée, le paramètre de fonctionnement du calculateur 4 le plus crucial à contrôler est le niveau de tension. Ces travaux ont également révélé qu'il est dangereux de trop baisser la tension car il y a des risques de ne pas finir la charge de 20 calcul à l'échéance.
Le dispositif de commande d'alimentation 2 va donc mettre en oeuvre une commande dynamique de l'alimentation du calculateur 4 de manière à respecter les consignes suivantes : 25 - finir la charge de calcul avant l'échéance, et minimiser au maximum la tension utilisée pendant ce calcul.
Pour cela, le dispositif de commande d'alimentation 2 commence à chaque période par calculer quelle est la vitesse de traitement moyenne que devrait avoir le 30 calculateur 4 pour finir à l'échéance désignée par les données Ni la charge de calcul désignée par les données Ci.
Ensuite, cette vitesse moyenne est optimisée d'un point de vue consommation énergétique pour obtenir une vitesse de référence w_ref.
La vitesse moyenne est ici appelée delta. Pour calculer la vitesse delta, il faut appliquer l'équation 20.
Comme le montre l'équation 20, la vitesse moyenne est la quantité de calcul qui reste à traiter, c'est-à-dire la charge tirée des données Ci moins la quantité de calcul qui a déjà été traitée, c'est-à-dire la somme des vitesses instantanées w reçues multipliées par le 10 pas de temps du dispositif de commande d'alimentation 2, divisée par le temps Li qui reste avant l'échéance, qui est désignée par les données Ni.
De fait, l'équation 20 revient à écrire que la vitesse moyenne à avoir est la quantité de données à calculer moins la quantité déjà calculée, le tout divisé par le temps restant. Les équations 30 et 32 montrent l'application de l'équation 20 au cas particulier du fonctionnement par périodes du dispositif d'alimentation 2.
Une fois cette vitesse moyenne calculée, le dispositif de commande d'alimentation 2 va 20 déterminer la vitesse de référence w_ref.
Le principe de la vitesse de référence est de constater qu'il est avantageux de fonctionner à fréquence maximale pour un niveau de tension donné, pour pouvoir descendre de niveau de tension le plus tôt possible. Ainsi, une fois la vitesse moyenne delta calculée, le dispositif de commande d'alimentation 2 détermine si cette vitesse correspond à la plage de fréquences du niveau de tension établi à la période précédente. 15 25 30 Si c'est le cas, il détermine si cette plage correspond au niveau de tension le plus bas.
Si c'est le cas, alors w_ref reçoit delta. Sinon, alors w_ref reçoit la fréquence maximale de cette plage.
Si la vitesse delta ne correspond pas à la plage de fréquences du niveau de tension établi à la période précédente, le dispositif de commande d'alimentation 2 détermine le niveau de tension qui correspond à la vitesse moyenne delta.
Cela peut par exemple être fait par comparaisons successives de la vitesse moyenne delta avec la vitesse maximum de chaque niveau de tension décroissant à partir du 10 niveau le plus haut.
Dans ce cas, le niveau de tension approprié est celui pour lequel la vitesse moyenne delta est juste inférieure à la vitesse maximum, et supérieure à la vitesse maximum du niveau de tension suivant. Bien sûr, de nombreuses autres méthodes peuvent être mises en oeuvre pour déterminer le niveau de tension auquel correspond la vitesse moyenne delta.
Une fois ce niveau de tension déterminé, le dispositif de commande d'alimentation 2 20 procède de manière identique à ce qui a été décrit ci-dessus pour calculer la valeur de la vitesse de référence w_ref.
Ensuite, dans une opération 40, le dispositif de commande d'alimentation 2 calcule la fréquence opérationnelle f op qui correspond à la vitesse de référence w_ref, et en 25 déduit le niveau de tension V_lvl correspondant.
Le calcul de la fréquence opération f op à partir de la vitesse de référence w_ref permet de s'assurer que le calculateur 4 fonctionnera le minimum de temps possible à une tension élevée pour l'exécution de la charge de calcul désignée par les données Ci. 15 30 a Dans le mode de réalisation de la figure 1, le dispositif de commande d'alimentation 2 utilise les données W pour calculer la fréquence opérationnelle f op, en utilisant un système d'ordre 1, selon les équations 40 et 42.
L'équation 40 montre le calcul de l'erreur entre la vitesse de référence w_ref et la vitesse instantanée w reçue du calculateur 4, et l'équation 42 montre comment cette erreur est utilisée pour calculer la fréquence opérationnelle f op du pas de temps suivant.
On notera que Ts représente la période du dispositif de commande d'alimentation 2, et K est un gain.
La figure 3 représente un mode de réalisation en variante du dispositif de commande d'alimentation 2. Dans ce mode de réalisation, le calcul de la vitesse de référence w_ref est séparé de celui de la fréquence opérationnelle f op et du niveau de tension V_lvl.
Le dispositif de commande d'alimentation 2 comporte ainsi une unité de calcul de 20 vitesse de référence 6 et une unité de calcul de commande 8.
Comme cela apparaît sur les dessins, l'unité de calcul de vitesse de référence 6 reçoit les données Ci, Ni et w, et retourne la vitesse de référence w_ref.
25 Pour sa part, l'unité de calcul de commande 8 reçoit la vitesse de référence w_ref et les données w, et retourne en sortie les données de fréquence opérationnelle f op et de niveau de tension V lvl.
Dans l'exemple décrit ici, le calculateur 4 est commandé sur deux niveaux de tension, 30 respectivement nommés Vlo (le plus bas) et Vhi (le plus haut). a( Ici, la partie de l'opération 30 qui détermine la vitesse w_ref revient à comparer la vitesse moyenne delta à la valeur maximale de la fréquence pour le niveau de tension Vlo. Si delta est supérieur à cette valeur, alors w_ref reçoit la valeur maximale de fréquence du niveau Vhi, et sinon w_ref reçoit delta.
Le fait de boucler les données w à la fois au niveau de l'unité de calcul de vitesse de référence 6 et au niveau de l'unité de calcul de commande 8 permet d'être plus efficace lorsque le nombre de cycles d'horloge utilisés par l'unité de calcul de vitesse de référence 6 pour déterminer la vitesse de référence w_ref est très élevé.
L'unité de calcul de commande 8 peut donc utiliser les données les plus récentes pour établir la fréquence opérationnelle f op et le niveau de tension V_lvl, ce qui assure de meilleures performances.
15 Le dispositif de commande d'alimentation représenté sur la figure 4 représente une variante du dispositif de la figure 3 dans lequel les données w sont uniquement reçues par l'unité de calcul de vitesse de référence 6, et sont transmises à l'unité de calcul de commande 8.
20 Ce mode de réalisation est potentiellement moins performant car l'unité de calcul de commande 8 peut fonctionner avec des données w un peu moins récentes que dans le cas de la figure 3. Cependant, ce mode de réalisation présente l'avantage d'être plus simple à fabriquer et à mettre en oeuvre.
25 Le dispositif de commande d'alimentation représenté sur la figure 5 représente une variante encore plus simplifiée du dispositif de commande de la figure 3, dans lequel les données de vitesse instantanée w ne sont transmises qu'à l'unité de calcul de vitesse de référence 6, l'unité de calcul de commande 8 ne recevant ici que les données de vitesse de référence w_ref. 10 30 Dans ce cas, l'opération 40 est simplifiée grandement, puisque la fréquence opérationnelle f op est fixée avec la valeur w_ref, et le niveau de tension V_lvl directement déduit de cette valeur.
Ce mode de réalisation offre des performances encore un peu plus faibles en termes énergétiques. En revanche, il permet une fabrication et une mise en oeuvre d'une simplicité remarquable.
Le mode de réalisation représenté sur la figure 6 est une variante dans laquelle seule 10 l'unité de calcul de commande 8 reçoit les données de vitesse instantanée w.
Dans ce cas, l'unité de calcul de vitesse de référence 6 ne reçoit que les données de vitesse de référence w_ref qu'elle a précédemment calculé.
15 Pour éviter toute dérive, le calcul de la fréquence opérationnelle f op de l'opération 40 mise en oeuvre par l'unité de calcul de commande 8 est rendu plus robuste, avec l'emploi d'un système d'ordre 2.
Pour cela, une première erreur est calculée selon la formule 50, et cette erreur est 20 intégrée sur la période de l'unité de calcul de vitesse de référence 6 selon la formule 52.
Ensuite, la fréquence opérationnelle f op est déterminée au moyen de la formule 54, dans laquelle r représente la constante de temps du système une fois bouclé, et K est le gain.
La figure 7 représente un dispositif 2 adapté à la commande d'un calculateur 14 qui comprend plusieurs coeurs. Cela signifie que, au sein du calculateur 14, celui-ci renferme dans l'exemple décrit quatre unités de calcul semblables au calculateur 4 pouvant être adressées de manière indépendante. 25 30 d Le calculateur 14 pourra dans d'autres modes de réalisations comprendre autant de coeurs que nécessaires, c'est-à-dire au moins deux et plus que quatre, par exemple 32 ou plus.
Dans ce cadre, un problème d'alimentation encore plus aigu se pose. En effet, il n'est pas raisonnable d'alimenter chaque coeur du calculateur 14 chacun avec un couple niveau de tension/fréquence qui lui est propre.
Il n'est donc pas envisageable de simplement répliquer l'architecture de base autant de 10 fois qu'il y a de coeurs dans le calculateur 14.
Une première approche pour résoudre ce problème est de chercher un niveau de tension et de fréquence qui constitue un "consensus". Cependant, cela n'est pas acceptable, car une tâche critique ne peut alors pas être exécutée à temps. Une deuxième approche est alors de faire fonctionner tous les coeurs au niveau de tension et à la fréquence de la tâche la plus critique. Cependant, cela a tendance à anéantir les gains énergétiques.
20 La Demanderesse a établi un compromis entre ces deux solutions.
Pour cela, un limiteur 10 est introduit dans le dispositif 2. Le limiteur 10 a pour fonction de calculer pour chaque coeur le ratio entre la fréquence de la tâche la plus critique de toutes les tâches et la fréquence que ce coeur devrait utiliser pour mettre en oeuvre sa 25 tâche dans le cas mono-coeur.
Au niveau du calculateur 14, les ratios déterminés par le limiteur 10 sont utilisés pour que chaque coeur réalise sa tâche à une vitesse qui correspond sensiblement à celle qu'il aurait utilisée dans le cas mono-coeur. Pour cela, le calculateur 14 peut intégrer une solution matérielle par le biais d'une électronique spécifique qui suspend l'horloge des noeuds 4 du calculateur 14. 15 30 Ainsi, chaque coeur fonctionne comme en mode mono-coeur, mais à un niveau de tension qui peut être plus élevé (cela dépend de la tâche critique).
Cette électronique (appelée "clock-gating" ou "pause d'horloge") permet la transmission ou la non transmission des fronts d'horloge aux différents noeuds 4 du calculateur 14 et peut être réalisée par exemple à l'aide d'une porte ET.
En variante, l'électronique peut être remplacée par une solution logicielle. Ainsi, plutôt que de moduler la fréquence de chaque coeur, on va les "endormir" sélectivement, de sorte que sur une quantité importante de cycles, chaque coeur réalise sa tâche à une vitesse qui correspond sensiblement à celle qu'il aurait utilisée dans le cas mono-coeur.
Cela est réalisé par l'ajout d'instructions au fil de l'eau appelées "No Op", c'est-à-dire 15 des requêtes qui demandent au coeur concerné de ne rien faire.
Cette variante présente l'avantage d'être plus évolutive, car logicielle. Cela signifie qu'une mise à jour du microprogramme permettrait de la faire évoluer.
20 Cependant, elle est moins avantageuse car elle limite la modulation de fréquence à une fraction de la fréquence de fonctionnement : un demi (un No Op pour chaque opération), un tiers (deux No Ops pour chaque opération), un quart (trois No Ops pour chaque opération), etc.
25 Il reste possible de sophistiquer cette dernière solution pour obtenir n'importe quel nombre rationnel, mais alors les gains en termes de simplification d'architecture sont réduits.
Dans le mode de réalisation décrit sur la figure 7, le calcul de vitesse de référence 6 et 30 l'unité de calcul de commande 8 sont répliquées autant de fois qu'il y a de coeurs. Il en résulte que les données de vitesses instantanées sont un multiplet w_m et les données de vitesse de référence w_m_ref sont également un multiplet.
En sortie, l'unité de calcul de commande 8 émet un multiplet de fréquences f m et un multiplet de niveaux de tension V_m.
Le limiteur 10 est disposé en sortie de l'unité de calcul de commande 8. Il reçoit donc le multiplet de fréquence f m et le multiplet de niveaux de tension V_m. Dans un premier temps, le limiteur 10 va comparer toutes les fréquences du multiplet f m et sélectionne la plus élevée. Cette fréquence sera transmise comme consigne f op 10 au calculateur 14 et le coeur correspondant est appelé coeur critique. Ensuite, le limiteur 10 sélectionne le niveau de tension du multiplet V_m qui correspond au coeur critique désigné précédemment. Ce niveau de tension sera transmis comme consigne V_lvl au calculateur 14. Enfin, le limiteur 10 calcule un multiplet rat_m qui contient le ratio entre chacune des fréquences du multiplet f m et la fréquence f op.
Dans le cas où c'est la solution logicielle qui est retenue pour abaisser la fréquence des 20 coeurs, il conviendra d'appliquer le ratio qui assure la finition de la tâche, même s'il est moins favorable énergétiquement.
Ainsi, si on trouve un ratio supérieur à deux mais inférieur à trois, il faudra choisir un ratio de 1/2. Par ailleurs, il est important que les fréquences des différents blocs soient bien synchronisées. En effet, comme la baisse de fréquence des coeurs est obtenue par ajout d'instructions fictives, il ne faut pas que les consignes soient mises à jour trop souvent ou trop lentement. 30 La Demanderesse a identifié qu'un ordre de grandeur de l'ordre de 1000 est avantageux dans le cadre de l'invention. 15 25 Ainsi, le système qui commande les tâches envoyées au calculateur opèrera avec une fréquence de l'ordre de 1kHz, le dispositif de commande de l'invention opèrera avec une fréquence de l'ordre de 1MHz, et le calculateur à proprement parler opèrera avec une fréquence de l'ordre de 1GHz. Cependant, d'autres ordres de grandeur peuvent être utilisés en fonction des délais accordés pour traiter les tâches, par exemple 10, 100, ou plus de 1000.
On comprend bien au vu de ce qui précède que l'invention concerne la mise en oeuvre 10 d'une commande d'alimentation d'un système électronique qui effectue des calculs.
Dans les exemples décrits, cette commande est rendue dynamique et adaptative grâce à l'utilisation de systèmes d'ordres 1 et 2. Par système d'ordres 1 et 2, on entend un système dont la fonction qui réalise le calcul de la commande comprend un polynôme 15 dont le monôme de plus haut degré est 1 ou 2. Des systèmes d'ordre supérieur pourraient également être utilisés.
En outre, le dispositif de commande d'alimentation 2 a été décrit ici comme un élément externe aux calculateurs 4 et 14, et distincts de celui-ci. Cela signifie que les calculs qui 20 sont mis en oeuvre pour calculer la commande d'alimentation ne sont pas réalisés au sein du calculateur.
Cependant, dans certaines applications, le dispositif de commande d'alimentation 2 pourrait être intégré au calculateur, et la mise en oeuvre des calculs de la commande 25 d'alimentation pourraient alors être réalisés par le calculateur 4 ou 14, la commande tenant compte de cette surcharge de calcul.
En outre, la Demanderesse a décrit un dispositif de commande d'alimentation dans lequel le calculateur peut être alimenté sur plusieurs niveaux. Un exemple particulier a 30 été décrit pour une alimentation à deux niveaux de tension.5 Dans ces exemples, pour déterminer un niveau de tension approprié pour la vitesse moyenne delta, il est décrit une boucle de montée/descente de niveau de tension pour déterminer la plage de fréquences adaptée.
D'autres méthodes pourraient être mises en oeuvre, comme le stockage d'une table des plages de fréquences par niveau de tension, et l'accès à cette table pour en tirer le niveau de tension adapté.
Enfin, la Demanderesse a décrit un dispositif dans lequel la fréquence opérationnelle est 10 calculée de manière continue. Il serait néanmoins possible d'appliquer ce qui précède pour fonctionner en fréquence discrète.
Il s'agit alors de déterminer un niveau de fréquence au lieu d'une valeur de fréquence continue, de manière similaire à ce qui a été décrit pour le calcul du niveau de tension. 15 Dans ce cas, le contrôleur 2 peut être simplifié pour ne plus contenir qu'un seul bloc de calcul des niveaux de fréquence et de tension, c'est-à-dire que les unités 6 et 8 peuvent être fusionnées.
ANNEXE A P = Pportes = + K..- V + "f.ire. V (10) t = Ça-j(t dt (20) Me (tt) = ( (30) 6(tk4.1 ) = gtk)ùn (32) Li (rk) g ( k ù w(k) (40) (k - 1) + Tr K...E(k (42). z(k = (50) E(ic ù 1) + Te (k) (52) T, (k ù 1) K E(k E (k) (54) 4

Claims (9)

  1. Revendications1. Dispositif de commande d'un calculateur (4) propre à être alimenté sur plusieurs niveaux de tension, comprenant un contrôleur (2) agencé pour recevoir des données de charge (Ci), d'échéance (Ni), et de vitesse instantanée (w) pour ledit calculateur (4), pour calculer une vitesse de référence (w_ref) qui permet audit calculateur d'exécuter une quantité de calculs tirée des données de charge (Ci) dans une durée tirée des données d'échéance (Ni), et pour calculer un niveau de tension (V_lvl) et une fréquence opérationnelle (f op) de commande pour ledit calculateur à partir de la vitesse de référence, au moins un élément parmi la vitesse de référence (w_ref) et la fréquence opérationnelle (f op) étant calculé à partir des données de vitesse instantanée (w).
  2. 2. Dispositif selon la revendication 1, dans lequel le contrôleur comprend une unité de calcul de vitesse de référence (6) pour calculer la vitesse de référence et une unité de calcul de commande pour calculer la fréquence opérationnelle et le niveau de tension.
  3. 3. Dispositif selon la revendication 2, comprenant en outre un limiteur. (10), le calculateur (14) comprenant plusieurs coeurs (4), dans lequel le limiteur (10) détermine la vitesse de référence (w_ref) pour celui des coeurs qui présente la tâche la plus critique, ainsi qu'un multiplet de ratios de fréquence pour l'exécution des tâches des autres coeurs du calculateur (14).
  4. 4. Dispositif selon la revendication 3, dans lequel le limiteur (10) est disposé entre l'unité de calcul de vitesse de référence (6) et l'unité de calcul de commande (8).
  5. 5. Dispositif selon la revendication 3, dans lequel le limiteur (10) est disposé en aval de l'unité de calcul de commande (8).
  6. 6. Dispositif selon l'une des revendications 2 à 5, dans lequel l'unité de calcul de commande (8) calcule la fréquence opérationnelle (f op) à partir des données de vitesse instantanée (w) avec un système d'ordre 1.
  7. 7. Dispositif selon la revendication 6, dans lequel l'unité de calcul de vitesse de référence (6) calcule la vitesse de référence (w_ref) à partir des données de vitesse instantanée (w). 18 G'
  8. 8. Dispositif selon la revendication 7, dans lequel les données de vitesse instantanée (w) sont transmises à l'unité de calcul de commande (8) par l'unité de calcul de vitesse de référence (6).
  9. 9. Dispositif selon l'une des revendications 2 à 5, dans lequel l'unité de calcul de 5 commande (8) calcule la fréquence opérationnelle (f op) à partir des données de vitesse instantanée (w) avec un système d'ordre 2 d (Mis') CABINET NETTER
FR0904686A 2009-03-31 2009-10-01 Dispositif de commande d'alimentation d'un calculateur Withdrawn FR2943807A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FR0904686A FR2943807A1 (fr) 2009-03-31 2009-10-01 Dispositif de commande d'alimentation d'un calculateur
CN2010800146751A CN102378949A (zh) 2009-03-31 2010-03-29 计算机电源控制装置
JP2012502730A JP5519769B2 (ja) 2009-03-31 2010-03-29 コンピュータの電源の制御装置
EP10713694A EP2414909A2 (fr) 2009-03-31 2010-03-29 Dispositif de commande d'alimentation d'un calculateur
US13/262,087 US20120110361A1 (en) 2009-03-31 2010-03-29 Device For Controlling The Power Supply Of A Computer
PCT/FR2010/000264 WO2010112700A2 (fr) 2009-03-31 2010-03-29 Dispositif de commande d'alimentation d'un calculateur

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0901576A FR2943806A1 (fr) 2009-03-31 2009-03-31 Dispositif de commande d'alimentation d'un calculateur
FR0904686A FR2943807A1 (fr) 2009-03-31 2009-10-01 Dispositif de commande d'alimentation d'un calculateur

Publications (1)

Publication Number Publication Date
FR2943807A1 true FR2943807A1 (fr) 2010-10-01

Family

ID=41203681

Family Applications (2)

Application Number Title Priority Date Filing Date
FR0901576A Withdrawn FR2943806A1 (fr) 2009-03-31 2009-03-31 Dispositif de commande d'alimentation d'un calculateur
FR0904686A Withdrawn FR2943807A1 (fr) 2009-03-31 2009-10-01 Dispositif de commande d'alimentation d'un calculateur

Family Applications Before (1)

Application Number Title Priority Date Filing Date
FR0901576A Withdrawn FR2943806A1 (fr) 2009-03-31 2009-03-31 Dispositif de commande d'alimentation d'un calculateur

Country Status (6)

Country Link
US (1) US20120110361A1 (fr)
EP (1) EP2414909A2 (fr)
JP (1) JP5519769B2 (fr)
CN (1) CN102378949A (fr)
FR (2) FR2943806A1 (fr)
WO (1) WO2010112700A2 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339791B2 (en) 2007-06-12 2019-07-02 Icontrol Networks, Inc. Security network integrated with premise security system
US9763600B2 (en) 2010-02-17 2017-09-19 Koninklijke Philips N.V. Nitric oxide measurement method and apparatus
CN102880275A (zh) * 2012-09-07 2013-01-16 北京航空航天大学 一种针对周期性关键任务的电源管理装置及其方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194849A (ja) * 1997-12-26 1999-07-21 Nec Corp データ処理方法および装置、情報記憶媒体
US20020029353A1 (en) * 2000-09-01 2002-03-07 Lg Electronics Inc. CPU scheduling method and apparatus
US20030184271A1 (en) * 2000-12-20 2003-10-02 Kazuo Aisaka Eletronic circuit of low power consumption, and power consumption reducing method
JP2003337713A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd プロセッサの制御方法
US20040025069A1 (en) * 2002-08-01 2004-02-05 Gary Scott P. Methods and systems for performing dynamic power management via frequency and voltage scaling
US20060212247A1 (en) * 2003-05-07 2006-09-21 Sony Corporation Frequency control apparatus, information processing apparatus and program
US20080162770A1 (en) * 2006-11-01 2008-07-03 Texas Instruments Incorporated Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3475237B2 (ja) * 2000-07-24 2003-12-08 東京大学長 電力制御装置及び方法並びに電力制御プログラムを記録した記録媒体
US7240304B2 (en) * 2004-05-04 2007-07-03 Freescale Semiconductor, Inc. Method for voltage drop analysis in integreted circuits
US7386739B2 (en) * 2005-05-03 2008-06-10 International Business Machines Corporation Scheduling processor voltages and frequencies based on performance prediction and power constraints
KR100985966B1 (ko) * 2006-06-07 2010-10-06 가부시키가이샤 히타치세이사쿠쇼 반도체 집적 회로
GB2446830B (en) * 2007-02-22 2009-08-26 Toshiba Res Europ Ltd Controller for processing apparatus
JP4836903B2 (ja) * 2007-09-13 2011-12-14 株式会社東芝 マイクロプロセッサ制御装置並びにその方法およびプログラム
TWI349228B (en) * 2007-10-17 2011-09-21 Ind Tech Res Inst Speed-level calculator and calculating method for dynamic voltage scaling
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
CN102152894A (zh) * 2011-05-27 2011-08-17 浙江大之医药胶囊有限公司 一种便于放置胶囊模具的存放架

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11194849A (ja) * 1997-12-26 1999-07-21 Nec Corp データ処理方法および装置、情報記憶媒体
US20020029353A1 (en) * 2000-09-01 2002-03-07 Lg Electronics Inc. CPU scheduling method and apparatus
US20030184271A1 (en) * 2000-12-20 2003-10-02 Kazuo Aisaka Eletronic circuit of low power consumption, and power consumption reducing method
JP2003337713A (ja) * 2002-05-21 2003-11-28 Hitachi Ltd プロセッサの制御方法
US20040025069A1 (en) * 2002-08-01 2004-02-05 Gary Scott P. Methods and systems for performing dynamic power management via frequency and voltage scaling
US20060212247A1 (en) * 2003-05-07 2006-09-21 Sony Corporation Frequency control apparatus, information processing apparatus and program
US20080162770A1 (en) * 2006-11-01 2008-07-03 Texas Instruments Incorporated Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems

Also Published As

Publication number Publication date
FR2943806A1 (fr) 2010-10-01
US20120110361A1 (en) 2012-05-03
WO2010112700A2 (fr) 2010-10-07
WO2010112700A3 (fr) 2011-04-07
JP2012522300A (ja) 2012-09-20
JP5519769B2 (ja) 2014-06-11
CN102378949A (zh) 2012-03-14
EP2414909A2 (fr) 2012-02-08

Similar Documents

Publication Publication Date Title
FR2952197A1 (fr) Dispositif de generation de signaux d'horloge a comparaison asymetrique d'erreurs de phase
EP2795426B1 (fr) Contrôle tension-fréquence optimisé
EP1993019B1 (fr) Dispositif d'alimentation d'un circuit électronique et circuit électronique
FR2943807A1 (fr) Dispositif de commande d'alimentation d'un calculateur
FR2926172A1 (fr) Boucle a verrouillage de phase avec filtre adaptatif pour synchronisation avec oscillateur a commande numerique
EP3633495A1 (fr) Procédé de gestion d'une alimentation dvfs et système correspondant
EP2997657B1 (fr) Systeme de generation d'un signal analogique
FR2916061A1 (fr) Variation de frequence d'horloge d'un consommateur de courant synchronise.
EP3120458B1 (fr) Procédé et circuit d'ajustement de la fréquence d'un signal d'horloge
FR3071331A1 (fr) Boucle a verrouillage de frequence avec transistion tension/frequence rapide
CA2922336C (fr) Procede de sequencement de commandes d'execution, procede d'execution, programme d'ordinateur et circuit integre
WO2020079376A1 (fr) Procede de simulation de l'evolution temporelle d'un systeme physique en temps reel
WO2009115744A2 (fr) Dispositif d'alimentation d'un circuit électronique, en particulier d'un circuit numérique, et procédé associé
EP3241089A1 (fr) Procédé de gestion automatique de la consommation électrique d'une grappe de serveurs
FR3086469A1 (fr) Procede de reglage d'un signal de modulation de largeur d'impulsion pilotant un regulateur de tension a decoupage du type abaisseur de tension, et dispositif correspondant
FR2989797A1 (fr) Reduction de la consommation electrique d'une matrice de processeurs
EP1433243B1 (fr) Generateur de haute tension incorpore dans un circuit integre
EP1213839B1 (fr) Procédé pour déterminer un ordre de cellules à retarder dans une chaíne de N cellules
FR2484104A1 (fr) Boucle d'asservissement a microprocesseur
FR3045240A1 (fr) Procede de compensation des effets non-lineaires d'un onduleur de tension.
FR3045863A1 (fr) Procede et calculateur d'analyse predictive
FR3028065A1 (fr) Procede de commande d'une unite de traitement ameliorant la gestion des taches a executer et unite de traitement correspondante
WO2015033078A2 (fr) Procédé de commande d'un circuit électronique
Torrie Survol de Reinventing Bankruptcy Law: A History of the Companies’ Creditors Arrangement Act
FR3103069A1 (fr) Dispositif pour délivrer un signal passant d’un premier état à un deuxième état

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

ST Notification of lapse

Effective date: 20180629