Brevet FR3016060A1 — publié le 20150703

-1- TECHNIQUES DE CONTROLE D'ETAT DE LA PERFORMANCE D'UN PROCESSEUR BASE SUR L'EXTENSIBILITE DE LA CHARGE DOMAINE DE L'INVENTION La présente invention concerne de manière générale le domaine de l'électronique. Plus particulièrement, un mode de réalisation concerne des techniques de contrôle d'état de la performance d'un processeur basé sur l'extensibilité de la charge. CONTEXTE DE L'INVENTION Pour contrôler la consommation d'énergie, certains processeurs sont capables de fonctionner à plusieurs fréquences différentes. À titre d'exemple, si un système doit diminuer sa consommation d'énergie (par exemple, pendant les temps d'arrêt), un processeur peut fonctionner à plus basse fréquence. À titre de variante, afin d'améliorer les performances (par exemple, pendant des calculs complexes), le processeur peut fonctionner à plus haute fréquence. Cependant, comme la conception des processeurs devient plus complexe (par exemple pour qu'il puisse avoir des fonctionnalités supplémentaires), la tâche de modification des réglages de la consommation d'énergie devient plus complexe et peut exiger la réalisation de différentes opérations supplémentaires. BRÈVE DESCRIPTION DES DESSINS La description détaillée est décrite en référence aux dessins annexés, dans lesquels le(s) chiffre(s) le plus à gauche d'un numéro de référence identifie la figure dans laquelle le numéro de référence apparaît en premier. L'utilisation des mêmes numéros de référence dans différentes figures indique des éléments similaires ou identiques. Les figures 1 et 11 à 13 illustrent des schémas fonctionnels de modes de réalisation de systèmes informatiques qui peuvent être utilisés pour mettre en oeuvre différents modes de réalisation décrits ici. La figure 2 illustre un schéma fonctionnel d'une architecture de système pour supporter un contrôle collaboratif des performances du processeur selon un mode de réalisation. La figure 3 illustre un schéma fonctionnel d'un système de contrôle réparti pour mettre en oeuvre un contrôle collaboratif des performances du processeur selon un mode de réalisation. -2- Les figures 4A à 6B illustrent des réglages statiques et dynamiques qui peuvent être utilisés sans divers modes de réalisation. La figure 7 illustre une carte des seuils d'extensibilité selon un mode de réalisation. La figure 8 illustre une machine d'états selon un mode de réalisation. Les figures 9A et 9B illustrent la machine d'états et des cartes d'extensibilité selon certains modes de réalisation. Les figures 10A à 10C illustrent des organigrammes pour mettre en oeuvre un contrôle collaboratif des performances du processeur selon certains modes de réalisation. DESCRIPTION DETAILLEE Dans la description qui suit, de nombreux détails spécifiques sont présentés dans le but de permettre une compréhension approfondie de divers modes de réalisation. Cependant, divers modes de réalisation peuvent être mis en pratique sans les détails spécifiques. Dans d'autres cas, les procédés, procédures, composants et circuits bien connus n'ont pas été décrits en détail afin de ne pas obscurcir les modes de réalisation particuliers. En outre, différents aspects de modes de réalisation peuvent être mis en oeuvre au moyen de différents moyens, tels que des circuits intégrés à semi-conducteurs (« matériel »), des instructions lisibles par ordinateur organisées en un ou plusieurs programmes (« logiciel ») ou certaines combinaisons de matériel et de logiciel. Dans le but de la présente invention, toute référence à la « logique » désignera soit un matériel, un logiciel, un micrologiciel ou une combinaison quelconque de ceux-ci. Certains modes de réalisation fournissent des techniques de contrôle d'état de la performance d'un processeur basé sur l'extensibilité de la charge. À titre d'exemple, certaines mises en oeuvre peuvent utiliser un indicateur d'extensibilité de la charge basé sur le matériel prévu dans le silicium du processeur pour contrôler la tension du coeur de processeur et/ou la fréquence, par exemple pour une servocommande (PCU : Power Control Unit) afin de diminuer la fréquence du turbo maximum lorsqu'un blocage de la mémoire est détecté. Les différents états de performance peuvent être désignés par des états P EE (où « EE » représente l'Efficacité énergétique et « l'état P» représente l'état de performance). Lorsque l'indicateur d'extensibilité est utilisé par le PCU pour prendre des décisions, ces décisions et changements de contrôle se produisent à une granularité fine (à titre d'exemple, à environ 1 ms). Dans certaines mises en oeuvre, une logique (tel un pilote de logiciel) peut être utilisé pour lire l'extensibilité calculée par le matériel à une vitesse beaucoup plus lente (telle que mandatée par le logiciel ou le contrôle du système -3- d'exploitation (OS : Operating System)) et basée sur des états P de processeur de contrôle des valeurs d'extensibilité afin de réaliser des économies d'énergie considérables avec un impact faible ou non observable sur les performances ou la qualité. À cette fin, un mode de réalisation propose un mécanisme de contrôle optimal (à savoir avec un avantage énergétique maximum et/ou une perte de performances minimale) pour l'utilisation, basée sur un pilote ou un OS, d'un indicateur d'extensibilité basé sur le matériel pour le contrôle des états P. Si la fréquence du coeur de processeur est réduite simplement sur la base de l'indicateur d'extensibilité du coeur de Processeur, des pertes considérables de performances peuvent se produire dans les Graphiques et autres sous-systèmes pour les charges ciblant ces sous-systèmes (par exemple les jeux Graphiques en 3D). Pour réduire au maximum les pertes de performance / l'impact sur la qualité de ces charges, certaines mises en oeuvre peuvent utiliser des indicateurs matériels tel qu'un indicateur d'occupation / d'extensibilité des graphiques en plus de l'indicateur d'extensibilité du coeur de processeur tout en sélectionnant un état P EE de coeur de processeur approprié. Selon un mode de réalisation, la logique (telle qu'un pilote de logiciel qui peut fournir un contrôle collaboratif des performances du processeur (CPPC : Collaborative Processor Performance Control)) reçoit/détecte des demandes (provenant, par exemple, de l'OS ou d'une application logicielle) de réglages des performances du processor et modifie les demandes pour obtenir une efficacité énergétique. À titre d'exemple, les demandes d'OS pour les états P de plage turbo sont comparées par rapport à l'extensibilité historique déterminée par le matériel (lue par exemple via un Registre spécifique de modèles (MSR : Model Specific Register) ou, plus généralement, un registre de contrôle) et, en-dessous d'un certain seuil d'extensibilité, une fréquence et/ou tension plus basse est/sont choisie(s) par rapport à celle(s) demandée(s) par l'OS. Par conséquent, même si certains modes de réalisation décrits ici utilisent une fréquence pour modifier les réglages des performances d'un processeur, des changements de niveau de tension peuvent également être utilisés pour modifier des réglages de performance du processeur. En outre, les échelles de temps du contrôle d'état P basé OS utilisant un indicateur d'extensibilité peuvent être nettement supérieures au contrôle de grain fin disponible sur la puce dans la mise en oeuvre des états P EE. Ainsi, la lecture de l'extensibilité sur une période d'observation, le réglage des états P et la réévaluation pour déterminer le besoin d'une action supplémentaire sont obtenus conformément à certains modes de réalisations. Comme décrit ici, un mode « turbo » représente généralement un mode de fonctionnement qui permet à un processeur d'augmenter la tension et/ou fréquence -4- d'alimentation jusqu'à une limite prédéfinie de puissance nominale thermique (TD : Thermal Design Power) sur une durée, par exemple, suite à des demandes de charge. Les états P décrits ici représentent aussi généralement des états de performance du processeur obtenus au moins en partie sur la base d'une entrée d'application OS ou logicielle. Dans certains modes de réalisation, au moins certains des états de performance du processeur décrits ici peuvent être en conformité avec ceux définis dans la spécification Configuration avancée et Interface de puissance (ACPI : Advanced Configuration and Power Interface), Révision 5, Décembre 2011, ou similaire à celle-ci. Certains modes de réalisation peuvent être appliqués dans des systèmes informatiques qui comprennent un ou plusieurs processeur(s) (à titre d'exemple, avec un ou plusieurs coeur(s) de processeur), tels que ceux décrits en référence aux figures 1-13, y compris, par exemple, des dispositifs informatiques mobiles tels qu'un smartphone, une tablette, un UMPC (Ultra-Mobile Personal Computer), un ordinateur portable, un dispositif informatique UltrabookTM, une montre intelligente, des lunettes intelligentes, des dispositifs vêtements, etc. Plus particulièrement, la figure 1 illustre un schéma fonctionnel d'un système informatique 100 selon un mode de réalisation. Le système 100 peut inclure un ou plusieurs processeur(s) 102-1 à 102-N (généralement désignés ici par « processeurs 102 » ou « le processeur 102 »). Les processeurs 102 peuvent être des CPU et/ou GPU universels dans différents modes de réalisation. Les processeurs 102 peuvent communiquer via une interconnexion ou bus 104. Chaque processeur peut inclure différents composants, dont certains ne sont décrits qu'en référence au processeur 102-1 dans un souci de clarté. Par conséquent, chacun des processeurs restants 102-2 à 102-N peuvent inclure les mêmes composants ou des composants similaires à ceux décrits en référence au processeur 102-1. Selon un mode de réalisation, le processeur 102-1 peut inclure un ou plusieurs coeur(s) de processeur 106-1 à 106-M (désignés ici par « coeurs 106 » ou « coeur 106 »), un cache 108 et/ou un routeur 110. Les coeurs de processeur 106 peuvent être mis en oeuvre sur une simple puce de circuit intégré (IC : integrated circuit). En outre, la puce peut inclure un ou plusieurs caches partagés et/ou privés (tel que le cache 108), des bus ou interconnexions (tels qu'un bus ou une interconnexion 112), des contrôleurs graphiques et/ou mémoires (tels que ceux décrits en référence aux figures 11-13) ou d'autres composants. Selon un mode de réalisation, le routeur 110 peut être utilisé pour communiquer entre différents composants du processeur 102-1 et/ou système 100. En outre, le processeur 102-1 peut inclure plus d'un routeur 110. De plus, la multitude de routeurs 110 peut être en communication pour permettre un routage de données entre différents composants à -5- l'intérieur ou à l'extérieur du processeur 102-1. Le cache 108 peut stocker des données (incluant par exemple des instructions) qui sont utilisées par un ou plusieurs composant(s) du processeur 102-1, tels que les coeurs 106. À titre d'exemple, le cache 108 peut cacher localement des données stockées dans une mémoire 114 pour accélérer l'accès par les composants du processeur 102 (par exemple, un accès plus rapide par les coeurs 106). Comme le montre la figure 1, la mémoire 114 peut communiquer avec les processeurs 102 via l'interconnexion 104. Selon un mode de réalisation, le cache 108 (qui peut être partagé) peut être un cache de niveau intermédiaire (MLC : mid-level cache), un cache de dernier niveau (LLC : last level cache), etc. Également, chacun des coeurs 106 peut inclure un cache (116-1) de niveau 1 (L1) (généralement désigné ici par « cache 116 Li ») ou d'autres niveaux de cache, tel qu'un cache de niveau 2 (L2). En outre, différents composants du processeur 102-1 peuvent communiquer directement avec le cache 108 par l'intermédiaire d'un bus (à titre d'exemple, le bus 112) et/ou d'un contrôleur ou mémoire. Le système 100 peut également inclure une source d'alimentation 120 (par exemple une source d'alimentation à courant direct (DC : direct current) ou une source d'alimentation à courant alternatif (AC : alternating current)) pour alimenter un ou plusieurs composant(s) du système 100. Dans certains modes de réalisation, la source d'alimentation 120 peut inclure un ou plusieurs bloc(s) de piles et/ou source(s) d'alimentation. La source d'alimentation 120 peut être couplée aux composants du système 100 par l'intermédiaire d'un régulateur de tension (VR: voltage regulator) 130 (qui peut être un VR à phase simple ou multiple). Selon un mode de réalisation, le VR 130 peut être un régulateur de tension entièrement intégré (FIVR : Fully Integrated Voltage Regulator). En outre, même si la figure 1 illustre une source d'alimentation 120 et un régulateur de tension 130, des sources d'alimentation et/ou régulateurs de tension supplémentaires peuvent être utilisés. À titre d'exemple, chacun des processeurs 102 peut avoir un (des) régulateur(s) de tension et/ou source(s) d'alimentation correspondant(e)(s). Également, le(s) régulateur(s) de tension 130 peut (peuvent) être couplés au processeur 102 via un simple plan de puissance (alimentant par exemple tous les coeurs 106) ou de multiples plans de puissance (où, par exemple, chaque plan de puissance peut alimenter un coeur ou groupe de coeurs différent). La source d'alimentation peut être capable de commander une tension variable ou avoir différentes configurations de commande d'alimentation. En outre, tandis que la figure 1 illustre la source d'alimentation 120 et le régulateur de tension 130 sous forme de composants séparés, la source d'alimentation 120 et le -6- régulateur de tension 130 peuvent être intégrés et/ou incorporés dans d'autres composants du système 100. À titre d'exemple, tout ou partie du VR 130 peut être incorporé(e) dans la source d'alimentation 120 et/ou le processeur 102. En outre, comme montré en figure 1, la source d'alimentation 120 et/ou le régulateur de tension 130 peuvent communiquer avec la logique de contrôle de puissance 140 et rapporter leur spécification de puissance. Comme montré en figure 1, le processeur 102 peut en outre comprendre une logique PCU 140 pour contrôler l'alimentation de la puissance vers un ou plusieurs composant(s) du processeur 102 (les coeurs 106 par exemple). La logique 140 peut avoir accès à un ou plusieurs dispositif(s) de stockage décrits ici (tels que le cache 108, le cache 116 Li, la mémoire 114, le(s) registre(s), ou toute autre mémoire dans le système 100) afin de stocker les informations concernant les opérations de la logique PCU 140, telles que les informations communiquées avec différents composants du système 100 comme décrit ici. Comme cela est représenté, la logique 140 peut être couplée au VR 130 et/ou d'autres composants du système 100, tels que les coeurs 106 et/ou la source d'alimentation 120. À titre d'exemple, la logique PCU 140 peut être couplée pour recevoir des informations (par exemple sous forme d'un ou plusieurs bit(s) ou signal/signaux) afin d'indiquer le statut d'un ou plusieurs capteurs 150 (où le(s) capteur(s) 150 peut (peuvent) être situés à proximité de composants du système 100 (ou d'autres systèmes informatiques décrits ici, tels que ceux décrits en référence à d'autres figures, incluant les figures 11 à 13, par exemple), tels que les coeurs 106, interconnexions 104 ou 112, etc.. Les capteurs 150 détectent des variations de différents facteurs affectant le comportement de puissance/thermique du système, tels que la température, la fréquence de fonctionnement, la tension de fonctionnement, le courant de fonctionnement, la capacité dynamique, la consommation d'énergie, l'activité de communication inter-noyau, des indicateurs d'extensibilité de la charge, etc.). La PCU 140 (ou autre logique, tel qu'un pilote de logiciel 180 stocké dans la mémoire 114 et/ou le cache 108) peut alors modifier les demandes reçues de l'OS ou du logiciel à partir des informations détectées par les capteurs 150 (concernant, par exemple, des indications de stabilité de la charge) afin d'obtenir un contrôle d'état de la performance du processeur. À titre d'exemple, le(s) capteur(s) 150 peut (peuvent) détecter si un ou plusieurs sous-système(s) est (sont) activé(s) et/ou leurs informations sur l'indicateur d'extensibilité de la charge (comme décrit, par exemple, en référence aux figures 2 à 10C). La logique 140 (à titre d'exemple, dans la direction du pilote de logiciel 180) peut à son tour renseigner le VR 130, la source d'alimentation 120, et/ou des composants individuels du système 100 -7- (tels que les coeurs 106) afin de modifier leurs fonctionnements ou leur état de performance. À titre d'exemple, la logique 140 peut indiquer au VR 130 et/ou à la source d'alimentation 120 d'ajuster leur sortie. Dans certains modes de réalisation, la logique 140 peut demander aux noyaux 106 de modifier leurs fréquence de fonctionnement, consommation d'énergie, capacité dynamique, courant de fonctionnement, etc. Également, même si des composants 140 et 150 sont représentés pour être inclus dans le processeur 102-1, ces composants peuvent être prévus ailleurs dans le système 100. À titre d'exemple, la logique de contrôle de puissance 140 peut être prévue dans le VR 130, dans la source d'alimentation 120, directement couplée à l'interconnexion 104 au sein d'un ou plusieurs des processeurs 102 (ou à titre de variante tous), etc. Également, même si les coeurs 106 sont représentés comme étant des coeurs de processeur, ceux-ci peuvent être d'autres éléments informatiques tels que des coeurs graphiques, des dispositifs à fonction spécifique, etc. La figure 2 illustre un schéma fonctionnel d'un système 200 fournissant une architecture pour supporter le CPPC selon un mode de réalisation. Comme représenté, le système 200 inclut un dispositif de stockage 202 avec un système d'entrées/sorties basique ACPI (BIOS : Basic Input Output System) (qui présente un support CPPC, par exemple, via la fourniture d'un dispositif CPPC ACPI 204 qui communique avec le pilote CPPC 180 afin de fournir des notifications ACPI et d'obtenir des informations de configuration). Comme décrit ici, le pilote 180 peut fournir un algorithme afin d'obtenir une optimisation de l'efficacité énergétique (à titre d'exemple, via la PCU 140 et à partir des informations relatives aux indicateurs d'extensibilité). Le système 200 inclut également un OS 206 avec un support CPPC pour communiquer les découvertes/configurations CPPC avec le BIOS 202 et communiquer les demandes de modification de performance (concernant la performance souhaitée, performance minimale, etc.) avec le pilote 180 par l'intermédiaire d'une mémoire partagée 208 par voie de communication de plateforme (PCC : Platform Communications Channel). L'OS 206 peut également avoir accès aux informations 210 stockées (par exemple, dans un ou plusieurs registre(s) ou autres types de mémoire/stockage tels que ceux décrits ici) concernant des plans ou un registre de puissance (qui inclut par exemple des options configurables par un fabriquant de matériel informatique d'origine (OEM : Original Equipment Manufacturer) (telles qu'un déclencheur, une périodicité, etc.)). De même, comme montré sur la figure 2, le processeur 102 peut communiquer avec le pilote 180 pour recevoir et écrire des informations de réglages/valeurs de taux de contrôle de performance -8- et fournir des données de compteur de blocage (indiquant par exemple une détection de blocage mémoire, etc.). Le système 200 inclut également un concentrateur de contrôle de plateforme (PCH : Platform Control Hub) pour communiquer avec différents composants du système 200, tels que l'interruption de génération de commandes avec le BIOS ACPI (à titre d'exemple, l'OS écrit une nouvelle commande de changement de « Perf » (ou « performance », utilisée de manière interchangeable ici) dans la mémoire partagée PCC et écrit un registre de sonnette dans le PCH qui génère une interruption pour communiquer une nouvelle commande de Changement de Perf (Perf Change) à la plateforme. Le BIOS ACPI fournit les interruptions et notifie au pilote du CPPC le traitement ultérieur de la commande OS.) et (en option) pour le pilote BIOS ACPI/CPPC pour générer une interruption de fin de commande vers l'OS 180 (par exemple, une fois que le pilote CPPC a traité une commande de Changement de Perf depuis l'OS, il écrit à un registre PCH qui génère une interruption vers l'OS pour indiquer la fin de la commande.). La figure 3 illustre un schéma fonctionnel d'un système de contrôle réparti pour mettre en oeuvre un CPPC selon un mode de réalisation. Selon un mode de réalisation, le système illustré à la figure 3 peut être utilisé pour obtenir une architecture logicielle qui fournisse le CPPC. Comme représenté, l'entrée (concernant la demande) est reçue au bloc 302 et envoyée vers une logique contrôleur 304 (qui met en oeuvre l'algorithme de sélection en fonction de la demande (DBS : Demand-Based Selection) de l'OS à partir de l'entrée provenant des boutons de commande de police DB S OS (ou plans de puissance OS 210)). Comme décrit ici, un « bouton » représente généralement un réglage/une valeur de configuration. Le contrôleur 304 génère la demande de performance souhaitée et l'envoie au système (le pilote CPPC 180 par exemple). Le pilote 180 inclut une logique contrôleur 306 pour exécuter l'algorithme EE basé au moins en partie sur les boutons de contrôle de police EE CPPC (conformément aux plans de puissance/registre OS 210 par exemple). Le contrôleur 306 utilise une boucle d'asservissement incluant un bloc de retard pour fournir un intervalle d'évaluation EE ainsi qu'un asservissement CPU/processeur (concernant, par exemple, le nombre de cycles non bloqués, non arrêtés du processeur 102) et l'asservissement GT (Graphics Technology)) (concernant l'occupation du GT, par exemple le processeur 102) afin de calculer l'extensibilité du processeur 102. La sortie du pilote 180 est prévue au bloc 308 (par exemple, concernant la fréquence CPU/processeur, comme décrit en référence à la PCU 140 de la figure 1). Une autre boucle d'asservissement est également prévue avec un bloc de retard 310 pour fournir un intervalle d'évaluation OS ainsi qu'un asservissement CPU au bloc 312 (à titre d'exemple, -9- avec des MSR de décompte d'horloge de fréquence de performance réelle (ACNT : Actual Performance Frequency Clock Count), de décompte d'horloge de fréquence de performance maximum (MCNT : Maximum Performance Frequency Clock Count)) pour renvoyer la performance fournie calculée à la logique contrôleur 304. La figure 4A illustre des boutons de contrôle de police EE CPPC qui peuvent être utilisés dans divers modes de réalisation. Plus particulièrement, deux catégories de boutons peuvent être utilisées : des premiers boutons de configuration de session, de registre, statiques ; des seconds boutons de source/plan de puissance dynamique par OS. « HW » représente le matériel (hardware) et GPU représente l'unité de traitement graphique (Graphics Processing Unit) dans les figures. La figure 4B illustre un bouton de registre CPPC statique selon un mode de réalisation. Le bouton illustré peut être utilisé pour un déclencheur de fréquence d'optimisation EE (qui peut ou non être exposé dans le registre). Également, un réglage par défaut peut être stocké pour le pilote CPPC 180. La figure 5A illustre des boutons de registre CPPC statiques selon un mode de réalisation. Les boutons illustrés peuvent être utilisés pour des contrôles de registre d'horloge d'optimisation EE. La figure 5B illustre des boutons de registre CPPC statiques selon un mode de réalisation. Les boutons illustrés peuvent être utilisés pour des valeurs de seuil d'extensibilité d'optimisation EE. La figure 6A illustre un bouton de registre CPPC statique selon un mode de réalisation. Le bouton illustré peut être utilisé pour la sensibilité GPU. La figure 6B illustre des boutons de plan de puissance CPPC dynamiques selon un mode de réalisation. Les boutons illustrés peuvent être utilisés pour l'activation et/ou le dynamisme de l'optimisation EE. La figure 7 illustre une carte des seuils d'extensibilité, selon un mode de réalisation. Comme représenté, de multiples zones de performance peuvent être utilisés avec différentes valeurs de seuil configurables pour la performance EE et la diminution de fréquence EE. La figure 8 illustre une machine d'états CPPC EE selon un mode de réalisation. Il existe six états comprenant : OFF (état P souhaité OS), ON, STAY (sans changement vers l'état P actuel), UP (augmentation d'un pas de la fréquence de l'état P actuel), DOWN (état P basé sur l'extensibilité) et ROCKET (état P souhaité OS). Selon un mode de réalisation, toute modification du déclencheur EE réinitialise la machine d'états (à titre d'exemple, vers l'état OFF). Comme représenté, lors de la réception d'une demande OS, la machine d'états passe d'abord dans l'état OFF. Après l'entrée d'optimisation EE (EE a vérifié le passage et démarre le registre d'horloge de la période avec une heure de démarrage T et -10- une période P), on passe à l'état ON. Une fois que le registre d'horloge atteint l'heure T, différents états peuvent être entrés (tels que DOWN, UP, STAY ou ROCKET). À la sortie de l'optimisation EE (à titre d'exemple, EE a vérifié une erreur ce qui cause une transition d'état ON->OFF), le registre d'horloge périodique est arrêté. Les figures 9A et 9B illustrent la machine d'états EE et les cartes d'extensibilité pour le CPPC selon certains modes de réalisation. Plus particulièrement, la figure 9A présente une carte de transition d'état EE de CPPC, d'un état OFF vers un état ON. La figure 9B montre la carte de transmission de l'état ON vers des états UP/DOWN/STAY/ROCKET. Les figures 10A à 10C illustrent des organigrammes de l'algorithme EE pour mettre en oeuvre un CPPC, selon certains modes de réalisation. Un ou plusieurs composant(s) décrits ici (à titre d'exemple, en référence aux figures 1, 9B et 11-13) peut (peuvent) être utilisé(s) pour exécuter une ou plusieurs opération(s) décrite(s) en référence aux figures 10A à 10C. Plus particulièrement, la figure 10A présente des vérifications de déclencheur EE. La figure 10B présente des opérations d'extensibilité et d'application de fréquence EE. La figure 10C présente des opérations pour calculer la fréquence EE (où la fréquence EE est fonction de la fréquence d'état P souhaitée, de la fréquence fournie, de l'extensibilité, du type de charge et/ou du dynamisme EE). En se référant aux figures 10A à 10C, à l'opération 1002, une commande d'écriture PCC (Platform Communications Channel) de l'OS ou une expiration du registre d'horloge de l'évaluation EE sont détectées et la fréquence A est mappée à partir du réglage de performance souhaité spécifié par l'OS. À l'opération 1004, une fréquence B est définie sur les limites d'état P les plus restrictives à partir du logiciel DPTF (Dynamic Performance and Thermal Framework) d'Intele Corporation et la limite d'état P de la plateforme ACPI PPC (Performance Present Capabilities). À l'opération 1006, la valeur de fréquence est définie sur le minimum des fréquences A et B. Si l'optimisation EE est activée à l'opération 1008, l'opération 1110 détermine si le dynamisme EE est supérieur à zéro. Si le dynamisme EE est supérieur à zéro, une opération 1012 détermine si la valeur de fréquence est supérieure ou égale à la valeur seuil de fréquence du déclencheur EE. L'opération 1014 est exécutée pour placer l'état sur OFF si les opérations 1008-1012 sont retournées avec une réponse négative. L'opération 1016 programme le registre de contrôle des performances du processeur sur la valeur de fréquence. Si la valeur de fréquence est inférieure à la fréquence du déclencheur EE à l'opération 1012, le procédé continue le flux de la figure 10B à l'opération 1020. Si l'état de police n'est pas sur l'état OFF (comme déterminé à l'opération 1020), l'opération 1022 lit les -11- cycles non bloqués, non arrêtés accumulés du CPU/processeur et la valeur d'extensibilité de matériel « S » est calculée comme le delta de cycles non bloqués, non arrêtés sur le delta de temps. Également, la fréquence EE est calculée selon le flux de la figure 10C, en commençant à l'opération 1070. À l'opération 1024, si l'état n'est pas sur ON, l'opération 1026 détermine si « S » est une zone EE. Si « S» est en dehors de la zone EE, l'opération 1028 détermine si « S » est proche de la zone haute performance et, si non, l'opération 1030 détermine si « S » est dans une zone haute performance. Si « S » n'est pas dans une zone haute performance, l'état est placé sur STAY à l'opération 1032 et l'opération 1034 fixe le retard sur « P ». Après le retard, le flux retourne à l'opération 1022. À l'opération 1024, si l'état est sur ON, l'opération 1035 est suivie par les opération 1036 (pour placer l'état sur DOWN) si « S » est déterminé comme étant inférieur ou égal à la valeur seuil EE à l'opération 1035. Si l'opération 1035 détermine que « S » est inférieur à la valeur seuil EE, le procédé retourne à l'opération 1034. Également, si « S » est dans la zone EE (opération 1026), l'opération 1027 détermine si l'occupation GT Busyness augmente et, si non, l'opération 1036 est exécutée ; sinon, l'opération 1042 est exécutée. À l'opération 1038, la valeur de fréquence est placée sur la fréquence EE (suivie par l'opération 1040 qui place la valeur du registre de contrôle des performances du processeur sur la valeur de fréquence, qui est alors suivie par l'opération 1034). Après une détermination positive à l'opération 1028, l'opération 1042 définit l'état sur UP et l'opération 1044 exécute une augmentation d'un seul pas de la valeur de fréquence sur un état P de performance plus élevée. Après une sortie positive de l'opération 1030, l'état est placé sur ROCKET à l'opération 1046 et le procédé retourne à l'opération 1040. Si, à l'opération 1020, il est déterminé que l'état est sur OFF, l'opération 1048 démarre un registre d'horloge périodique avec une heure de démarrage T et une période P). À l'opération 1050, les cycles non bloqués, non arrêtés, accumulés du processeur sont lus et l'état est placé sur ON à l'opération 1052. L'opération 1054 définit le registre de contrôle des performances du processeur sur la valeur de fréquence et l'opération 1056 définit la valeur de retard sur T. Après le retard, le procédé reprend à l'opération 1022. En se référant à la figure 10C, l'opération 1070 calcule la fréquence fournie par processus logique comme le produit de la fréquence nominale du coeur de processeur et ACNT/MCNT (où ACNT est un cycle non arrêté du processeur logique à sa fréquence de fonctionnement et MCNT représente des cycles non arrêtés du processeur logique à sa fréquence nominale). Si, à l'opération 1072, la fréquence souhaitée est supérieure à la limite de fréquence DCT (Dual Core Turbo) maximum du coeur de processeur, l'opération -12- 1074 détermine si une fréquence fournie du processeur logique est supérieure à DCT maximum. L'opération 1076 définit la fréquence EE sur le produit de S et la limite de fréquence SCT (Single Core Turbo) maximale. L'opération 1078 définit le nombre d'étapes de fréquence d'état P comme le produit de pourcentage dynamique EE et la différence de la fréquence souhaitée pour l'état P et la fréquence EE. Également, la fréquence EE est définie sur la différence entre la fréquence souhaitée pour l'état P et le nombre d'étapes de fréquence de l'état P. En outre, si la fréquence souhaitée pour l'état P n'est pas supérieure à la fréquence DCT maximale à l'opération 1072, l'opération 1080 définit la fréquence EE comme le produit de « S » et la fréquence souhaitée pour l'état P avant de retourner à l'opération 1078. Également, si la sortie de l'opération 1074 est négative, alors l'opération 1082 définit la fréquence EE comme le produit de « S » et la fréquence DCT maximale avant de retourner à l'opération 1078. La figure 11 illustre un schéma fonctionnel d'un système informatique 1100 conformément à un mode de réalisation. Le système informatique 1100 peut comprendre un(e) ou plusieurs unité(s) centrale(s) (CPU : central processing unit) 1102 ou processeur(s) qui communique(nt) via un réseau d'interconnexion (ou bus) 1104. Les processeurs 1102 peuvent comprendre un processeur universel, un processeur réseau (qui traite les données communiquées sur un réseau informatique 1103) ou d'autres types de processeur (incluant un processeur d'ordinateur à jeu d'instructions réduit (RISC : reduced instruction set computer) ou d'ordinateur à jeu d'instructions complexe (CISC : complex instruction set computer)). En outre, les processeurs 1102 peuvent avoir une conception à coeur simple ou multiple. Les processeurs 1102 avec une conception à coeur multiple peuvent intégrer différents types de coeurs de processeur sur la même matrice de circuit intégré (IC). Également, les processeurs 1102 avec une conception à coeur multiple peuvent être mis en oeuvre sous forme de multiprocesseurs symétriques ou asymétriques. Selon un mode de réalisation, un ou plusieurs des processeurs 1102 peuvent être identiques ou similaires aux processeurs 102 de la figure 1. À titre d'exemple, un ou plusieurs composant(s) du système 1100 peu(ven)t comprendre un ou plusieurs élément(s) parmi la logique 140, capteur(s) 150, et/ou la logique/pilote 180 décrits en référence aux figures 1 à 10C. Également, les opérations décrites en référence aux figures 1 à 10C peuvent être exécutées par un ou plusieurs composant(s) du système 1100. Un jeu de puces 1106 peut également communiquer avec le réseau d'interconnexion -13- 1104. Le jeu de puces 1106 peut inclure un concentrateur de contrôle de mémoire graphique (GMCH : graphics memory control hub) 1108 qui peut être situé dans différents composants du système 1100 (tels que ceux représentés à la figure 11). Le GMCH 1108 peut inclure un contrôleur mémoire 1110 qui communique avec une mémoire 1112 (qui peut être identique ou similaire à la mémoire 114 de la figure 1). La mémoire 1112 peut stocker des données, incluant des séquences d'instructions, qui peuvent être exécutées par le CPU 1102 ou tout autre dispositif inclus dans le système informatique 1100. Selon un mode de réalisation, la mémoire 1112 peut inclure un ou plusieurs dispositif(s) de stockage volatile (ou mémoire) comme une mémoire vive (RAM : random access memory), une mémoire vive dynamique (DRAM), une mémoire vive dynamique synchrone (SDRAM), une mémoire vive statique (SRAM) ou d'autres types de dispositifs de stockage. Une mémoire non volatile peut également être utilisée, comme un disque dur. Des dispositifs supplémentaires peuvent communiquer via le réseau d'interconnexion 1104, comme de multiples CPU et/ou de multiples mémoire systèmes. Le GMCH 1108 peut également inclure une interface graphique 1114 qui communique avec un dispositif d'affichage 1116. Selon un mode de réalisation, l'interface graphique 1114 peut communiquer avec le dispositif d'affichage 1116 via un port graphique accéléré (AGP : accelerated graphics port) ou une interface d'interconnexion de composants périphériques (PCI : Peripheral Component Interconnect) (ou PCI express (PCIe) interface). Selon un mode de réalisation, l'affichage 1116 (tel qu'un écran plat) peut communiquer avec l'interface graphique 1114 par le biais, par exemple, d'un convertisseur de signal qui traduit une représentation numérique d'une image stockée dans un dispositif de stockage, telle qu'une mémoire vidéo ou une mémoire système, en signaux d'affichage qui sont interprétés et affichés par l'écran 1116. Les signaux d'affichage produits par le dispositif d'affichage peuvent traverser différents dispositifs de contrôle avant d'être interprétés par l'écran 1116 et être ensuite affichés sur celui-ci. Une interface de concentrateur 1118 peut permettre au GMCH 1108 et à un concentrateur de contrôle d'entrées/sorties (ICH : input/output control hub) 1120 de communiquer. L'ICH 1120 peut fournir une interface aux dispositif(s) E/S qui communiquent avec le système informatique 1100. L'ICH 1120 peut communiquer avec un bus 1122 par l'intermédiaire d'un pont périphérique (ou contrôleur) 1124, tel qu'un pont d'interconnexion des composants périphériques (PCI : peripheral component interconnect), un contrôleur de bus série universel (USB : universal serial bus) ou d'autres types de ponts périphériques ou contrôleurs. Le pont 1124 peut fournir un chemin de données entre le -14- CPU 1102 et les dispositifs périphériques. D'autres types de topologies peuvent être utilisés. Également, de multiples bus peuvent communiquer avec l'ICH 1120, par l'intermédiaire de ponts ou contrôleurs par exemple. En outre, d'autres périphériques en communication avec l'ICH 1120 peuvent comprendre, dans divers modes de réalisation, un (des) lecteur(s) de disque dur d'interface IDE (IDE : integrated drive electronics) ou une interface SCSI (small computer system interface), un (des) port(s) USB, un clavier, une souris, un (des) port(s) parallèle(s), un (des) port(s) série(s), un (des) lecteur(s) de disquette, un support de sortie numérique (une interface vidéo numérique par exemple (DVI : digital video interface)), ou d'autres dispositifs. Le bus 1122 peut communiquer avec un dispositif audio 1126, un ou plusieurs lecteur(s) de disque 1128 et un dispositif d'interface réseau 1130 (qui est en communication avec le réseau informatique 1103). D'autres dispositifs peuvent communiquer va le bus 1122. Également, différents composants (tels que le dispositif d'interface réseau 1130) peuvent communiquer avec le GMCH 1108 dans certains modes de réalisation. De plus, le processeur 1102 et le GMCH 1108 peuvent être combinés pour former une seule puce. En outre, un accélérateur graphique peut être inclus au sein du GMCH 1108 dans d'autres modes de réalisation. En outre, the système informatique 1100 peut inclure une mémoire (ou un stockage) volatile et/ou non-volatile. À titre d'exemple, une mémoire non-volatile peut inclure un ou plusieurs des composants suivants : une mémoire morte (ROM: read-only memory), une mémoire morte programmable (PROM), une mémoire morte programmable effaçable (EPROM), mémoire morte effaçable et programmable électriquement (EEPROM), un lecteur de disque (par exemple 1128), une disquette, un CD-ROM (compact disc ROM), un DVD (digital versatile disk), une mémoire flash, un disque magnéto-optique ou d'autres types de supports non volatiles lisibles par ordinateur qui sont capables de stocker des données électroniques (incluant par exemple des instructions). La figure 12 illustre un système informatique 1200 qui est agencé dans une configuration point à point (PtP) selon un mode de réalisation. En particulier, la figure 12 montre un système où des processeurs, une mémoire et des dispositifs d'entrée/sortie sont interconnectés par un nombre d'interfaces point à point. Les opérations décrites en référence aux figures 1 à 11 peuvent être exécutées par un ou plusieurs composant(s) du système 1200. Comme illustré sur la figure 12, le système 1200 peut inclure plusieurs processeurs dont seulement deux, les processeurs 1202 et 1204, ont été représentés dans un souci de -15- clarté. Les processeurs 1202 et 1204 peuvent chacun inclure un concentrateur de contrôleur de mémoire local (MCH : memory controller hub) 1206 et 1208 pour permettre la communication avec les mémoires 1210 et 1212. Les mémoires 1210 et/ou 1212 peuvent stocker différentes données telles que celles décrites en référence à la mémoire 1112 de la figure 11. Selon un mode de réalisation, les processeurs 1202 et 1204 peuvent être un processeur parmi les processeurs 1102 décrits en référence à la figure 11. Les processeurs 1202 et 1204 peuvent échanger des données via une interface point à point (PtP) 1214 en utilisant des circuits d'interface PtP 1216 et 1218, respectivement. Également, les processeurs 1202 et 1204 peuvent chacun échanger des données avec un jeu de puces 1220 via des interfaces PtP individuelles 1222 et 1224 en utilisant des circuits d'interface point à point 1226, 1228, 1230, et 1232. Le jeu de puces 1220 peut en outre échanger des données avec un circuit graphique 1234 via une interface graphique 1236 en utilisant, par exemple, un circuit d'interface PtP 1237. Au moins un mode de réalisation peut être prévu au sein des processeurs 1202 et 1204. À titre d'exemple, un ou plusieurs composant(s) du système 1200 peut inclure un ou plusieurs élément(s) parmi la logique 140, capteur(s) 150 et/ou la logique/le pilote 180 des figures 1 à 11, en incluant d'être situés au sein des processeurs 1202 et 1204. Cependant, d'autres modes de réalisation peuvent exister dans d'autres circuits, unités logiques ou dispositifs au sein du système 1200 de la figure 12. En outre, d'autres modes de réalisation peuvent être répartis dans plusieurs circuits, unités logiques ou dispositifs illustrés à la figure 12. Le jeu de puces 1220 peut communiquer avec un bus 1240 en utilisant un circuit d'interface PtP 1241. Le bus 1240 peut communiquer avec un ou plusieurs dispositif(s), tels qu'un pont de bus 1242 et des dispositifs E/S 1243. Via un bus 1244, le pont de bus 1242 peu(ven)t communiquer avec d'autres dispositifs, tels qu'un clavier/souris 1245, des dispositifs de communication 1246 (tels que des modems, dispositifs d'interface réseau, ou d'autres dispositifs de communication qui peuvent communiquer avec le réseau informatique 1103), un dispositif E/S audio 1247 et/ou un dispositif de stockage de données 1248. Le dispositif de stockage de données 1248 peut stocker un code 1249 qui peut être exécuté par les processeurs 1202 et/ou 1204. Dans certains modes de réalisation, un ou plusieurs des composants de l'invention peu(ven)t être mis en oeuvre sous forme d'un dispositif SOC (System On Chip). La figure 13 illustre un schéma fonctionnel d'un module SOC conformément à un mode de -16- réalisation. Comme illustré sur la figure 13, le SOC 1302 inclut un ou plusieurs coeur(s) CPU (Central Processing Unit) 1320, un ou plusieurs coeur(s) GPU (Graphics Processor Unit) 1330, une interface Entrée/Sortie (I/O : Input/Output) 1340 et un contrôleur mémoire 1342. Différents composants du module SOC 1302 peuvent être couplés à une interconnexion ou un bus tel que décrit ici en référence aux autres figures. Également, le module SOC 1302 peut inclure plus ou moins de composants, tels que ceux décrits ici en référence aux autres figures. En outre, chaque composant du module SOC 1320 peut inclure un ou plusieurs autres composants, à titre d'exemple, comme décrit en référence aux autres figures ici. Selon un mode de réalisation, le module SOC 1302 (et ses composants) est prévu sur une ou plusieurs matrices de circuit intégré (IC : Integrated Circuit) qui sont, par exemple, empaquetés dans un dispositif à semi-conducteur simple. Comme illustré sur la figure 13, le module SOC 1302 est couplé à une mémoire 1360 (qui peut être similaire ou identique à la mémoire décrite ici en référence aux autres figures) via le contrôleur mémoire 1342. Selon un mode de réalisation, la mémoire 1360 (ou une partie de celle-ci) peut être intégrée sur le module SOC 1302. L'interface I/O 1340 peut être couplée à un ou plusieurs dispositif(s) E/S 1370, à titre d'exemple, via une interconnexion et/ou un bus comme décrit ici en référence aux autres figures. Un (des) dispositif(s) E/S 1370 peut inclure un ou plusieurs élément(s) parmi un clavier, une souris, un pavé tactile, un écran, un dispositif de capture d'images/vidéo (tel qu'une caméra ou un caméscope / enregistreur vidéo), un écran tactile, un haut-parleur ou similaire. En outre, le module SOC 1302 peut inclure/intégrer la logique 140, le(s) capteur(s) 150 et/ou la logique/le pilote 180 selon un mode de réalisation. À titre de variante, la logique 140, le(s) capteur(s) 150, et/ou la logique/le pilote 180 peuvent être prévus en dehors du module SOC 1302 (à savoir sous forme de logique discrète). En outre, les scènes, images ou cadres décrit(e)s ici (qui peuvent, par exemple, être traités par la logique graphique dans divers modes de réalisation) peuvent être capturés par un dispositif de capture d'image (tel qu'une caméra numérique (qui peut être encastrées dans un autre dispositif, tel qu'un téléphone intelligent (smart phone), une tablette, un ordinateur portable, une caméra autonome, etc.) ou un dispositif analogique dont les images capturées sont ensuite converties sous forme numérique). En outre, le dispositif de capture d'images peut être capable de capturer de multiples cadres selon un mode de réalisation. En outre, un ou plusieurs des cadres dans la scène est/sont conçu(s)/généré(s) sur un ordinateur dans certains modes de réalisation. Également, un ou plusieurs des cadres de la scène peu(ven)t être présenté(s) via un écran (tel que l'écran décrit en référence aux -17- figures 11 et/ou 12, incluant par exemple un dispositif d'affichage à écran plat, etc.). Les exemples suivants présentent d'autres modes de réalisation. L'Exemple 1 inclut un dispositif comprenant: une logique, la logique comprenant au moins partiellement une logique matérielle afin de détecter une demande de modification d'un réglage de performance pour un processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge doivent être détectées sur une période de temps. L'Exemple 2 inclut le dispositif de l'exemple 1, comprenant la logique pour déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). L'Exemple 3 inclut le dispositif de l'exemple 1, dans lequel la demande doit être transmise depuis un système d'exploitation ou une application logicielle. L'Exemple 4 inclut le dispositif de l'exemple 3 comprenant, en outre, une mémoire pour stocker le système d'exploitation ou l'application logicielle. L'Exemple 5 inclut le dispositif de l'exemple 1, dans lequel les informations d'extensibilité de la charge doivent être réévaluées après modification de la demande. L'Exemple 6 inclut le dispositif de l'exemple 1 comprenant, en outre, une mémoire pour stocker les informations d'extensibilité de la charge. L'Exemple 7 inclut le dispositif de l'exemple 1 comprenant une logique pour modifier une fréquence de fonctionnement ou une tension de fonctionnement du processeur, ou plusieurs d'entre elles, en réponse à la demande de modification. L'Exemple 8 inclut le dispositif de l'exemple 1, dans lequel la logique doit modifier la demande afin d'obtenir une efficacité énergétique améliorée. L'Exemple 9 inclut le dispositif de l'exemple 1, comprenant en outre un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. L'Exemple 10 inclut le dispositif de l'exemple 1, dans lequel le processeur doit comprendre un ou plusieurs coeur(s) de processeur afin d'exécuter des opérations graphiques ou informatiques universelles. L'Exemple 11 inclut le dispositif de l'exemple 1, dans lequel un ou plusieurs des éléments parmi la logique, le régulateur de tension ou la mémoire se trouve(nt) sur une matrice de circuit intégré simple. L'Exemple 12 comprend un procédé consistant à: détecter une demande de -18- modification d'un réglage de performance pour un processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge doivent être détectées sur une période de temps. L'Exemple 13 comprend le procédé de l'exemple 12, consistant en outre à déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). L'Exemple 14 inclut le procédé de l'exemple 12, consistant en outre à transmettre la demande depuis un système d'exploitation ou une application logicielle. L'Exemple 15 inclut le procédé de l'exemple 12, consistant en outre à réévaluer les informations d'extensibilité de la charge après modification de la demande. L'Exemple 16 inclut le procédé de l'exemple 12, consistant en outre à causer une modification d'un ou plusieurs des composants parmi une fréquence de fonctionnement ou une tension de fonctionnement du processeur en réponse à la modification de la demande. L'Exemple 17 inclut le procédé de l'exemple 12, consistant en outre à causer une modification de la demande pour obtenir une efficacité énergétique améliorée. L'Exemple 18 inclut le procédé de l'exemple 12, consistant en outre à recevoir des signaux d'un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. L'Exemple 19 inclut le support lisible par ordinateur comprenant une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur un processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de : détecter une demande de modification d'un réglage de performance pour le processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge sont détectées sur une période de temps. L'Exemple 20 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur un processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement -19- graphique (GPU) ou de technologie graphique (GT). L'Exemple 21 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de transmettre la demande depuis un système d'exploitation ou une application logicielle. L'Exemple 22 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de réévaluer les informations d'extensibilité de la charge après modification de la demande. L'Exemple 23 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur un processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de causer une modification d'un ou plusieurs des composants parmi une fréquence de fonctionnement ou une tension de fonctionnement du processeur en réponse à la modification de la demande. L'Exemple 24 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) et causer une modification de la demande afin d'obtenir une efficacité énergétique améliorée. L'Exemple 25 inclut le support lisible par ordinateur de l'exemple 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur un processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de recevoir des signaux d'un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. L'Exemple 26 inclut un système comprenant : un processeur, un dispositif de stockage afin de stocker des réglages de performance pour le processeur ; et une logique, la logique comprenant au moins partiellement une logique matérielle, afin de détecter une demande de changement de réglage des performances stockées pour le processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge sont détectées sur une période de temps. L'Exemple 27 comprend le système de l'exemple 26, comprenant la -20- logique pour déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). L'Exemple 28 inclut le système de l'exemple 26, dans lequel la demande doit être transmise depuis un système d'exploitation ou une application logicielle. L'Exemple 29 inclut le système de l'exemple 28, comprenant en outre une mémoire pour stocker le système d'exploitation ou l'application logicielle. L'Exemple 30 inclut le système de l'exemple 26, dans lequel les informations d'extensibilité de la charge doivent être réévaluées après modification de la demande. L'Exemple 31 inclut le système de l'exemple 26, comprenant en outre une mémoire pour stocker les informations d'extensibilité de la charge. L'Exemple 32 inclut le système de l'exemple 26, comprenant une logique pour modifier une fréquence de fonctionnement ou une tension de fonctionnement du processeur, ou plusieurs d'entre elles, en réponse à la demande de modification. L'Exemple 33 inclut le système de l'exemple 26, dans lequel la logique est de modifier la demande afin d'obtenir une efficacité énergétique améliorée. L'Exemple 34 inclut le système de l'exemple 26, comprenant en outre un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. L'Exemple 35 inclut le système de l'exemple 26, dans lequel le processeur doit comprendre un ou plusieurs coeur(s) de processeur afin d'exécuter des opérations graphiques ou informatiques universelles. L'Exemple 36 inclut le système de l'exemple 26, dans lequel un ou plusieurs des éléments parmi la logique, le régulateur de tension ou la mémoire se trouvent sur une matrice de circuit intégré simple. L'Exemple 37 inclut un dispositif comprenant un moyen de mettre en oeuvre un procédé tel que décrit dans l'un quelconque des exemples précédents. L'Exemple 38 inclut un stockage lisible par ordinateur qui comprend des instructions lisibles par ordinateur, lorsqu'elles sont exécutées, pour mettre en oeuvre un procédé ou un dispositif tel que revendiqué dans l'une quelconque des revendications précédentes. Dans divers modes de réalisation, les opérations décrites ici, à titre d'exemple, en référence aux figures 1-13, peuvent être mises en oeuvre sous forme de matériel (circuit logique par exemple), de logiciel, de micrologiciel ou d'une combinaison de ceux-ci, qui peut être fournie sous la forme d'un produit de programme informatique, à titre d'exemple, incluant un support lisible sur une machine tangible (non transitoire par exemple) ou un -21- support lisible par ordinateur ayant des instructions (ou procédures logicielles) stockées sur celui-ci et utilisées pour programmer un ordinateur afin d'exécuter un processus décrit ici. Le support lisible par ordinateur peut inclure un dispositif de stockage tel que ceux décrits par rapport aux figures 1 à 13. En outre, ce type de support lisible sur ordinateur peut être téléchargé sous la forme d'un produit de programme informatique, dans lequel le programme peut être transféré d'un ordinateur distant (un serveur par exemple) vers un ordinateur demandeur (un client par exemple) au moyen de signaux de données fournis dans une onde porteuse ou tout autre support de propagation via une liaison de communication (par exemple un bus, un modem, ou une connexion réseau). La référence dans la description à « un mode de réalisation » ou « au mode de réalisation » signifie qu'une fonctionnalité, structure et/ou caractéristique particulière décrite en connexion avec le mode de réalisation peut être incluse dans au moins une mise en oeuvre. Les utilisations de l'expression « selon un mode de réalisation » à différents endroits dans la description peuvent ou ne peuvent pas tous faire référence au même mode de réalisation. Également, dans la description et les revendications, les termes « couplé » et « connecté », conjointement avec leurs dérivés, peuvent être utilisés. Dans certains modes de réalisation, « connecté » peut être utilisé pour indiquer que deux ou plusieurs éléments sont en contact physique ou électrique direct les uns avec les autres. « Couplé » peut signifier que deux ou plusieurs éléments sont en contact physique ou électrique direct. Cependant, « couplé » peut également signifier que deux ou plusieurs éléments peuvent ne pas être en contact direct les uns avec les autres, mais peuvent toujours coopérer ou interagir les uns avec les autres. Ainsi, bien que des modes de réalisation aient été décrits dans un langage spécifique à des propriétés structurales et/ou à des actions méthodologiques, on doit comprendre que l'objet revendiqué selon l'invention ne peut pas être limité aux fonctionnalités ou actions spécifiques décrites. En revanche, les propriétés et actions spécifiques sont décrites pour montrer simplement des exemples de mise en oeuvre de l'objet revendiqué selon l'invention. REVENDICATIONS1. Dispositif comprenant : une logique, la logique comprenant au moins partiellement une logique matérielle, afin de détecter une demande de modification d'un réglage de performance pour un processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge doivent être détectées sur une période de temps. 2. Dispositif selon la revendication 1, comprenant une logique pour déterminer des informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). 3. Dispositif selon la revendication 1, dans lequel la demande doit être transmise depuis un système d'exploitation ou une application logicielle. 4. Dispositif selon la revendication 3, comprenant en outre une mémoire pour stocker le système d'exploitation ou l'application logicielle. 5. Dispositif selon la revendication 1, dans lequel les informations d'extensibilité de la charge doivent être réévaluées après modification de la demande. 6. Dispositif selon la revendication 1, comprenant en outre une mémoire pour stocker les informations d'extensibilité de la charge.-23- 7. Dispositif selon la revendication 1, comprenant une logique pour modifier une fréquence de fonctionnement ou une tension de fonctionnement du processeur, ou plusieurs d'entre elles, en réponse à la demande de modification. 8. Dispositif selon la revendication 1, dans lequel la logique doit modifier la demande afin d'obtenir une efficacité énergétique améliorée. 9. Dispositif selon la revendication 1, comprenant en outre un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. 10. Dispositif selon la revendication 1, dans lequel le processeur doit comprendre un ou plusieurs coeur(s) de processeur afin d'exécuter des opérations graphiques ou informatiques universelles. 11. Dispositif selon la revendication 1, dans lequel un ou plusieurs des éléments parmi la logique, le régulateur de tension ou la mémoire se trouvent sur une matrice de circuit intégré simple. 12. Procédé consistant à: détecter une demande de modification d'un réglage de performance pour un processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge sont détectées sur une période de temps.-24- 13. Procédé selon la revendication 12, consistant en outre à déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). 14. Procédé selon la revendication 12, consistant en outre à transmettre la demande depuis un système d'exploitation ou une application logicielle. 15. Procédé selon la revendication 12, consistant en outre à réévaluer les informations d'extensibilité de la charge après modification de la demande. 16. Procédé selon la revendication 12, consistant en outre à causer une modification d'un ou 10 plusieurs des composants parmi une fréquence de fonctionnement ou une tension de fonctionnement du processeur en réponse à la modification de la demande. 17. Procédé selon la revendication 12, consistant en outre à causer une modification de la demande afin d'obtenir une efficacité énergétique améliorée. 18. Procédé selon la revendication 12, consistant en outre à recevoir des signaux d'un ou 15 plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge. 20 19. Support lisible par ordinateur, comprenant une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur un processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de : détecter une demande de modification d'un réglage de performance pour le-25- processeur, dans lequel la logique doit causer une modification de la demande basée sur des informations d'extensibilité de la charge qui doivent être détectées par la logique matérielle dans le processeur, dans lequel les informations d'extensibilité de la charge sont détectées sur une période de temps. 20. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de déterminer les informations d'extensibilité de la charge basées au moins en partie sur un nombre de cycles non bloqués, non arrêtés du processeur ou d'occupation de l'unité de traitement graphique (GPU) ou de technologie graphique (GT). 21. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de transmettre la demande depuis un système d'exploitation ou une application logicielle. 22. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de réévaluer les informations d'extensibilité de la charge après modification de la demande. 23. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de causer une modification d'un ou plusieurs des composants parmi une fréquence de fonctionnement ou une tension de fonctionnement du processeur en réponse à la modification de la demande.-26- 24. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de causer une modification de la demande et obtenir une efficacité énergétique améliorée. 25. Support lisible par ordinateur selon la revendication 19, comprenant en outre une ou plusieurs instruction(s) qui, lorsqu'elle(s) est/sont exécutée(s) sur le processeur, configure(nt) le processeur pour effectuer une ou plusieurs opération(s) afin de recevoir des signaux d'un ou plusieurs capteurs afin de détecter des variations, correspondant à des composants du processeur, dans un ou plusieurs des composants suivants : température, fréquence de fonctionnement, tension de fonctionnement, courant de fonctionnement, capacité dynamique, consommation d'énergie, activité de communication inter-noyau ou des informations d'extensibilité de la charge.