ย Consommation dans les circuits
Consommation dans les circuits CMOSย
Il existe deux types de transistor en fonction de leur fonctionnement sur lโalimentation (Vdd) ou sur la masse (Vss), respectivement P et N. Ces deux transistors sont placรฉs symรฉtriquement entre lโalimentation et la masse tel que prรฉsentรฉ Figure 1.1 ce qui constitue la fonction de base rรฉalisรฉe par des transistors CMOS, un inverseur de signal. Ceci permet, en fonction du niveau de tension appliquรฉ sur la grille des transistors, dโavoir soit le transistor de type N passant, soit le transistor de type P passant. Lorsque lโentrรฉe est ร lโรฉtat 1 (niveau haut), le transistor N est passant et le transistor P est bloquรฉ, alors la sortie est ร lโรฉtat 0 (niveau bas). Le fonctionnement est inversรฉ si lโentrรฉe est ร 0.
ร partir de cette fonction de base, il est possible de rรฉaliser des fonctions logiques telles que des portes NAND (NON-ET) ou des bascules. La technologie CMOS est alors utilisรฉe dans la plupart des circuits intรฉgrรฉs, cependant, son fonctionnement produit des pertes de courant. Ces pertes se traduisent par une consommation dโรฉnergie et par un รฉchauffement du circuit. La consommation dโun inverseur CMOS (et de toute autre fonction) peut รชtre regroupรฉe en deux familles. Il sโagit de la consommation dynamique et la consommation statique. Les principes de base de la consommation dans les circuits CMOS sont exprimรฉs par la suite, la formulation dรฉtaillรฉe est exposรฉe dans le livre [3] ainsi que la plupart des concepts liรฉs ร la consommation.
Consommation dynamique
La structure CMOS, qui consiste ร placer un (ou plusieurs) transistor(s) de type P entre lโalimentation et la sortie (afin de pouvoir gรฉnรฉrer un signal ร lโรฉtat 1) et un (ou plusieurs) transistor(s) N entre la sortie et la masse (pour gรฉnรฉrer un signal ร lโรฉtat 0), est une structure qui peut provoquer une fuite de courant via ces transistors. Les grilles des transistors forment une surface possรฉdant des charges, celle-ci se comporte alors comme une capacitรฉ par rapport aux autres รฉlรฉments du transistor et du circuit intรฉgrรฉ. La grille a donc besoin dโun courant de charge pour passer au niveau haut. Ce courant est issu de lโalimentation de lโรฉtage en amont commandant le transistor. Puis lorsque cette grille doit passer au niveau bas, le courant de dรฉcharge est envoyรฉ vers la masse. Tous les deux changements dโรฉtat dโun รฉtage CMOS, la quantitรฉ dโรฉnergie emmagasinรฉe par la capacitรฉ de la grille est perdue (Figure 1.2). En plus de la capacitรฉ de la grille, les capacitรฉs des connexions entre les รฉtages se comportent de la mรชme maniรจre que la capacitรฉ de grille ce qui augmente le courant de commutation.
รvolution de la technologie
Selon la seconde loi de Moore, le nombre de transistors sur un circuit intรฉgrรฉ double tous les deux ans, soit une croissance exponentielle [4]. Cette prรฉdiction (1975) sโest avรฉrรฉe assez exacte et suivie notamment par les concepteurs de processeurs.
Cette loi a รฉtรฉ suivie notamment grรขce ร la rรฉduction de largeur de gravure des transistors. Le processeur Intel 4004 lancรฉ en 1971, par exemple, รฉtait gravรฉ en 10 ยตm. Aujourdโhui, en 2013, Intel rรฉalise ses processeurs en 22 nm [5] et est sur la voie du 14 nm. La rรฉduction de largeur de gravure permet de concevoir des transistors plus petits et favorise une intรฉgration plus dense. La rรฉduction de largeur des transistors diminue ses capacitรฉs parasites, puisque sa surface est plus faible, et donc de rรฉduire la consommation dynamique pour un mรชme nombre de transistor. Cependant la rรฉduction de cette largeur provoque un passage du courant de fuite plus important entre lโalimentation et la masse au travers des รฉlรฉments du circuit. Ceci engendre une augmentation de la consommation statique qui devient prรฉdominante dans les circuits ร largeur de gravure fine [6].
Mรฉthodes dโestimation
Les formules classiques , peuvent รชtre utilisรฉes pour lโestimation de la consommation. ร premiรจre vue, ces รฉquations sont simples mais en rรฉalitรฉ leur application est plus complexe. Premiรจrement, elles correspondent ร un modรจle thรฉorique de base. La tempรฉrature par exemple joue un rรดle non nรฉgligeable dans la consommation puisque sa contribution au niveau de la puissance statique est assimilable ร une infรฉrence exponentielle [7]. Deuxiรจmement, il sโagit dโรฉquations ร bas niveau et il faut avoir connaissance des paramรจtres notamment de surface (Ntr) et de taux dโactivitรฉ des circuits (ฮฑ). De plus, lโรฉquation de consommation de puissance dynamique est รฉtablie au niveau transistor avec connaissance de lโactivitรฉ du signal et la capacitรฉ parasite propre ร ce signal.
Cette section regroupe des mรฉthodes dโestimation de la consommation et les amรฉliorations proposรฉes afin dโamรฉliorer la prรฉcision des estimations en prรฉsentant tout dโabord les travaux concernant le bas niveau (niveau transistor ou RTL) puis en relevant progressivement le niveau de lโestimation en passant par la caractรฉrisation de blocs รฉlรฉmentaires pour atteindre lโestimation au niveau de lโalgorithme ou de lโapplication.
Bas niveau – Portes logiques
Lโestimation de la consommation ร bas niveau est en gรฉnรฉral complexe car tous les paramรจtres de chaque transistor ou fonction รฉlรฉmentaire sont pris en compte. Pour obtenir une estimation des transitions effectuรฉes par les transistors au sein dโun bloc de traitement dont on veut estimer la consommation, les analyses sont souvent effectuรฉes ร partir de simulations [8], soit ร partir dโun vecteur de test, soit ร partir dโanalyses probabilistes et statistiques afin dโanalyser la propagation des transitions [9]. Cependant mรชme ร trรจs bas niveau, ces estimations sont perfectibles. Par exemple [10] propose de prendre en compte les glitches puisque ces variations de signaux transitoires ont un effet sur la consommation. Avec lโestimateur dรฉveloppรฉ, lโerreur dโestimation est environ divisรฉe par trois entre une estimation avec prise en compte des glitches comparรฉe ร lโestimation sans prise en compte. La complexitรฉ croissante des applications et le dรฉtail nรฉcessaire pour lโestimation ร bas niveau apportent le besoin dโune simplification des estimateurs tout en conservant une bonne qualitรฉ dโestimation de la consommation. En ce sens, plusieurs contributions existent, par exemple dans [11, 12] les auteurs proposent un modรจle de consommation au niveau RTL basรฉ uniquement sur les informations structurelles, cโest-ร -dire principalement les capacitรฉs des connexions. Ce modรจle de consommation est alors indรฉpendant des statistiques des signaux. Ceci permet dโรฉviter lโusage de simulations avec vecteurs de donnรฉes ou simulations probabilistes et donc de rรฉduire le temps dโestimation tout en permettant une estimation environ dix fois plus prรฉcise que lโutilisation de modรจles dont les vecteurs de donnรฉes sont caractรฉrisรฉes. De plus, un avantage intรฉressant proposรฉ dans cette mรฉthode est la possibilitรฉ dโestimer un rรฉsultat pire cas, ce qui permet de dimensionner les alimentations et le refroidissement dโun systรจme. Ces fonctionnalitรฉs sont intรฉgrรฉes, parmi dโautres non dรฉcrites ici, dans lโoutil dโestimation RTLEst [13].
|
Table des matiรจres
Introduction
1 รtat de lโart
1.1 Consommation dans les circuits
1.1.1 Consommation dans les circuits CMOS
1.1.1.1 Consommation dynamique
1.1.1.2 Consommation statique
1.1.1.3 รvolution de la technologie
1.1.2 Mรฉthodes dโestimation
1.1.2.1 Bas niveau – Portes logiques
1.1.2.2 Caractรฉrisation de blocs
1.1.2.3 Haut niveau – Algorithmique
1.1.3 Mรฉthodes de rรฉduction
1.1.3.1 Clock gating
1.1.3.2 Power gating
1.1.3.3 Changement dynamique de tension et de frรฉquence
1.1.3.4 Accรฉlรฉrateurs matรฉriels
1.2 Circuits logiques reconfigurables
1.2.1 Architectures pour la reconfiguration
1.2.2 Mรฉthodes de reconfiguration
1.2.2.1 Reconfiguration complรจte
1.2.2.2 Reconfiguration dynamique partielle
1.2.2.3 Reconfiguration diffรฉrentielle
1.2.3 Constructeurs et outils
1.3 Consommation des circuits reconfigurables
1.3.1 Rรฉpartition de la consommation
1.3.2 Estimation de la consommation
1.3.3 Techniques de rรฉduction de la consommation dans les architectures reconfigurables
1.3.3.1 Optimisation dynamique de lโarbre dโhorloge
1.3.3.2 Ordonnancement et allocation des ressources
1.3.3.3 Effacement de la configuration
1.3.3.4 Exploitation du parallรฉlisme
1.4 Coรปt de la reconfiguration sur le systรจme
1.4.1 Impact sur la surface
1.4.2 Impact sur les performances
1.4.3 Impact sur la puissance
1.5 Modรฉlisation ร haut niveau et estimation de la consommation
1.5.1 Approche MDE
1.5.2 Plateforme OpenPEOPLE
1.6 Conclusion et problรฉmatique
2 รtude de lโimpact du parallรฉlisme
2.1 Introduction
2.2 Procรฉdure expรฉrimentale
2.2.1 Plateforme
2.2.2 Multiplication matricielle
2.3 Analyse des mesures et extraction du modรจle
2.3.1 Analyse du temps dโexรฉcution
2.3.2 Analyse de la surface
2.3.3 Analyse de lโรฉnergie
2.3.3.1 รnergie en fonction du dรฉroulage de boucle
2.3.3.2 รnergie en fonction du temps dโexรฉcution
2.3.3.3 Analyse des gains รฉnergรฉtiques
2.3.4 Extraction du modรจle
2.4 Applications de validation du modรจle
2.4.1 Estimation de mouvement
2.4.2 Filtre de dรฉblocage (H.264)
2.4.3 Analyse et rรฉsultats
2.5 Emploi de la reconfiguration dynamique
2.5.1 Modรฉlisation du FPGA
2.5.2 Modรฉlisation des tรขches et de la reconfiguration
2.5.3 Modรฉlisation de la consommation รฉnergรฉtique
2.5.4 Effacement de la configuration
2.6 Conclusion
3 Analyse de la Consommation de la Reconfiguration Dynamique
3.1 Introduction
3.2 Modรจles de consommation
3.2.1 Modรจle ร gros grain
3.2.2 Modรจle ร grain moyen
3.2.3 รtude de la prรฉcision
3.2.3.1 Procรฉdure de mesure
3.2.3.2 Prรฉcision รฉnergรฉtique
3.2.3.3 Prรฉcision en puissance
3.2.4 Conclusion
3.3 Analyse dรฉtaillรฉe de la consommation
3.3.1 Organisation du fichier de configuration
3.3.2 Lecture et รฉcriture de la configuration
3.3.3 Application de la configuration
3.3.3.1 Surconsommations transitoires
3.3.3.2 Variations de la consommation idle
3.3.4 Extraction du modรจle ร grain fin
3.3.5 รtude de la prรฉcision du modรจle ร grain fin
3.3.5.1 Prรฉcision รฉnergรฉtique
3.3.5.2 Prรฉcision en puissance
3.4 Conclusion
4 Exploration de la consommation dans les plateformes reconfigurables
4.1 Optimisation du contrรดleur de reconfiguration
4.1.1 Contrรดleur de reconfiguration
4.1.2 Gestion de la reconfiguration
4.1.3 Implรฉmentation et performances
4.1.4 Analyse de puissance
4.2 Modรฉlisation de systรจmes hรฉtรฉrogรจnes reconfigurables
4.2.1 Modรฉlisation de lโarchitecture
4.2.1.1 Caractรฉrisation des ressources
4.2.1.2 Caractรฉristiques de consommation idle
4.2.1.3 Caractรฉristiques de la reconfiguration dynamique
4.2.2 Modรฉlisation de lโapplication
4.2.2.1 Graphe de dรฉpendance des tรขches
4.2.2.2 Instanciation des tรขches
4.2.2.3 Temps dโexรฉcution, puissance et รฉnergie
Conclusion
Tรฉlรฉcharger le rapport complet