Brevet FR2895107A1 — publié le 20070622

PROGRAMME, SYSTEME D'EXPLOITATION, COMPILATEUR ET DISPOSITIF ELECTRONIQUE POUR REDUIRE LA CONSOMMATION D'ENERGIE La presente invention concerne un programme, un systeme d'exploitation, un compilateur et un dispositif electronique, et elle concerne plus particulierement un microprogramme pour commander un micro-ordinateur incorpore pour la commande d'un dispositif electronique, un programme pour reduire la consommation d'energie d'un logiciel informatique, un systeme d'exploitation, un compilateur et un dispositif electronique. La Publication de Brevet du Japon Non Examine n 2002- 169790 decrit des micro-ordinateurs incorpores pour commander des dispositifs electroniques recents, et des microprocesseurs incorpores dans un ordinateur personnel ou un autre ordinateur, qui comportent une fonction de changement de frequence de fonctionnement dans le but de reduire la consommation d'energie de dispositifs ou de permettre un etalonnage externe de la frequence de fonctionnement. La fonction de changement de frequence de fonctionnement est une fonction pour changer de facon dynamique le cycle d'une horloge de fonctionnement de base, qui est necessaire pour des operations, lorsqu'un micro-ordinateur ou un microprocesseur execute une instruction en langage machine particuliere (par exemple pour ecrire une valeur de frequence de fonctionnement dans un registre d'etablissement de frequence de fonctionnement). Par exemple, lorsqu'une instruction pour reduire la vitesse de fonctionnement (par exemple pour fixer une valeur de frequence basse dans un registre d'etablissement de frequence de fonctionnement) est executee, une section de generation d'horloge (boucle d'asservissement de phase, boucle d'asservissement de retard ou autre circuit similaire) genere une horloge conformement a une frequence de fonctionnement nouvellement fixee. Ceci allonge le cycle de ('horloge de fonctionnement de base. Lorsque le cycle est allonge comme decrit ci-dessus, une horloge de fonctionnement de base, relativement basse, est fournie a un circuit electronique constituant un micro-ordinateur ou un microprocesseur. Ceci diminue le nombre de commutations (nombre de charges / decharges de circuits CMOS) par unite de temps d'un transistor constituant un circuit electronique, ce qui reduit la consommation d'energie. D'autre part, lorsqu'une instruction pour augmenter la vitesse de fonctionnement (par exemple pour fixer une valeur de frequence elevee dans un registre d'etablissement de frequence de fonctionnement) est executee, le cycle de ('horloge de fonctionnement de base est raccourci. Lorsque le cycle de ('horloge de fonctionnement de base est raccourci, la frequence de ('horloge de fonctionnement de base qui est fournie a un circuit electronique s'eleve. Ceci augmente le nombre de commutations par unite de temps d'un transistor constituant un micro-ordinateur ou un microprocesseur. Par consequent, le circuit electronique fonctionne a une vitesse elevee et augmente sa consommation d'energie par unite de temps. Le temps exige pour ('execution d'une instruction est determine par le nombre precite de commutations de transistor (nombre de charges / decharges de circuits CMOS). Par consequent, lorsque le nombre de commutations de transistor par unite de temps augmente, la vitesse de calcul augmente notablement. Depuis quelques annees, it y a une demande visant a reduire la consommation d'energie de dispositifs electroniques pour des microprocesseurs et des micro-ordinateurs. On emploie la fonction suivante pour repondre a une telle demande. Par exemple, pendant un intervalle au cours duquel it nest necessaire d'executer aucune instruction (pendant une periode de repos) un microprocesseur ou un micro-ordinateur recoil une instruction de repos provenant d'un SE (systeme d'exploitation). Lorsqu'une telle condition persiste pendant une duree predeterminee, une fonction de sommeil / attente agit de fagon a abaisser I'horloge de fonctionnement du microprocesseur ou du microordinateur, dans un but d'economie d'energie. Dans un etat de sommeil decrit ci-dessus, le microprocesseur ou le micro-ordinateur commence a surveiller ('apparition d'un evenement (interruption externe) ou d'une autre instruction de retablissement similaire, provenant du SE (systeme d'exploitation), en vue de retourner a une vitesse de fonctionnement normale. A la reception d'un tel evenement ou d'une telle instruction de retablissement, le microprocesseur ou le micro-ordinateur retourne a une horloge de fonctionnement normale, reprend I'execution d'un programme d'utilisateur, et retourne a un etat de fonctionnement normal. Lorsque le microprocesseur ou le micro-ordinateur ci-dessus est utilise, le createur du logiciel ne peut pas commander arbitrairement la vitesse de fonctionnement du logiciel a executer. Par consequent, lorsqu'une gestion d'energie dolt titre effectuee, on utilise une fonction de commande de frequence de fonctionnement offerte par le materiel du microprocesseur ou du micro-ordinateur, ou par un systeme d'exploitation. L'espace de memoire (etendue de memoire) disponible pour ('execution d'un programme de commande est particulierement limite pour un micro-ordinateur ou un microprocesseur qui est incorpore dans un dispositif electronique, en vue dune commande de dispositif electronique. Par consequent, it y a de nombreux cas dans lesquels un systeme d'exploitation n'est pas utilise. II en resulte que la consommation d'energie peut titre reduite seulement en utilisant une fonction de sommeil offerte par le materiel d'un micro-ordinateur. Du fait que seulement une etendue de memoire limitee etait disponible pour le micro-ordinateur classique envisage ci-dessus, et autres, et pour I'execution d'un programme pour commander un tel materiel, it etait difficile de commander arbitrairement la frequence de fonctionnement. II en resulte que le logiciel quill est possible de faire fonctionner a une vitesse basse et le logiciel quill est necessaire de faire fonctionner a une vitesse elevee etaient executes a une vitesse de fonctionnement normale (sauf dans un etat de sommeil I attente). Par consequent, une gestion de puissance constructive ne pouvait pas titre accomplie en vue de la reduction de la consommation d'energie. La presente invention a ete developpee pour resoudre les problemes decrits ci-dessus, et un but de la presente invention est donc de procurer un programme, un systeme d'exploitation, un compilateur et un dispositif electronique qui sont capables de reduire I'etendue de memoire necessaire a ('execution d'un programme de commande, de faire en sorte qu'un programme de commande accomplisse une gestion d'energie constructive, et de diminuer la consommation d'energie d'un dispositif electronique. Le but ci-dessus est atteint par un programme dont le chargement et ('execution sur un ordinateur comprennent un processus pour I'execution d'un programme d'utilisateur a une premiere frequence, un processus de changement de frequence pour changer la premiere frequence en une frequence arbitraire lorsqu'une interruption apparait sous I'effet d'un facteur arbitraire parmi une pluralite de facteurs d'interruption, pendant que le programme d'utilisateur est en cours d'execution, un processus d'execution de sous-programme pour executer un sous-programme correspondant au facteur d'interruption arbitraire a la frequence arbitraire, un processus de retablissement de frequence pour commuter de la frequence arbitraire vers la premiere frequence, et un processus pour reprendre ('execution du programme d'utilisateur a la premiere frequence, dans lequel le processus de retablissement de frequence est un processus commun qui est effectue apres I'execution d'un sous-programme correspondant a un de la pluralite de facteurs d'interruption. La presente invention permet d'obtenir un programme, un systeme d'exploitation, un compilateur et un dispositif electronique qui sont capables de reduire I'etendue de memoire pour I'execution d'un programme de commande, de faire en sorte qu'un programme de commande exerce une gestion d'energie constructive, et de diminuer la consommation d'energie d'un dispositif electronique. Dans des variantes du programme selon ('invention, celui-ci peut comprendre ('une ou I'autre des dispositions suivantes : La premiere frequence est inferieure a une frequence nominale, et la deuxieme frequence est superieure a la frequence nominale ; Si une interruption apparalt a cause du facteur d'interruption arbitraire, la valeur de la premiere frequence est sauvegardee avant le processus de changement de frequence, et la valeur de la frequence arbitraire est utilisee comme la valeur de la premiere frequence sauvegardee pendant le processus de retablissement de frequence. L'ordre de priorite est defini pour la pluralite de facteurs d'interruption et, si une interruption correspondant a un deuxieme facteur d'interruption, qui a une priorite superieure a celle de la premiere cause d'interruption, apparalt pendant ('execution d'un premier sous-programme correspondant au premier facteur d'interruption, le premier sousprogramme est interrompu pour executer un deuxieme sous-programme, qui correspond au second facteur d'interruption, et dans Iequel ('execution du premier sous-programme reprend apres I'achevement de ('execution du second sous-programme. Apres ('interruption du premier sous-programme, une adresse pour reprendre le premier sous-programme est stockee dans une zone de pile ayant une structure hierarchique, et ('execution du premier sous-programme reprend a I'adresse stockee ; Le premier sous-programme est execute a une frequence arbitraire, la frequence arbitraire est stockee dans une zone de donnees structuree de maniere hierarchique, apres ('interruption de I'execution du premier sous-programme, et ['execution du premier sous-programme reprend a la frequence arbitraire stockee ; Un processus pour introduire un temps d'attente pour stabiliser le fonctionnement d'une horloge de reference est accompli pendant un intervalle entre le processus de changement de frequence et le processus d'execution de sous-programme, ou entre le processus de retablissement de frequence et le processus pour reprendre I'execution du programme d'utilisateur. Le processus de changement de frequence et le processus de 30 retablissement de frequence sont accomplis par un systeme d'exploitation. Selon un autre aspect de I'invention, un programme fait en sorte qu'un ordinateur execute : un processus pour executer un programme d'utilisateur a une premiere frequence; un processus de changement de 35 frequence pour changer la premiere frequence en une frequence arbitraire lorsqu'une interruption apparait a cause d'un facteur arbitraire parmi une pluralite de facteurs d'interruption pendant que le programme d'utilisateur est en cours d'execution; un processus d'execution de sous-programme pour executer un sous-programme correspondant au facteur d'interruption arbitraire, a la frequence arbitraire; un processus de retablissement de frequence pour commuter de la frequence arbitraire vers la premiere frequence; et un processus pour reprendre ('execution du programme d'utilisateur a la premiere frequence; dans lequel le processus de retablissement de frequence est un processus independant qui est accompli apres ('execution d'un sous-programme specifique correspondant un de la pluralite de facteurs d'interruption. Par ailleurs, un autre aspect de ('invention concerne un systeme d'exploitation associe a un ordinateur qui incorpore un programme conforme a ('invention. De plus, ('invention concerne egalement un compilateur pour traduire le programme conforme a ('invention d'un langage de haut niveau en un langage machine et pour inserer une instruction de changement de frequence dans le langage machine. Enfin, un dispositif peut comporter le programme conforme a 'invention. D'autres caracteristiques et avantages de ('invention ressortiront de la description suivante, a lire en relation avec les dessins annexes, dans lesquels : La figure 1 montre un chronogramme illustrant le fonctionnement d'un programme de commande des premier et deuxieme modes de realisation; La figure 2 montre un chronogramme indiquant certaines des etapes de traitement du premier mode de realisation; La figure 3 montre un chronogramme indiquant certaines des etapes de traitement du deuxieme mode de realisation; La figure 4 montre une structure d'une pile de programme; La figure 5 montre une structure d'une pile de donnees d'utilisateur; figure 6 montre des formes d'onde lorsqu'une boucle La d'asservissement de phase ou une boucle d'asservissement de retard change sa frequence de fonctionnement; La figure 7 montre un organigramme illustrant le fonctionnement d'un programme de commande du troisieme mode de realisation; et La figure 8 montre un organigramme illustrant le fonctionnement d'un programme de commande du quatrieme mode de realisation. On decrira ci-dessous des modes de realisation de la presente invention en se referant aux dessins. Dans les dessins, les elements identiques ou equivalents seront designes par les memes numeros de reference, et leur description sera simplifiee ou omise. Premier Mode de realisation Un programme (logiciel) conforme a un premier mode de realisation de la presente invention est incorpore dans un microordinateur (ou microprocesseur). Le micro-ordinateur est monte dans un materiel qui est un dispositif cible pour ('incorporation. La figure 1 est un organigramme illustrant le fonctionnement d'un programme de commande qui a lieu lorsqu'un tel materiel est utilise. On decrira ci-dessous des stapes de traitement individuelles. Lorsque le materiel est mis en fonction ou lorsqu'une instruction d'initialisation explicite est emise par un interrupteur de restauration externe, ou similaire, I'etape S1 est accomplie pour initialiser le materiel. Ensuite, I'etape S2 est accomplie pour initialiser le microprogramme du micro-ordinateur. De fagon plus specifique, I'etape S2 est accomplie, par exemple, pour fixer diverses informations de decision et constantes pour une utilisation ulterieure dans un programme d'utilisateur, et pour definir des facteurs d'interruption acceptables. L'etape S2 est egalement accomplie dans le but de fixer une information de frequence de fonctionnement qui determine la capacite de traitement que dolt procurer ('execution du programme d'utilisateur. Dans un registre (non represents) qui determine la frequence de fonctionnement, it est fixe, par exemple, une premiere frequence qui est la moitie d'une frequence de fonctionnement nominale. Dans ce cas, le micro-ordinateur fonctionne a la moitie de la frequence de fonctionnement nominale jusqu'a ce que le processus de traitement d'interruption a effectuer commence. Ceci garantit que le micro-ordinateur fonctionne avec une faible consommation d'energie en comparaison avec une situation dans laquelle le micro-ordinateur fonctionne a la frequence de fonctionnement nominate. Ensuite, I'etape S3-1 est accomplie pour executer un programme d'utilisateur a la premiere frequence precitee. L'etape S3-2 est accomplie ensuite pour juger si une interruption est generee pendant I'etape S3-1. Si le resultat de jugement obtenu indique qu'aucune interruption nest generee, la sequence retourne a I'etape S3-1 et poursuit I'execution du programme d'utilisateur. Au contraire, si le resultat de jugement obtenu indique qu'une interruption est generee, la sequence passe a I'etape S4-1 et formule un jugement de facteur d'interruption 1 pour des sous-programmes d'interruption. Cette etape ne doit pas toujours titre accomplie par logiciel ou microprogramme. Selon une variante, elle peut titre accomplie par un materiel incorpore dans le micro- ordinateur. Lorsque la sequence passe de I'etape S3-2 a I'etape S4-1, un controleur est effectue pour juger si le facteur d'interruption est 1. Si le resultat de jugement obtenu indique que le facteur d'interruption n'est pas 1, la sequence passe a I'etape S5-1, qui est accomplie pour le jugement d'un facteur d'interruption 2. Au contraire, si le resultat de jugement obtenu indique que le facteur d'interruption est 1, la sequence passe a I'etape S4-2 et sauvegarde la frequence de fonctionnement. On decrira ci-dessous un cas dans lequel la sequence passe de I'etape S4-1 a S4-2 et un cas dans lequel la sequence passe de I'etape S4-1 a S5-1. On decrira initialement un cas dans lequel la sequence passe de I'etape S4-1 a S4-2. Dans ce cas, I'etape S4-2 est accomplie pour sauvegarder ('information de frequence de fonctionnement presente concernant le micro-ordinateur. Dans cette situation, I'information de registre indiquant la frequence de fonctionnement du micro-ordinateur est sauvegardee dans un registre de travail (zone de stockage temporaire). Ceci garantit que ('information de reglage de frequence de fonctionnement du micro-ordinateur (la moitie de la frequence de fonctionnement nominale) qui prevaut avant la generation d'une interruption est correctement sauvegardee. A cette etape, le micro-ordinateur fonctionne a une frequence basse, c'est-a-dire a la moitie de frequence de fonctionnement nominale, du fait que la frequence de fonctionnement du micro-ordinateur n'est pas changee. A I'etape S4-2, I'adresse d'un programme pour reprendre le programme d'utilisateur, qui a ete execute, est stockee au niveau le plus bas (non represents) d'une pile de programme. Cette operation peut titre effectuee soit par le materiel du micro-ordinateur, soit par un microprogramme de commande. Ensuite, I'etape S4-3 est accomplie pour fixer une nouvelle frequence de fonctionnement dans le but de respecter une vitesse d'execution pour un sous-programme qui sera execute ulterieurement. De fagon plus specifique, une information de frequence de fonctionnement est fixee dans un registre qui determine la frequence de fonctionnement pour ('execution d'un sous-programme. A cette etape, ('information de frequence de fonctionnement est changee pour passer de la premiere frequence, c'est-a-dire la moitie de la frequence de fonctionnement nominale, au double de la frequence de fonctionnement nominate. Ceci fait en sorte que la frequence de fonctionnement nouvellement fixee soit utilisee pour ('execution ulterieure d'un sous-programme. Ensuite, I'etape S4-4 est accomplie pour executer un sous-programme qui correspond au facteur d'interruption 1. A cette etape, la nouvelle frequence de fonctionnement donnee a I'etape S4-3 est utilisee pour executer des instructions en langage machine qui constituent le sous-programme. En d'autres termes, la consommation d'energie est augmentee; cependant, la frequence de fonctionnement est augmentse pour ameliorer la capacite de traitement et procurer une execution rapide. Ensuite, ('information de frequence de fonctionnement sauvegardee a I'stape S4-2 retourne alors a un etat qui prevalait au moment de ('execution du programme d'utitisateur (etape S3-1). En d'autres termes, une etape de retablissement de frequence (etape S9) est accomplie apres ('execution du sous-programme associe au facteur d'interruption 1, de fagon que la frequence de fonctionnement change en passant du double de la frequence de fonctionnement nominate a la moitie de la frequence de fonctionnement nominate (premiere frequence). A I'stape S9, I'information de frequence de fonctionnement sauvegardee a I'stape S4-2 est retablie en relation avec le registre qui determine la frequence de fonctionnement du micro-ordinateur. Le microordinateur fonctionnant a une frequence elevee fonctionne alors a la frequence qui prevalait avant le processus de changement de frequence, c'est-a-dire a la moitie de la frequence de fonctionnement nominale (premiere frequence), ce qui reduit la consommation d'energie du dispositif. Lorsque le processus de retablissement de frequence de fonctionnement est accompli a I'etape S9, on suppose qu'un processus de traitement d'interruption est acheve. II en resulte que le processus accompli par le programme d'utilisateur retourne a une valeur d'adresse (qui est obtenue en additionnant la valeur 1 a une adresse de programme d'utilisateur a laquelle une interruption est apparue) qui est indiquee par un pointeur de pile et sauvegardee dans une zone de pile (non representee). L'etape d'execution du programme d'utilisateur (etape S3-1) est ensuite reprise pour la continuation. Dans ce cas, le programme d'utilisateur est execute a la moitie de la frequence de fonctionnement nominate. On decrira ensuite un cas dans lequel la sequence passe de I'etape S4-1 a S5-1. Lorsque la sequence passe de I'etape S4-1 a S5-1, un controle est effectue pour juger si le facteur d'interruption est 2. Si le resultat de jugement obtenu indique que le facteur d'interruption est 2, la sequence passe a I'etape S5-2 a laquelle la frequence de fonctionnement est sauvegardee. Dans ce cas, I'etape S5-2, qui est destinee a sauvegarder la frequence de fonctionnement, I'etape S5-3, qui est destinee a fixer une nouvelle frequence de fonctionnement, et I'etape S5-4, qui est destinee a executer un sous-programme, sont accomplies comme dans le cas des etapes S4-2 a S4-4. Ensuite, I'etape S9 est effectuee. La sequence retourne ensuite a I'etape S3-1. D'autre part, si le resultat de jugement obtenu indique que le facteur d'interruption nest pas 2, la sequence passe a I'etape S6-1 qui formule un jugement concernant le facteur d'interruption 3. S'il est ensuite juge qu'un facteur d'interruption specifique est rencontre, des etapes de traitement identiques aux etapes S4-2 a S4-4 sont effectuees. Ensuite, I'etape S9 est effectuee. Finalement, la sequence retourne a I'etape S3-1. Au contraire, s'il est juge qu'un facteur d'interruption specifique n'est pas rencontre, la sequence passe a I'etape S6-1 ou S7-1 a laquelle un controle est effectue pour juger si le facteur d'interruption suivant est rencontre. Si aucun facteur d'interruption specifique n'est rencontre lorsque toutes les etapes de jugement de facteur d'interruption (etape S4-1, S5-1, S6-1 et S7-1) sont accomplies, I'etape S8-1 est accomplie pour sauvegarder ('information de frequence de fonctionnement presente concernant le micro-ordinateur. Ensuite, I'etape S8-3, qui fixe une nouvelle frequence de fonctionnement, et I'etape S8-4, qui execute un sous-programme, sont accomplies sequentiellement. Les etapes S8-2, S8-3 et S8-4 sont accomplies dans des conditions par defaut dans lesquelles aucun facteur d'interruption predefini nest rencontre. Fondamentalement, des etapes de traitement identiques aux etapes S4-2 a S4-4 sont accomplies. Ensuite, I'etape S9 est accomplie. Finalement, la sequence retourne a I'etape S3-1. En d'autres termes, lorsqu'une interruption apparalt pendant ('execution d'un programme d'utilisateur, a cause de run d'une pluralite de facteurs d'interruption, le programme (programme de commande) accomplit un processus pour changer le reglage de frequence de fonctionnement pour passer de la premiere frequence (moitie de la frequence de fonctionnement nominale) a une frequence pour executer un sous-programme correspondant a un facteur d'interruption rencontre. Apres que le sous-programme a ete execute, le programme accomplit le processus de retablissement de frequence commun (etape S9) pour commuter d'une frequence changee vers la frequence precedente. L'utilisation de cette configuration permet de reduire I'etendue de memoire que le programme utilise. Ceci garantit que le programme est capable d'effectuer un changement dynamique de la frequence de fonctionnement. Par consequent, le programme permet d'exercer une gestion d'energie constructive. En outre, si une interruption apparalt pendant que le programme d'utilisateur est en cours d'execution a la premiere frequence, qui est inferieure a la frequence de fonctionnement nominale, le sous-programme est execute avec la frequence de fonctionnement changee pour passer de la premiere frequence a une frequence superieure a la frequence de 12 fonctionnement nominale. Ceci garantit que la consommation d'energie peut titre reduite pendant ('execution du programme d'utilisateur, et qu'une frequence necessaire pour executer un sous-programme peut titre etablie lorsque le sous-programme dolt titre execute. En outre, Is frequence de fonctionnement peut retourner correctement a la frequence pour I'execution du programme d'utilisateur apres I'achevement de ('execution du sous-programme. II est donc possible d'exercer une gestion de consommation d'energie avec une grande efficacite. La figure 2 indique chronologiquement certaines des etapes de traitement representees sur la figure 1. La description donnee ci-dessous porte sur une situation dans laquelle une interruption apparait a cause d'un facteur d'interruption 1 pendant I'etape d'execution du programme d'utilisateur (etape S3-1), un sous-programme correspondant a ('interruption est execute, et ensuite le programme d'utilisateur reprend. Dans une serie d'operations indiquees sur la figure 1, I'etape d'execution de programme d'utilisateur (etape S3-1), I'etape de jugement de generation d'interruption (etape S3-2), I'etape de jugement de facteur fonctionnement (etape S9), et la reprise de I'etape d'execution du programme d'utilisateur (etape S3-1), sont accomplies sequentiellement. En considerant comme I'instant 0 ('instant du demarrage de I'etape d'execution du programme d'utilisateur (etape S3-1), la figure 2 indique les horloges de fonctionnement de base pour la periode Ts3_1 entre ('instant 0 et I'instant t, (etape S3-1), la periode Ts4_1 entre I'instant t1 et ('instant t2 (etape S4-1), la periode Ts4-2 entre ('instant t2 et ('instant t3 (etape S4-2), la periode Ts4_3 entre I'instant t3 et I'instant t4 (etape S4- 3), la periode Ts4.4 entre ('instant t4 et I'instant t5 (etape S4-4), la periode Ts9 entre I'instant t5 et ('instant t6 (etape S9), et la periode Ts3_1 au-dela de ('instant t6 (etape S3-1). Pendant des periodes d'execution Ts3_1, Ts4_1i Ts4_2 et Ts4_3, le programme fonctionne a la moitie de la frequence de fonctionnement nominale. Par consequent, le cycle d'horloge de fonctionnement de base d'interruption 1 (etape S4-1), I'etape de sauvegarde de frequence de fonctionnement (etape S4-2), I'etape d'etablissement de frequence de fonctionnement (etape S4-3), I'etape d'execution de sous-programme (etape S4-4), I'etape de retablissement d'information de frequence de est deux fois le cycle qui prevaut lorsque le fonctionnement a lieu a la frequence de fonctionnement nominale. D'autre part, pendant des periodes d'execution Ts4_4 et Ts9, le programme fonctionne au double de la frequence de fonctionnement nominale. Par consequent, le cycle d'horloge de fonctionnement de base est egal a la moitie du cycle qui prevaut lorsque le fonctionnement a lieu a la frequence de fonctionnement nominale. II en resulte que le cycle d'horloge de fonctionnement de base qui pi-ex/out pendant les periodes pour I'etape d'execution de sous-programme (etape S4-4) et I'etape de retablissement d'information de frequence de fonctionnement (etape S9) est le quart du cycle d'horloge de fonctionnement de base qui pi-ex/out pendant Ies autres periodes d'execution. Comme decrit ci-dessus, la vitesse de fonctionnement du microordinateur peut titre fixee diversement pour chacun des sous-programmes constituant le programme. A I'achevement de ('execution d'un sous-programme, il est possible de retourner a un etat qui prevalait avant ('execution du sous-programme. Par consequent, ii est possible d'exercer une gestion de puissance constructive, Deuxieme Mode de Realisation On va maintenant decrire un programme conforme a un deuxieme mode de realisation de la presente invention. On decrira principalement la difference entre Ies premier et deuxieme modes de realisation. La description du premier mode de realisation suppose qu'une seule interruption apparait pendant ('execution du programme d'utilisateur. Au contraire, la description du deuxieme mode de realisation suppose que de multiples interruptions apparaissent pendant ('execution du programme d'utilisateur. La sequence de fonctionnement de base du deuxieme mode de realisation ne sera pas decrite ici, du fait qu'eile est la meme que pour le premier mode de realisation (voir la figure 1). La figure 3 indique chronologiquement certaines des etapes de traitement. La description donnee ci-dessous porte sur une situation dons laquelle deux interruptions apparaissent, c'est-a-dire qu'une interruption apparaita cause du facteur d'interruption 3 pendant I'etape d'execution du programme d'utilisateur (etape S3-1), et ensuite une autre interruption apparait a cause du facteur d'interruption 1. 14 En consider-ant comme ('instant 0 ('instant du demarrage de I'etape d'execution du programme d'utilisateur (etape S3-1), la figure 3 indique les horloges de fonctionnement de base pour la periode Ts3_1 entre ('instant 0 et ('instant to (etape S3-1), les periodes d'execution Ts6_,, Ts6_2, Ts6.3 entre ('instant to et ('instant t, (etapes S6-1, S6-2 et S6-3), la periode Ts6_4 entre ('instant t, et ('instant t2 (etape S6-4), les periodes Ts4_1, Ts4_2, Ts4_3 entre ('instant t2 et ('instant t3 (etapes S4-1, S4-2 et S4-3), les periodes Ts4_4, Ts9 entre ('instant t3 et ('instant t4 (etapes S4-4 et S9), les periodes Ts6_4i Ts9 entre ('instant t4 et ('instant t5 (etapes S6-4 et S9) et la periode Ts3_1 au-dela de I'instant t5 (etape S3-1). Dans un processus de traitement d'interruptions multiples decrit ci-dessus, le niveau d'interruption pour le facteur d'interruption 1 est fixe plus haut que celui pour le facteur d'interruption 3. Par consequent, un processus d'execution de sous-programme (etape S4-4) correspondant au facteur d'interruption 1 peut titre accompli en interrompant un processus d'execution de sous-programme (etape S6-4) correspondant au facteur d'interruption 3. Lorsque le processus de traitement d'interruptions multiples dolt titre accompli, it est necessaire de stocker ('information concernant I'adresse pour la reprise du programme et la valeur de la frequence de fonctionnement. Cette operation de stockage est effectuee par un pointeur de pile. On decrira ci-dessous ('operation effectuee par le pointeur de pile. La figure 4 illustre la structure d'une pile de programme qui stocke ('information d'adresse concernant la reprise du programme d'utilisateur. La structure comprend une zone de pile 14 pour le programme. Lorsqu'un pointeur d'adresse est sauvegarde a cause de la premiere interruption, le pointeur indiquant I'adresse pour reprendre le programme d'utilisateur en cours d'execution est stocke dans une position de stockage 15. Lorsqu'une information d'adresse est sauvegardee a cause de la deuxieme interruption, le pointeur indiquant I'adresse pour reprendre le programme en cours d'execution est stocke dans une position de stockage 16. En d'autres termes, apres qu'un sous-programme en cours d'execution a ete interrompu, I'adresse pour reprendre le sous-programme interrompu est stockee dans la position de stockage 16 d'une zone de pile ayant une structure hierarchique. Ceci garantit que le sous- programme interrompu reprend a partir de I'adresse stockee dans la position de stockage 16. La figure 5 illustre la structure d'une pile de donnees d'utilisateur qui stocke une valeur de frequence pour le retablissement de la valeur de frequence de fonctionnement. La structure illustree est la meme que celle de la pile de programme representee sur la figure 4, ce qui fait que ('information de frequence de fonctionnement peut titre sauvegardee de fapon hierarchique. Cette structure comprend une zone de pile 17 pour stocker ('information de frequence de fonctionnement. Lorsque ('information de frequence de fonctionnement est sauvegardee a cause de la premiere interruption, ('information sauvegardee est stockee dans une position de stockage 18. Lorsque ('information de frequence de fonctionnement est sauvegardee a cause de la deuxieme interruption, ('information sauvegardee est stockee dans une position de stockage 19. En d'autres termes, apres qu'un sous-programme en cours d'execution a tits interrompu, la valeur de frequence a utiliser pour reprendre un sous-programme interrompu est stockee dans la position de stockage 19 dune zone de donnees ayant une structure hierarchique. Ceci garantit que le sous-programme interrompu reprend a une frequence dont la valeur est stockee dans la position de stockage 19. On va maintenant decrire en reference a la figure 1 la sequence de fonctionnement du processus de traitement d'interruptions multiples represents sur la figure 3. Initialement, les stapes S1 et S2 sont accomplies d'une maniere identique a celle decrites en relation avec le premier mode de realisation. Ensuite, I'etape d'execution de programme d'utilisateur (etape S3-1) est accomplie. Cette etape est accomplie de fagon repetee jusqu'a ce qu'il se produise un debordement de temporisateur, une interruption externe ou une autre interruption (par exemple, stapes S4-1, S5-1, S6-1 et S7-1). Cette etape est accomplie en conformite avec ('information de frequence de fonctionnement qui a ete fixee a I'etape S2 (dans un mode a faible consommation d'energie dans lequel la frequence de fonctionnement est basse). Si une interruption correspondant au facteur d'interruption 3 apparait, I'etape de jugement de facteur d'interruption (etape S6-1) est 35 accomplie. Dans ce cas, un drapeau de desactivation d'interruption est instaure. Le drapeau de desactivation d'interruption est generalement instaure par materiel. Des interruptions rencontrees apres que le drapeau de desactivation d'interruption a ete instaure sont stockees dans une file d'attente d'interruptions et ne seront pas executees avant que des interruptions soient activees. Lorsqu'une interruption se produit, le pointeur de pile (['emplacement pour stocker un pointeur d'adresse indiquant la destination de retablissement apres I'achevement du traitement d'interruption) est place dans une position de stockage 15, qui est representee sur la figure 4. La position du pointeur de pile est determinee en additionnant la valeur 1 a une adresse de programme d'utilisateur dont ['execution etait prevue immediatement avant ['interruption. Ensuite, le processus de sauvegarde d'information de frequence de fonctionnement (etape S6-2) est accompli. Ce processus est egalement accompli a la frequence de fonctionnement qui a ete fixee a I'etape S2 (dans un mode de faible consommation d'energie dans lequel la frequence de fonctionnement est basse). A cette etape egalement, le drapeau de desactivation d'interruption reste instaure. Dans ce cas, la valeur de frequence de fonctionnement sauvegardee est stockee dans la position de stockage 18, qui est representee sur la figure 5. Ensuite, I'etape pour fixer une nouvelle information de frequence de fonctionnement (etape S6-3) est accomplie. Cette etape est egalement accomplie a la frequence de fonctionnement qui a ete fixee a I'etape S2 (dans un mode de faible consommation d'energie dans lequel la frequence de fonctionnement est basse). A cette etape (etape S6-3), la frequence de fonctionnement nominale (un mode de consommation d'energie nominal dans lequel la frequence de fonctionnement est moyenne) est fixee pour la frequence de fonctionnement pour I'etape S6-4, qui est I'etape suivante (pour executer le sous-programme associe au facteur d'interruption 3). L'information de frequence de fonctionnement fixee a cette etape prend effet apres I'achevement de cette etape. A cette etape egalement, le drapeau de desactivation d'interruption reste instaure. Ensuite, I'etape S6-4 est accomplie pour executer le sous- programme associe au facteur d'interruption 3. A cette etape, le micro- ordinateur fonctionne a la frequence de fonctionnement nominale qui a ete fixee a I'etape precedente, c'est-a-dire I'etape S6-3 (dans un mode de consommation d'energie nominal dans lequel la frequence de fonctionnement est moyenne). Au debut de cette etape (etape S6-4), le drapeau de desactivation d'interruption est restaure afin de traiter de multiples interruptions pendant cette etape. Le drapeau peut titre restaure par logiciel, c'est-a-dire en utilisant un assembleur (instruction en langage machine). Lorsque le drapeau est restaure de cette maniere, des interruptions ayant une priorite superieure au facteur d'interruption 3 peuvent titre generees. Ensuite, un code de programme arbitraire (programmes en assembleur definis comme des sous-programmes) est execute. La description suivante porte sur une operation qui est accomplie lorsque le facteur d'interruption 1, qui a une priorite superieure au facteur d'interruption 3, apparait pendant qu'un sous-programme associe au facteur d'interruption 3 est execute. Si, par exemple, une interruption se produit a cause du facteur d'interruption 1 pendant la periode Ts6_4 qui est represents sur la figure 3, I'adresse de programme pour ('execution au moment present (etape S6-4) est incrementee d'une unite et est ensuite stockee dans la position de stockage 16, qui est representee sur la figure 4. La raison en est que la position de stockage 15 est deja utilisee pour I'etape de jugement de facteur d'interruption (etape S6-1) et que la valeur incrementee est stockee au-dessus de la position de stockage 15 (empilee). Apres que la valeur d'adresse ci-dessus a ete stockee, la sequence passe a I'stape S4-2. A I'etape S4-2, I'information de frequence de fonctionnement fixee au moment present pour le micro-ordinateur est sauvegardee. De fagon plus specifique, la valeur fixee dans le registre associe est stockee dans la position de stockage 19, qui est representee sur la figure 5. La raison en est que la position de stockage 18 est deja utilisee pour I'etape de sauvegarde de frequence de fonctionnement (etape S6-2) et que la valeur fixee dans le registre est stockee au-dessus de la position de stockage 18 (empilee). La structure pour stocker I'information de sequence de fonctionnement (structure de pile de donnees d'utilisateur), qui est representee sur la figure 5, est une structure "premier entre, dernier sorti", comme c'est le cas avec une structure de pile de programme (voir la figure 4). En d'autres termes, ('information de frequence de fonctionnement stockee dans la position de stockage 19 est extraite avant ('information de frequence de fonctionnement qui a ete placee dans la position de stockage 18 (voir la figure 5) plus tot que I'information de frequence de fonctionnement stockee dans la position de stockage 19. Le processus de sauvegarde de frequence de fonctionnement mentionne ci- dessus (etape S4-2) est egalement accompli a la frequence de fonctionnement nominale (dans un mode de consommation d'energie moyenne). En outre, le drapeau de desactivation d'interruption reste instaure. Ensuite, le processus pour fixer une nouvelle frequence de fonctionnement (etape S4-3) est accompli. Dans cette etape, une frequence de fonctionnement superieure a la frequence de fonctionnement nominale est fixee, du fait que la frequence de fonctionnement pour le processus qui est accompli par la suite est plus elevee que la frequence de fonctionnement nominale (dans un mode de consommation d'energie elevee). Pendant que cette etape (etape S4-3) est en cours, ('operation est accomplie a une frequence de fonctionnement moyenne (dans un mode de consommation d'energie nominale), et le drapeau de desactivation d'interruption reste instaure. Ensuite, I'etape S4-4 est accomplie. Au debut de cette etape, le drapeau de desactivation d'interruption est restaure. Cette etape, qui execute le sous-programme associe au facteur d'interruption 1, est accomplie a une frequence de fonctionnement qui a ete fixee a I'etape precedente (etape S4-3). Le deuxieme mode de realisation est decrit dans le but d'expliquer ('operation qui est accomplie lorsque de multiples interruptions apparaissent. On ne decrira donc pas ('operation effectuee lorsque des interruptions supplementaires apparaissent. Ensuite, le processus de retablissement de la frequence de fonctionnement (etape S9) est accompli. Dans cette etape, ('information 35 de frequence de fonctionnement sauvegardee dans la position de stockage 19, qui est representee sur la figure 5, est stockee dans un registre (non represents) pour determiner la frequence de fonctionnement du micro-ordinateur. En outre, un processus d'addition de pointeur d'adresse de reference est effectue (pour garantir que la reference a la position de stockage 18, qui est representee sur la figure 5, soit effectuee correctement, la prochaine fois qu'il est fait reference a cette position). Comme dans le cas de I'etape S4-4, I'etape S9 est accomplie dans un mode a forte consommation d'energie, dans lequel la frequence de fonctionnement est elevee. Dans les stapes qui suivent I'etape S9, la frequence stockee dans la position de stockage 19, qui est representee sur la figure 5, est utilisee de fagon que le fonctionnement ait lieu dans un mode de consommation d'energie nominale dans lequel la frequence de fonctionnement est moyenne. Lorsque I'etape S9 est accomplie, une serie de processus de traitement d'interruptions associes au facteur d'interruption 1 est achevee. Par consequent, une operation de pile de programme est effectuee pour copier vers un compteur d'instructions ('information d'adresse stockee dans la position de stockage 16, qui est representee sur la figure 4, et un processus d'addition de pointeur d'adresse de reference est effectue (pour garantir que la reference a la position de stockage 15, qui est representee sur la figure 4, soit effectuee correctement, la prochaine fois qu'il est fait reference a cette position). Lorsque le processus de restauration d'interruption ci-dessus est accompli, le micro-ordinateur, qui a accompli le processus associe au facteur d'interruption 1, reprend I'etape S6-4 (processus de sous-programme correspondant au facteur d'interruption 3), qui etait accomplie avant ('apparition d'une interruption. Dans ce cas, ('information d'horloge de fonctionnement de base utilisee pour le processus pour traiter le facteur d'interruption 3 est correctement retablie. Par consequent, la consommation d'energie du micro-ordinateur peut etre reduite comme on le desire. Le micro-ordinateur, qui a repris I'etape S6-4, execute le sous-programme associe en conformite avec une chaine de programme en langage machine definie. Le micro-ordinateur execute toutes les instructions definies pour I'etape S6-4, et passe ensuite a I'etape S9. A I'etape S9, le processus de retablissement de frequence est accompli. Le processus est accompli de fagon que ('information de frequence, qui determine la frequence de fonctionnement du microordinateur et qui est sauvegardee dans la position de stockage 18 (voir la figure 5), soit retablie dans le registre associe. Dans ce cas, la valeur de ('information de frequence est egale a la valeur de frequence (dans un mode de faible consommation d'energie dans lequel la frequence de fonctionnement est basse) qui etait utilisee dans I'etape d'execution de programme d'utilisateur (etape S3-1), qui etait accomplie avant I'execution du facteur d'interruption 3. Par consequent, lorsque I'information de frequence de fonctionnement dans la position de stockage 18, qui est representee sur la figure 5, est retablie, le code execute precedemment peut titre correctement execute a une vitesse desiree (I'execution du programme d'utilisateur peut titre correctement reprise a une vitesse desiree). Comme dans le cas de I'etape S6-4, cette etape (etape S9) est accomplie dans un mode de consommation d'energie nominale, dans lequel la frequence de fonctionnement est moyenne. Lorsque I'etape S9 est accomplie pour achever le processus de retablissement d'information de frequence de fonctionnement, le microordinateur commence a fonctionner a la frequence de fonctionnement nouveliement selectionnee. De fagon plus specifique, le micro-ordinateur fonctionne dans un mode de faible consommation d'energie dans lequel la frequence de fonctionnement est basse. Cette vitesse de traitement est exactement la meme que celle qui etait utilisee avant ('apparition du facteur d'interruption 3. Dans le deuxieme mode de realisation, I'ordre de priorite est defini pour les facteurs d'interruption representes sur la figure 1. Lorsqu'un sous-programme correspondant a un facteur d'interruption specifique est en cours d'execution, et une interruption correspondant a un deuxieme facteur d'interruption ayant une priorite superieure a celle du facteur d'interruption specifique apparait (lorsque de multiples interruptions sont rencontrees), ('execution du sous-programme correspondant au facteur d'interruption specifique est suspendue. Ensuite, le sous-programme correspondant au facteur d'interruption de priorite superieure est execute. Apres I'achevement de ('execution du sous-programme correspondant au facteur d'interruption de priorite superieure, ('execution du sous-programme suspendu reprend. Dans ce cas, I'adresse pour la reprise du programme et ('information de frequence de fonctionnement pour la reprise sont respectivement stockees dans des zones ayant une structure de pile. Ceci garantit que le deuxieme mode de realisation procure les memes avantages que le premier mode de realisation, meme lorsque de multiples interruptions apparaissent. Comme decrit ci-dessus, le mode de realisation present permet d'exercer une gestion d'energie constructive meme lorsque de multiples interruptions apparaissent. Le mode de realisation present (deuxieme mode de realisation) a ete decrit dans I'hypothese ou deux interruptions sont generees. Cependant, lorsque la structure de pile representee sur les figures 4 et 5 est modifiee pour augmenter le nombre de positions de stockage pouvant titre mises en pile, le mode de realisation present peut fonctionner correctement pour manipuler deux interruptions multiples, ou plus. Troisieme Mode de realisation On va maintenant decrire un programme conforme a un troisieme mode de realisation de la presente invention. On decrira principalement la difference entre le troisieme mode de realisation et les premier et deuxieme modes de realisation. La description des premier et deuxieme modes de realisation suppose qu'aucun processus nest accompli pendant la periode du temps de stabilisation de frequence pour un oscillateur (temps de re-verrouillage pour un oscillateur a boucle d'asservissement de phase (PLL pour "Phase Locked Loop") et un oscillateur a boucle d'asservissement de retard (DLL pour "Delay Locked Loop"), qui est exigee pour un changement de frequence de fonctionnement. Par consequent, dans les premier et deuxieme modes de realisation, le fonctionnement du micro-ordinateur est susceptible de devenir instable pendant que la frequence de fonctionnement (horloge de reference) varie. La figure 6 illustre une operation qui est accomplie lorsqu'une PLL ou une DLL change sa frequence d'oscillation. Sur la figure 6, une 35 forme d'onde 20 existe pendant un changement de frequence d'oscillation (frequence basse = stable), et une forme d'onde 22 existe apres un changement de frequence d'oscillation (frequence elevee = stable). La forme d'onde 21 sur la figure 6 est une forme d'onde de frequence d'oscillation qui existe pendant une periode de re-verrouillage, c'est-a- dire pendant une periode entre une periode avant le changement de frequence d'oscillation et une periode apres le changement de frequence d'oscillation. La figure 6 indique qu'une PLL, une DLL ou tout autre oscillateur similaire change sequentiellement sa frequence d'oscillation. Cependant, dans un oscillateur reel, un tel changement n'est pas toujours progressif comme indique sur la figure (du fait qu'il depend, par exemple, de la caracteristique d'un circuit de retroaction). Comme indique sur la figure 7, le troisieme mode de realisation comporte une etape S10, qui est accomplie entre les etapes S4-3 et S4-4 et entre les etapes S9 et S3-1. L'etape S10 est accomplie pour obtenir un temps d'attente pour stabiliser le fonctionnement d'une horloge de reference. Par exemple, I'etape S10 est accomplie pour traiter une instruction nulle ou NOP (No Operation). De fapon plus specifique, un processus est accompli pour obtenir un temps d'attente de fagon a stabiliser le fonctionnement d'une horloge de reference pendant un intervalle entre un processus de changement de frequence correspondant a uh facteur d'interruption specifique, et le processus d'execution de sous-programme associe, et entre un processus de retablissement de frequence et un processus de reprise d'execution du programme d'utilisateur. Les autres elements de configuration sont les memes que pour le premier mode de realisation. Le nombre d'insertions de ('instruction NOP ci-dessus peut titre proportionnel au temps de stabilisation exige (le nombre d'impulsions d'horloge exigees pour la stabilisation) lorsque la frequence de fonctionnement est changee avec un oscillateur (PLL, DLL, ou autre oscillateur similaire) qui est utilise avec le micro-ordinateur. Ce temps de reverrouillage peut titre determine quantitativement en conformite avec la caracteristique d'un oscillateur employe (PLL, DLL ou autre oscillateur similaire) et avec le niveau de variation qu'il procure. Dans un exemple represents sur la figure 7, le processus pour obtenir le temps d'attente pour stabiliser le fonctionnement de I'horloge de reference (etape S10) est accompli pendant un intervalle entre un processus de changement de frequence (etape S4-3, S5-3, S6-3, S7-3 ou S8-3) et un processus d'execution de sous-programme correspondant au processus de changement de frequence, et pendant un intervalle entre un processus de retablissement de frequence (etape S9) et un processus pour reprendre une execution de programme d'utilisateur (etape S3-1). Cependant, I'effet est produit independamment meme lorsque I'stape S10 est accomplie pendant run des intervalles mentionnes ci-dessus. Par consequent, lorsqu'il est exige que le micro-ordinateur fonctionne de maniere stable, ('instruction NOP est inseree conformement au cycle obtenu pendant une periode (qui equivaut au nombre d'impulsions d'horloge exigees pour la stabilisation) qui est calculee d'apres la caracteristique ci-dessus. Ceci garantit que le micro-ordinateur fonctionne de maniere stable meme lorsque la frequence de fonctionnement est changee de fagon dynamique. De fagon plus specifique, le cycle d'execution dune instruction NOP pour un micro-ordinateur a jeu d'instructions reduit, ou RISC, peut titre considers comme 1 instruction / 1 cycle (1 impulsion d'horloge). Par consequent, le but est atteint lorsque ('instruction NOP est inseree en conformite avec le nombre de cycles qui equivaut a la periode de reverrouillage d'une PLL, une DLL ou un autre oscillateur similaire, qui est determinee d'apres la caracteristique ci-dessus. En ce qui concerne un micro-ordinateur a jeu d'instructions complexe, ou CISC, le nombre d'instructions NOP a inserer peut titre calcule en divisant le nombre de cycles qui equivaut a la periode de reverrouillage d'une PLL, une DLL ou un autre oscillateur similaire, qui est determinee d'apres la caracteristique ci-dessus, par le nombre de cycles d'execution qui est exige pour le traitement de ('instruction NOP. Lorsque ('instruction NOP est inset-6e conformement au troisieme mode de realisation, II est possible d'eviter une situation dans laquelie un processus important est accompli pendant une periode au cours de Iaquelle I'horloge de fonctionnement de reference du microordinateur est instable. Par consequent, le troisieme mode de realisation non seulement procure les avantages offerts par les premier et deuxieme modes de realisation, mais ameliore egalement la stabilite d'operations du micro-ordinateur. Quatrieme Mode de realisation La figure 8 est un organigramme illustrant une operation qui est accomplie par un programme conforme a un quatrieme mode de realisation de la presente invention. On decrira principalement la difference entre le quatrieme mode de realisation et les premier a troisieme modes de realisation. Le programme conforme au quatrieme mode de realisation definit comme des conditions de branchement les facteurs d'interruption utilises dans les premier a troisieme modes de realisation. Lorsqu'il est juge qu'une condition de branchement est remplie, le programme conforme au quatrieme mode de realisation accomplit les memes processus (processus de sauvegarde de frequence de fonctionnement, d'etablissement de frequence de fonctionnement et d'execution de sous-programme) que ceux indiques dans I'organigramme pour le premier mode de realisation. Apres ('execution d'un sous- programme, le processus de retablissement de frequence de fonctionnement est accomplit independamment du sous-programme et incidemment vis-a-vis de celui-ci. En premier lieu, les Mapes S1 et S2 sont accomplies d'une maniere identique a celle indiquee dans I'organigramme pour le premier mode de realisation. Ensuite, un processus de programme principal est accompli. Apres I'achevement de I'etape S2, une etape de pre-traitement (etape S3) est accomplie. En outre, une etape de jugement de condition de branchement 1 (etape S4-1) est accomplie. Lorsqu'il est juge que la condition de branchement 1 est remplie, I'etape de sauvegarde de frequence de fonctionnement (etape S4-2), I'etape d'etablissement de frequence de fonctionnement (etape S4-3) et I'etape d'execution de sous-programme (S4-4) sont accomplies. Ensuite, une etape de retablissement de frequence de fonctionnement independante (etape S9), qui est incidente vis-a-vis d'un sous-programme, est accomplie. Apres I'achevement de I'etape S9, une etape de post-traitement (etape S8) est accomplie. Si la condition de branchement 1 n'est pas remplie, des processus de jugement de condition de branchement suivants sont accomplis jusqu'a ce qu'une certaine condition de branchement soit remplie. Si aucune des conditions de branchement 1 a n-1 n'est remplie, I'etape de post-traitement (etape S8) est accomplie. Si une condition de branchement quelconque est remplie, les etapes de sauvegarde de frequence de fonctionnement, d'etablissement de frequence de fonctionnement et d'execution de sous-programme sont accomplies. Ensuite, I'etape de retablissement de la frequence de fonctionnement (etape S9), qui est incidente vis-a-vis du sous-programme execute, est accomplie. Apres I'achevement de I'etape S9, une etape de posttraitement (etape S8) est accomplie. Dans le premier mode de realisation, le processus de retablissement de frequence de fonctionnement *ape S9) est un processus commun qui est accompli a la suite de ('execution d'un sous- programme correspond a un d'une multiplicite de facteurs d'interruption (voir la figure 1). D'autre part, dans le quatrieme mode de realisation, le processus de retablissement de frequence de fonctionnement est accompli apres ('execution d'un sous-programme correspondant a un d'une multiplicite de facteurs d'interruption, independamment du sous- programme execute, et incidemment vis-a-vis de celui-ci. Du fait que la configuration employee est celle decrite cidessus, le programme conforme au quatrieme mode de realisation fait intervenir un plus grand nombre d'etapes que le programme conforme au premier mode de realisation (la taille de programme du quatrieme mode de realisation est plus grande que celle du premier mode de realisation). Cependant, le quatrieme mode de realisation n'a pas besoin d'utiliser une instruction de saut (effectuer un processus d'addition / soustraction sur un compteur indiquant I'adresse d'execution du programme) pour le partage de programme a I'etape S9. II en resulte que la reponse du programme peut titre amelioree. Le programme indique dans I'organigramme fonctionnel du troisieme mode de realisation peut titre combine avec le programme conforme au troisieme mode de realisation. De fagon plus specifique, la reponse du programme peut titre amelioree lorsqu'un processus de retablissement de frequence de fonctionnement incident est accompli 26 independamment, apres ('execution d'un sous-programme dans I'organigramme fonctionnel represents sur la figure 7. Cinquieme Mode de Realisation On va maintenant decrire un cinquieme mode de realisation de la presente invention. Les descriptions des premier a quatrieme modes de realisation portent sur le fonctionnement d'un programme incorpore dans le micro-ordinateur. D'autre part, la description du cinquieme mode de realisation porte sur une operation qui est accomplie a un niveau de systeme d'exploitation. Seulement ('information de frequence de fonctionnement concernant le micro-ordinateur, qui est utilisee pour ('execution de sous-programmes, est stockee au debut d'un sous-programme qui dolt titre execute a cause, par exemple, d'un facteur d'interruption. Lorsqu'un systeme d'exploitation detecte une interruption, non representee, it accomplit automatiquement unprocessus de sauvegarde de frequence de fonctionnement (par exemple I'etape S4-2, S5-2, S6-2, S7-2 ou S8-2 sur la figure 1) que les premier a quatrieme modes de realisation accomplissent sur la base d'un sous-programme individuel. Le systeme d'exploitation exerce egalement une commande sur I'information de frequence de fonctionnement a sauvegarder et sur sa destination de stockage. Lorsque le systeme d'exploitation acheve le processus de sauvegarde de frequence de fonctionnement ci-dessus, it transmet le traitement a ('execution du sous-programme. Une instruction d'etablissement de frequence de fonctionnement, qui est utilisee pour ['execution de sous-programmes, est stockee au debut de chaque sous-programme. Par consequent, lorsqu'un sous-programme quelconque est execute, la frequence de fonctionnement change automatiquement. Apres I'achevement d'une execution de sous-programme, it est necessaire d'accomplir le processus de retablissement de frequence de fonctionnement. Par consequent, le systeme d'exploitation a besoin d'accomplir automatiquement le retablissement de la frequence de fonctionnement. En ce qui concerne les conditions temporelles d'execution du processus de retablissement, le systeme d'exploitation peut detecter un 27 evenement qui est genere lorsqu'un processus d'interruption est restaure (acheve). Par consequent, lorsqu'un tel evenement est detecte, ('information de frequence de fonctionnement sauvegardee doit titre retablie. Ce procede de retablissement defini et I'effet de retablissement sont les memes qu'avec les premier a quatrieme modes de realisation. En d'autres termes, le cinquieme mode de realisation differe des premier a quatrieme modes de realisation par le fait quill commande au systeme d'exploitation d'accomplir le processus de changement de frequence et le processus de retablissement de frequence. Lorsque le systeme d'exploitation est associe a un ordinateur dans lequel est incorpore le programme conforme au premier, deuxieme, troisieme ou quatrieme mode de realisation, le systeme d'exploitation peut procurer des avantages qui sont les memes que ceux offerts par les premier a quatrieme modes de realisation. Meme lorsqu'un dispositif electronique contient le programme conforme au premier, deuxieme, troisieme ou quatrieme mode de realisation, it peut procurer des avantages identiques a ceux offerts par les premier a quatrieme modes de realisation. Conformement au cinquieme mode de realisation, la frequence de fonctionnement utilisee par un code execute au moment present peut titre sauvegardee et retablie par le systeme d'exploitation. Par consequent, le volume de code pour des sous-programmes peut titre reduit. En outre, le cinquieme mode de realisation peut manipuler de multiples interruptions, comme c'est le cas avec le deuxieme mode de realisation. Sixieme Mode de realisation On va maintenant decrire un sixieme mode de realisation de la presente invention. Les descriptions des premier a quatrieme modes de realisation portent sur le fonctionnement du micro-ordinateur et du programme incorpore dans le micro-ordinateur (principalement les instructions en langage machine), ainsi que sur la technique de developpement (technique de programmation). Cependant, lorsque le developpement doit titre accompli avec un langage de haut niveau (par exemple le langage C ou le langage Basic), it est tres difficile d'appliquer Ia technique de developpement. Par consequent, lorsqu'un compilateur est insere dans un processus pour traduire un programme en langage de haut niveau en un programme en langage machine, it est possible de procurer des avantages identiques a ceux des premier a cinquieme modes de realisation. De fapon plus specifique, on peut atteindre le but ci-dessus en fournissant a un developpeur de programme (utilisateur de compilateur) une possibilite d'insertion ou de changement d'une instruction, pour definir la vitesse d'execution de programme, en utilisant des fonctions individuelles constituant un sous-programme. Cependant, dans un processus reel, un effet desire n'est pas produit si le nombre total de periodes d'horloge qui est exige pour executer un sous-programme associe a une condition d'interruption nest pas plus grand que le nombre total de periodes d'horloge exige pour le processus de sauvegarde et le processus d'etablissement de frequence de fonctionnement, qui sont accomplis avant et apres ('execution d'un sous-programme. Par consequent, apres que des sous-programmes ecrits en un langage de haut niveau ont ete traduits en un langage machine (assembleur), le compilateur effectue un processus pour calculer le nombre de periodes d'horloge exige pour des executions de sous-programmes individuels, en utilisant le type de configuration (RISC ou CISC) et la capacite de traitement (nombre de cycles exige pour des executions d'instructions individuelles) du micro-ordinateur ou microprocesseur qui est employe. Si le nombre de periodes d'horloge calcule est plus grand que le nombre de periodes d'horloge exige pour le processus de sauvegarde et le processus de retablissement de frequence de fonctionnement, qui sont accomplis avant et apres ('execution du sous-programme traduit en un langage machine, on considere que I'effet d'amelioration de capacite de traitement ou de reduction de consommation d'energie est produit. Avant I'execution d'un sous-programme, les instructions pour sauvegarder la frequence de fonctionnement et fixer une nouvelle frequence de fonctionnement sont emises. Apres ('execution d'un sous-programme, I'instruction en langage machine pour le retablissement de la frequence de fonctionnement est automatiquement inset-6e. D'autre part, si le nombre de periodes d'horloge calcule est inferieur au nombre de periodes d'horloge exige pour le processus de sauvegarde et le processus de retablissement de frequence de fonctionnement, qui sont accomplis avant et apres ('execution du sous- programme traduit en un langage machine, on considere que I'effet d'amelioration de capacite de traitement ou de reduction de consommation d'energie n'est pas produit. Dans ce cas, un message d'erreur, ou autres, est transmis a I'utilisateur (developpeur de programme), et la serie d'instructions associee n'est pas inseree. En d'autres termes, s'iI est juge que I'effet d'amelioration de capacite de traitement ou de reduction de consommation d'energie est produit par un processus reel lorsque le programme conforme au premier, deuxieme, troisieme ou quatrieme mode de realisation est traduit d'un langage de haut niveau en un langage machine, le compilateur conforme au sixieme mode de realisation peut inserer dans un langage machine une instruction de changement de frequence pour le processus de changement de frequence de fonctionnement et le processus de retablissement de frequence de fonctionnement. Marne lorsque la frequence de fonctionnement change sur la base d'un sous-programme individuel, le sixieme mode de realisation garantit que la capacite de traitement et la consommation d'energie soient constamment optimisees. II est evident que de nombreux changements et modifications de la presente invention sont possibles a la lumiere des enseignements ci- dessus. II faut done noter que, dans le cadre des revendications annexees, ('invention peut titre mise en pratiquement autrement que de la maniere decrite specifiquement. REVENDICATIONS 1. Procede ayant les etapes suivantes : - un processus pour executer un programme d'utilisateur (S3-1) 5 a une premiere frequence; - un processus de changement de frequence (S4-3) pour changer la premiere frequence en une frequence arbitraire Iorsqu'une interruption apparait a cause d'un facteur arbitraire parmi une pluralite de facteurs d'interruption (S4-1 -S7-1) pendant que le programme 10 d'utilisateur (S3-1) est en cours d'execution; - un processus d'execution de sous-programme (S4-4) pour executer un sous-programme correspondant au facteur d'interruption arbitraire, a Ia frequence arbitraire; - un processus de retablissement de frequence (S9) pour 15 commuter de la frequence arbitraire vers la premiere frequence; et un processus pour reprendre I'execution du programme d'utilisateur (S3-1) a la premiere frequence; dans lequel le processus de retablissement de frequence (S9) est un processus commun qui est accompli apres I'execution d'un sous- 20 programme correspondant a un de la pluralite de facteurs d'interruption (S4-1 - S7-1). 2. Procede selon la revendication 1, caracterise en ce que la premiere frequence est inferieure a une frequence nominate; et en ce que Ia deuxieme frequence est superieure a Ia frequence nominale. 25 3. Procede selon la revendication 1 ou 2, caracterise en ce que si une interruption apparait a cause du facteur d'interruption arbitraire, la valeur de la premiere frequence est sauvegardee avant le processus de changement de frequence (S4-3), et la valeur de la frequence arbitraire est utilisee comme la valeur de la premiere frequence sauvegardee, 30 pendant le processus de retablissement de frequence (S9). 4. Procede selon la revendication 1, 2 ou 3, caracterise en ce que I'ordre de priorite est defini pour la pluralite de facteurs d'interruption (S4-1 - S7-1); en ce que si une interruption correspondant a un deuxieme facteur d'interruption (S4-1), qui a une priorite superieure a celle de la 35 premiere cause d'interruption, apparait pendant I'execution d'un premiersous-programme (S6-4) correspondant au premier facteur d'interruption (S6-1), le premier sous-programme (S6-4) est interrompu pour executer un deuxieme sous-programme (S4-4), qui correspond au second facteur d'interruption (S4-1); et en ce que ['execution du premier sous-programme (S6-4) reprend apres I'achevement de ('execution du second sous- programme (S4-4). 5. Procede selon la revendication 4, caracterise en ce que, apres ['interruption du premier sous-programme (S6-4), une adresse pour reprendre le premier sous-programme (S6-4) est stockee dans une zone de pile ayant une structure hierarchique (14); et en ce que ('execution du premier sous-programme (S6-4) reprend a I'adresse stockee. 6. Procede selon la revendication 4 ou 5, caracterise en ce que le premier sous-programme (S6-4) est execute a une frequence arbitraire; en ce que la frequence arbitraire est stockee dans une zone de donnees (17) structuree de maniere hierarchique, apres ('interruption de ('execution du premier sous-programme (S6-4); et en ce que I'execution du premier sous-programme (S6-4) reprend a Ia frequence arbitraire stockee. 7. Procede ayant les Mapes suivantes : - un processus pour executer un programme d'utilisateur (S3-1) a une premiere frequence; - un processus de changement de frequence (S4-3) pour changer la premiere frequence en une frequence arbitraire lorsqu'une interruption apparait a cause d'un facteur arbitraire parmi une pluralite de facteurs d'interruption (S4-1 - S7-1) pendant que le programme d'utilisateur (S3-1) est en cours d'execution; -un processus d'execution de sous-programme (S4-4) pour executer un sous-programme correspondant au facteur d'interruption arbitraire, a Ia frequence arbitraire; - un processus de retablissement de frequence (S9) pour commuter de la frequence arbitraire vers la premiere frequence; et -un processus pour reprendre 1'execution du programme d'utilisateur (S3-1) a la premiere frequence; dans Iequel le processus de retablissement de frequence (S9) est un processus independant qui est accompli apres ('execution d'un sous- 32 programme specifique correspondant a un de la pluralite de facteurs d'interruption (S4-1 - S7-1). 8. Procede selon la revendication 1 ou 7, caracterise en ce qu'un processus pour introduire un temps d'attente pour stabiliser le fonctionnement d'une horloge de reference (S10) est accompli pendant un intervalle entre le processus de changement de frequence (S4-3) et le processus d'execution de sous-programme (S4-4), ou entre le processus de retablissement de frequence (S9) et le processus pour reprendre I'execution du programme d'utilisateur (S3-1). 9. Procede selon rune quelconque des revendications 1 a 8, caracterise en ce que le processus de changement de frequence (S4-3) et le processus de retablissement de frequence (S9) sont accomplis par un systeme d'exploitation. 10. Un programme d'ordinateur comprenant des instructions de code de programme pour I'execution des etapes du procede selon les revendications 1 a 9 lorsque ledit programme est execute sur un ordinateur. 11. Systeme d'exploitation caracterise en ce quill est associe un ordinateur qui incorpore le programme d'ordinateur selon la revendication 10. 12. Compilateur pour traduire le programme d'ordinateur selon la revendication 10 d'un langage de haut niveau en un langage machine et pour inserer une instruction de changement de frequence dans le langage machine. 13. Dispositif electronique caracterise en ce quill comporte le programme d'ordinateur selon la revendication 10.