Brevet FR2731091A1 — publié le 19960830

Procédé et dispositif de réduction de la consommation d'énergie d'un ordinateur pendant l'entrée de données. La présente invention concerne un procédé et un dispositif d'économie d'énergie, et plus particulièrement un procédé et un dispositif pour diminuer la consommation d'énergie d'un ordinateur pendant l'entrée de données. Les dispositifs classiques d'économie d'énergie sont simplement des circuits d'économie d'énergie bien connus conçus au moyen de techniques simples pour détecter la situation normale de l'ordinateur, plutôt que pour répondre au mode de fonctionnement réel de l'ordinateur. Il en résulte que l'efficacité du système d'économie d'énergie de l'ordinateur ne peut pas atteindre un degré optimum dans la plupart des situations qui se présentent pendant le fonctionnement de l'ordinateur. Par exemple, la plupart des circuits d'économie d'énergie classiques ne peuvent pas économiser efficacement la source d'alimentation de l'ordinateur quand l'ordinateur est en train de recevoir des données en entrée. En se référant à la figure 1, qui est un organigramme d'un système d'économie d'énergie classique conçu pour un système informatique, en premier lieu la fonction classique d'économie d'énergie est conçue de façon à déterminer si l'unité centrale de traitement (CPU) de l'ordinateur fonctionne en mode repos en utilisant la configuration matérielle. De manière générale, quand la CPU est au repos, cela signifie que la CPU n'exécute aucune tâche, telle que les demandes d'interruption, les écritures en mémoire vidéo, les accès disque dur/disquette, les impressions, etc. Une fois que la configuration matérielle a détecté que la CPU a été au repos pendant une période de temps prédéterminée (en général comprise entre 128 ms et 16 sec), l'horloge CPU sera ralentie pour réduire la consommation d'énergie.Cependant, cette conception classique ne permet pas une efficacité d'économie d'énergie élevée quand l'ordinateur fonctionne pendant une période d'entrée massive de données. Aujourd'hui, la vitesse des ordinateurs est beaucoup plus grande qu'auparavant à cause de la vitesse de fonctionnement élevée de la CPU. La vitesse de fonctionnement de la CPU 486 fonctionnant avec un signal d'horloge de 33 NHz peut être deux fois plus grande que celle de la CPU 386 fonctionnant avec la même fréquence d'horloge lorsqu'on affiche une image graphique.Cependant, on a trouvé que des ordinateurs équipés de CPU différentes fonctionnant à des fréquences différentes peuvent prendre le même temps pour exécuter un programme interactif, tel qu'un programme de traitement de texte ou un programme de tableur, parce que la vitesse d'entrée des données est limitée par l'utilisateur quand il utilise le clavier de l'ordinateur, ce qui implique qu'une CPU 33 NHz 486 a les mêmes performances qu'une CPU 16 MHZ 486 pendant la période d'entrée des données. En conséquence, on ne peut économiser l'énergie de façon significative qu'en diminuant la fréquence d'horloge de la CPU pendant la période d'entrée des données.Malheureusement, la technique existante de gestion de l'énergie ne peut que détecter si la CPU est au repos et elle n'offre pas la possibilité de déterminer avec quelles caractéristiques un utilisateur est en train d'utiliser l'ordinateur. En conséquence, il est important de développer un dispositif de commande pour déterminer automatiquement si la CPU d'un ordinateur fonctionne dans un état d'entrée de données ou non, et de diminuer ainsi la vitesse de fonctionnement de la CPU de façon à économiser 1' énergie. On se réfère maintenant à la figure 2 qui est un organigramme représentant les traitements effectués par un ordinateur lorsqu'un utilisateur tape sur une touche quelconque du clavier, et à la figure 3 qui représente le temps de chaque traitement. La description qui suit correspond aux traitements effectués par un ordinateur équipé d'une CPU 486 fonctionnant à 20 MHz. Quand l'utilisateur tape sur une touche quelconque du clavier, le contrôleur de clavier génère un signal de demande d'interruption vers la CPU.Typiquement, le temps de génération du signal de demande d'interruption est d'environ 10 s. Dès que la CPU reçoit le signal de demande d'interruption provenant du contrôleur de clavier, elle active un sous-programme de service des interruptions qui est généralement un sous programme de sous-programme contenant environ 200 instructions et qui prend typiquement 30 ps (150 ns*200) à l'exécution. La donnée entrée par l'utilisateur peut être affichée sur un moniteur via le contrôle du sous-programme d'interruption du logiciel DOS qui contient typiquement environ 300 instructions. La procédure d'affichage de l'ordinateur prend normalement environ 90s (300ns*300) pour afficher la donnée entrée par l'utilisateur à partir du clavier. Si l'ordinateur fonctionne dans l'environnement d'un système d'exploitation WINDOWS, WINDOWS doit exécuter environ 1000 instructions pour calculer la position d'affichage de la donnée entrée, et prend 300 As (300ns*1000) pour calculer la position d'affichage et pour ensuite écrire la donnée dans la mémoire d'affichage.On notera qu'il peut s'écouler environ 130 As entre l'instant où l'utilisateur tape sur une touche quelconque du clavier et l'affichage effectif de la donnée sur l'afficheur de l'ordinateur quand il fonctionne sous un système DOS, alors que cela prend environ 340 As quand il fonctionne sous un système d'exploitation WINDOWS. En général, la plupart des opérateurs entraînés sont capables de taper en moyenne à raison de 5 touches du clavier par seconde. La relation entre le signal d'horloge de la CPU et le temps lorsqu'on utilise la technique de gestion de l'énergie existante est représentée à la figure 3 et est décrite ci-après. Quand l'utilisateur tape sur une première touche du clavier, la CPU de l'ordinateur est en mode actif pendant une période de temps de 340 As (0-T1) pour afficher la donnée sur l'afficheur de l'ordinateur. Ensuite, dans la période de temps suivante de 128 ms (T1-T2), la CPU fonctionne en mode repos. La période de temps T1-T2 est utilisée par le contrôleur d'économie d'énergie existant pour déterminer si la CPU travaille en mode repos ou non. Dans la période de temps T2-T3, qui est d'environ 72 ms, le signal d'horloge de la CPU est modifiée à un état de fréquence basse (2 MHz) et l'état à fréquence basse est maintenu jusqu'à ce que l'utilisateur tape sur une deuxième touche du clavier, c'est-à-dire à l'instant T3. L'instant T3 est environ 200 ms après la frappe de la première touche. A l'instant T3, le signal d'horloge de la CPU remonte à nouveau à la fréquence élevée de 20 MHz. En se référant à la figure 3, on comprend que la vitesse de fonctionnement de la CPU est toujours plus élevée que celle du fonctionnement induit par l'utilisateur pendant la période d'entrée des données. En outre, le circuit de commande d'économie d'énergie classique est seulement capable de faire passer le signal d'horloge d'un état de fréquence élevée à un état de fréquence basse quand il détecte que la CPU de l'ordinateur fonctionne en mode repos. Un objet de la présente invention est de fournir un procédé et un dispositif d'économie d'énergie pour économiser l'énergie consommée par l'ordinateur spécialement pendant la période d'entrée des données. Selon l'invention, l'ordinateur est conçu pour pouvoir détecter la situation d'une période d'entrée de données, telle que l'écriture d'un menu ou d'un document, et il est également possible de modifier le signal d'horloge à un état de fréquence basse pendant la période de temps 0-T2, sans affecter son fonctionnement pendant la phase d'entrée des données. Le circuit de commande d'économie d'énergie classique est seulement capable de faire passer le signal d'horloge d'un état de fréquence élevée à un état de fréquence basse quand il détecte que la CPU de l'ordinateur fonctionne en mode repos. L'énergie économisée en employant le système d'économie d'énergie de la présente invention peut se calculer comme suit (1) la vitesse d'entrée des données est de cinq frappes de touches par seconde, l'efficacité d'économie d'énergie Eps sera énergie cons > amée (20 - 2)*128ms 2304 Eps = consommation initiale (20 * 128,34 + 2 * 72) = 2710.8 = (2) la vitesse d'entrée des données est de une frappe de touche par seconde, l'efficacité d'économie d'énergie Eps sera (20 - 2 > * 128 ms 2304 Eps = = = 53.56 z P (20 * 128.34 + 2* (loooms - 128.34ms)) 4310.12 Selon les calculs précédents, on note que l'efficacité d'économie d'énergie atteinte en utilisant la nouvelle technique au lieu de la technique existante peut être de 74% dans le cas d'un opérateur entraîné et de 54% dans le cas d'un opérateur non entraîné. On peut même atteindre un efficacité d'économie d'énergie plus élevée si le signal d'horloge de la CPU peut être passé à un état dans lequel la fréquence de travail est la plus faible autorisée en fonction de la vitesse d'entrée des données de l'opérateur.Le signal d'horloge de la CPU doit cependant avoir une valeur limite minimale pour afficher les données entrées parce que les êtres humains distinguent le clignotement de l'affichage visuel en dessous de 0,1 seconde. En conséquence, la CPU doit être limitée de façon à avoir une vitesse d'affichage minimum de 0,1 seconde pour l'affichage des données entrées. Dans un mode de réalisation préféré de la présente invention, on utilise une configuration matérielle combinée à un module logiciel pour commander les dispositifs d'économie d'énergie dont l'efficacité d'économie d'énergie est plus élevée en comparaison avec les dispositifs de commande d'économie d'énergie de la technique antérieure. La configuration matérielle de la présente invention est capable d'enregistrer et d'analyser la situation qui s'exécute pendant une période de temps passée qui peut être modifiée, puis le résultat analysé est comparé avec un ensemble de nombres prédéterminés qui peuvent être configurés à l'avance par le module logiciel de façon à déterminer si la CPU est en mode de fonctionnement d'entrée des données ou non.En plus, la présente invention est capable de modifier le signal d'horloge de la CPU à une valeur minimum de fréquence autorisée qui dépend de la vitesse d'entrée des données réelle de l'opérateur, de façon à obtenir l'efficacité d'économie d'énergie la plus élevée possible. En général, les tâches de la CPU peuvent être classées comme suit : (1) Demande d'interruption clavier, (2) Accès direct mémoire, (3) Autres demandes d'interruption, (4) Ecriture en mémoire vidéo, (5) Accès disque dur, (6) Accès disquette, (7) Impression, (8) Port série. La CPU a une possibilité d'exécuter les différentes tâches ci-dessus en même temps tout en exécutant un logiciel d'application. La CPU passe la plupart du temps à exécuter les tâches de traitement des interruptions clavier et d'écriture en mémoire vidéo pendant la période d'entrée des données. Selon cette caractéristique, la présente invention dispose d'une pluralité de registres de données destinés à détecter et enregistrer les situations des différentes tâches associées de la CPU.En plus, on utilise un enregistreur de séquence pour récupérer les situations de travail de chaque registre de donnée, de façon à ce que les tâches exécutées par la CPU et la relation séquentielle entre ces tâches puissent être enregistrées dans l'enregistreur de séquence pour permettre une analyse ultérieure. Alternativement, la CPU peut déterminer la vitesse d'entrée des données de l'opérateur en détectant la fréquence du signal de demande d'interruption généré par le clavier. I1 est ensuite possible de déterminer si l'ordinateur fonctionne en mode d'entrée des données ou non au moyen d'un circuit de comparaison utilisé pour comparer l'enregistrement effectué dans l'enregistreur de séquence avec un ensemble de nombres prédéterminés qui peut être modifié et peut être configuré par logiciel. Une fois que la situation d'entrée des données et que la vitesse d'entrée des données est détectée pendant la période d'entrée des données, un circuit de commande du signal d'horloge peut automatiquement modifier le signal d'horloge de la CPU à une valeur de fréquence minimum autorisée. Selon un autre aspect de la présente invention, on dispose d'un dispositif d'économie d'énergie en utilisant une configuration matérielle qui est capable d'enregistrer et d'analyser les tâches qui ont été exécutées par la CPU pendant une période de temps passé prédéterminée de façon à déterminer si l'ordinateur fonctionne en mode d'entrée des données ou non. En outre, on peut modifier le signal d'horloge de la CPU à la fréquence la plus basse autorisée en fonction de la vitesse réelle d'entrée des données par l'opérateur. Selon un autre aspect supplémentaire de la présente invention, on dispose d'un dispositif de détection qui utilise une pluralité de registres de données destinés à enregistrer les différentes situations pendant que la CPU exécute chaque tâche. En plus, on dispose d'un enregistreur séquentiel (par exemple un dispositif à file d'attente) destiné à recueillir les situations de chaque registre de données de façon à enregistrer le nombre et la séquence de chaque tâche exécutée. Un circuit de comparaison est utilisé pour comparer le résultat avec un nombre prédéterminé de façon à déterminer si l'ordinateur fonctionne en mode d'entrée de données ou non. Les objets précédents et les autres objets, caractéristiques, aspects et avantages de la présente invention vont apparaître plus clairement avec la description détaillée suivante de la présente invention considérée en relation avec les dessins joints. La figure 1 est un organigramme d'un dispositif d'économie d'énergie classique pour ordinateur la figure 2 est un organigramme montrant comment l'ordinateur affiche la donnée entrée sur un moniteur la figure 3 représente une relation entre le signal d'horloge de la CPU et le temps pour le dispositif d'économie d'énergie de l'ordinateur la figure 4 est un organigramme selon la présente invention la figure 5 est un diagramme du circuit de commande d'un mode de réalisation préféré de la présente invention ; et les figures 6a et 6b montrent la différence entre les dispositifs de commande d'économie d'énergie de la technique précédente et de la présente invention pendant la période d'entrée de données. Référence est faite maintenant à la figure 4 et à la figure 5, qui représentent respectivement un organigramme et un circuit de commande d'un mode de réalisation préféré de la présente invention. Le circuit de commande possède des moyens d'enregistrement comprenant une pluralité de registres de données 1 destinés à détecter et à enregistrer les situations des différentes tâches exécutées par la CPU d'un ordinateur, telles que la demande d'interruption clavier, l'accès direct mémoire, etc. Un enregistreur séquentiel 2 est prévu pour enregistrer les situations comprenant le nombre et la séquence des tâches exécutées par la CPU.Un signal d'horloge de 32 KHZ est fourni à l'enregistreur séquentiel 2, qui sert de fréquence de référence, de façon à ce que la vitesse d'entrée des données par l'opérateur puisse être déterminée en comparant -la fréquence de référence avec la fréquence générée par le signal d'interruption clavier émis par le clavier. L'enregistreur séquentiel 2 peut être composé d'une pluralité de registres, d'une pluralité de bascules bistables, et d'une pluralité de portes logiques internes. Un circuit de comparaison 3 comprenant une pluralité de comparateurs internes est utilisé pour comparer la donnée résultante de l'enregistreur séquentiel 2 avec un nombre prédéterminé qui peut être configuré à l'avance par logiciel, le nombre pouvant être modifié. La période de temps de la comparaison dépend de la fréquence prédéterminée, par exemple 1 KHz, de la bascule bistable 4 qui suit le circuit de comparaison 3. Pendant la période de temps prédéterminée de la bascule bistable 4, si le nombre en sortie de l'enregistreur séquentiel 2 est supérieur au nombre prédéterminé, ce qui est détecté par comparaison effectuée par le circuit de comparaison 3, la bascule bistable 4 émet un signal de commande à un multiplexeur 5, ce qui signifie que l'ordinateur reçoit une donnée en entrée.Le multiplexeur 5 émet alors un signal d'horloge qui est le plus bas autorisé vers la CPU de façon à fonctionner en mode d'entrée de données. Au contraire, si l'ordinateur ne reçoit pas de donnée en entrée, le multiplexeur 5 émet un signal d'horloge élevé vers la CPU. Le compteur 7 représenté sur la figure 5 est utilisé pour calculer la vitesse de frappe (c'est-àdire le nombre de touches enfoncées par seconde) de l'utilisateur. La donnée correspondante à la vitesse de frappe est ensuite transmise au diviseur de fréquence 6, et le diviseur de fréquence 6 ajuste la fréquence d'horloge qui est fournie à la CPU en fonction de la donnée. De manière générale, une vitesse de frappe plus élevée fait qu'une fréquence d'horloge plus élevée est fournie à la CPU. Les figures 6a et 6b sont des diagrammes des temps qui représentent les différences entre la fréquence d'un signal d'horloge et le temps, en ce qui concerne les circuits d'économie d'énergie de la technique antérieure et de la présente invention. En supposant que la vitesse d'entrée des données de l'opérateur est de 4 touches par seconde (ctest-à-dire une touche toutes les 0,25 seconde), on note sur la figure 6a que le circuit d'économie d'énergie classique peut déterminer que l'ordinateur est en situation de repos, puis faire passer le signal d'horloge d'une fréquence élevée à une fréquence plus basse jusqu'à ce qu'une seconde touche soit enfoncée.Cependant, dans le mode de réalisation préféré de la présente invention selon la figure 6b, la configuration matérielle du circuit d'économie d'énergie prend une période de temps de 0,7 seconde pour recueillir et analyser la situation de l'ordinateur. Après la période de temps de 0,7 seconde, le signal d'horloge passe à une fréquence plus basse de façon à diminuer la consommation d'énergie pendant que l'on détecte une situation d'entrée de données. Le circuit d'économie d'énergie détecte en permanence si l'ordinateur reçoit une donnée en entrée toutes les 0,7 seconde et change la fréquence du signal d'horloge en fonction de la vitesse d'entrée de données de l'opérateur. Par exemple, dans l'intervalle de temps compris entre 0,7 et 1,4 seconde, pendant que la vitesse d'entrée de données de. l'opérateur passe en faible vitesse, la situation est détectée et le signal d'horloge est encore diminuée à une valeur de fréquence plus basse comme représentée en traits pleins sur la figure 6b après l'instant correspondant à 1,4 seconde. Au contraire, si le circuit d'économie d'énergie détecte que l'ordinateur reçoit une entrée de données à une vitesse plus élevée, le signal d'horloge passe à une fréquence plus élevée, comme représenté en traits pointillés sur la figure 6b après l'instant correspondant à 1,4 seconde, de façon à satisfaire aux conditions imposées par la vitesse d'entrée de données plus élevée. Le circuit d'économie d'énergie de la présente invention est capable d'économiser l'énergie même sous APM (Advanced Power Management) diffusé par Microsoft Corporation. La raison en est que le logiciel d'économie d'énergie APM détecte que la CPU fonctionne en mode repos, alors que la présente invention est capable de juger si la CPU de l'ordinateur reçoit une entrée de données en récupérant et en analysant les tâches précédentes exécutées par la CPU sur une période de temps prédéterminée de façon à obtenir un effet d'économie d'énergie. Revendications 1. Procédé d'économie d'énergie pour réduire la consommation d'énergie d'un ordinateur pendant une période d'entrée de données, comprenant les étapes consistant à enregistrer les données des tâches exécutées pendant une période de temps prédéterminée ; analyser les données enregistrées des tâches exécutées de façon à déterminer si l'ordinateur reçoit les données en entrée modifier le signal d'horloge de l'unité centrale de traitement à une valeur de fréquence qui est la plus basse autorisée en fonction de la vitesse d'entrée des données pendant que l'ordinateur reçoit les données en entrée, et modifier le signal d'horloge de l'unité centrale de traitement à une valeur de fréquence qui est la plus élevée autorisée pendant que l'ordinateur ne reçoit pas de données en entrée. 2. Procédé d'économie d'énergie selon la revendication 1 dans lequel les données enregistrées des tâches exécutées comprennent le nombre et la séquence de chaque tâche exécutée par l'unité centrale de traitement de l'ordinateur. 3. Procédé d'économie d'énergie selon la revendication 1 ou 2, caractérisé en ce que la fréquence la plus basse pendant l'entrée des données est sélectionnée en fonction de la vitesse d'entrée des données (figure 6b). 4. Dispositif d'économie d'énergie destiné à réduire la consommation d'énergie d'un ordinateur pendant une période d'entrée de données, comprenant des moyens d'enregistrement (1,2) destinés à enregistrer les données des tâches exécutées, qui comprennent le nombre et la séquence de chaque tâche exécutée par l'unité centrale de traitement de l'ordinateur pendant une période de temps prédéterminée des moyens d'analyse (3,4) destinés à analyser les données enregistrées des tâches exécutées de façon à déterminer si l'ordinateur reçoit des données en entrée ; et des moyens de modification (5,6) destinés à modifier le signal d'horloge de l'unité centrale de traitement de l'ordinateur en fonction de la vitesse d'entrée des données. 5. Dispositif selon la revendication 4, caractérisé en ce que les moyens d'enregistrement comprennent une pluralité de registres de données (1) destinés à détecter et à enregistrer les situations des tâches exécutées par l'unité centrale de traitement de l'ordinateur, ainsi que un enregistreur séquentiel (2) destiné à enregistrer les situations comprenant le nombre et la séquence des tâches exécutées par l'unité centrale de traitement, l'enregistreur séquentiel (2) étant cadencé par un signal d'horloge pour effectuer une comparaison avec les données recueillies par l'enregistreur séquentiel de façon à déterminer la vitesse d'entrée des données par l'opérateur, les moyens d'analyse comprennent un circuit de comparaison (3) destiné à comparer la sortie de l'enregistreur séquentiel (2) avec un nombre prédéterminé ; ainsi que une bascule bistable (4) destinée à déterminer si l'ordinateur reçoit des données en entrée en fonction d'une fréquence prédéterminée, la bascule bistable émet un signal de commande qui signifie que l'ordinateur reçoit des données en entrée à la fin de chaque période de temps en fonction du résultat fourni par le circuit de comparaison (3) ; et les moyens de modification comprennent un multiplexeur (5) destiné à émettre le signal d'horloge & une fréquence adéquate vers l'unité centrale de traitement de l'ordinateur, signal d'horloge qui correspond au signal de sortie de la bascule bistable (4) ; ainsi que un diviseur de fréquence (6) destiné à modifier le signal d'horloge à une valeur de fréquence minimum autorisée et à l'émettre vers le multiplexeur (5) en fonction de la vitesse d'entrée des données enregistrée dans l'enregistreur séquentiel (2). 6. Dispositif d'économie d'énergie selon la revendication 5 dans lequel la fréquence prédéterminée est 1 KHz. 7. Dispositif selon la revendication 5 dans lequel la fréquence du signal d'horloge est 32 KHz. 8. Dispositif selon la revendication 5 dans lequel ledit enregistreur séquentiel (2) comprend une pluralité de registres, une pluralité de bascules bistables et une pluralité de portes logiques. 9. Dispositif selon la revendication 5 dans lequel ledit circuit de comparaison (3) comprend une pluralité de comparateurs. 10. Dispositif d'économie d'énergie selon la revendication 5 dans lequel le nombre prédéterminé comprend une valeur de fréquence de référence et la période de temps du signal d'interruption clavier.