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