La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les.

Présentations similaires


Présentation au sujet: "1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les."— Transcription de la présentation:

1 1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les Algorithmes - bât. Euclide B, Sophia Antipolis -France Ecole darchitecture Mars 2005

2 2 PLAN 1.Généralités sur la consommation électrique des circuits numériques 2.Estimation et optimisation de la consommation des ASICs et des FPGAs 3.Estimation et Optimisation de la consommation des processeurs et des mémoires

3 3 PLAN 1.Généralités sur la consommation électrique des circuits numériques 1.La consommation ? 2.Les sources de dissipation 3.Optimisation 2.Estimation et optimisation de la consommation des ASICs et des FPGAs 3.Estimation et Optimisation de la consommation des processeurs et des mémoires

4 taille des Tr en nm F en Ghz Evolution de la technologie Prévisions ITRS 2003 année W W

5 5 Quelques chiffres ? [Bo02] carte mère Intel D865GvHz : Minimum loading : 190 W (aucune application sexécute), Maximum loading : 286 W (heavy gaming application).

6 6 Quelques chiffres ? Le packaging Boîtier Céramique : 4 fois plus cher que le boîtier plastique (P<2W/cm 2 ). W Souce : P. Maurine - AS-LP Refroidissement : 1$/puce/watt au dessus de 40 W. (Source INTEL). [Ti98]

7 7 Quelques chiffres ? Les batteries Batteries au lithium : 1992 : 90 Wh/kg, 2000 : 140 à 160 Wh/kg : de 190 à 200 Wh/kg. Source : CEA Piles à combustibles ?

8 8 Température dans le circuit [ Sil04] Température de la jonction : de 85°C -> 125°C : Fmax diminue de 14% Le circuit se dégrade exponentiellement à la température de la jonction.

9 9 La consommation des circuits ? Diversité et complexité accrues des applications : Audio, vidéo, téléphonie, bureautique, messagerie … Autre milieu médical......

10 10 Les sources de dissipation : Puissance et Energie P = P statique + P commutation Puissance de repos Due aux commutations en sortie de la porte CMOS V dd V s V e NMOS PMOS

11 11 Puissance dynamique Pcommutation = Pcourt_circuit + Pdynamique Pcourt_circuit : changement détat : les deux transistors NMOS et PMOS sont conducteurs simultanément, ~10% à 15% de Ptotale. Par transition (0->1) : Pdynamique = C l.V dd 2.F CL : capacité de charge (loading charge)

12 12 Puissance statique CMOS : interrupteur imparfait V dd V s V e C ch 1 0 I 1 0 V e P statique = I sub. V dd + I diodes.V dd Courants inverses de diodes (jonction) G S D Subtreshold current (I2): Transistor PMOS laisse passer le courant, Transistor NMOS : ouvert, Vdrain = Valim, Vsubstrat = 0V Courant de fuite.

13 13 Puissance statique : courant statique Isub Courant de fuites attention : circuit mémoire, W/L, V TH, T ? V T : tension de seuil (Threshold Voltage) Isub Isub ~ (W/L) e (-V TH /T) Cas idéal : V TH /V dd < 0.3 [Bo02]

14 14 Influence de V T sur Pstatique T. Sakurai, ISSCC2003 Ileakage = 0.01 µA/µm pour une techno de 130 nm Ileakage = 3 µA/µm pour une techno de 45 nm

15 15 Puissance statique, Puissance dynamique Source : P. Maurine - LIRMM - AS-LP

16 16 Du coté des batteries Choix dune batterie adaptée : Wh/Kg, Le temps de décharge de la batterie : à courant constant A Typical Discharge Profile (Li/MnO 2 DL2/3A Cells) [Ge01] Lénergie totale C fournie par une batterie idéale est : C = I n.T l (loi de Peukert) n : constante propre à la batterie (cas idéal : n=1), T l : temps de décharge en heure, I : courant de décharge.

17 17 Du coté des batteries Modèle électrochimique trop complexe, Modèles basés sur des circuits électriques ? Maîtriser E, Pmoyen, Ppic (Le packaging est déterminé par rapport à Ppic/cm 2 ). Pmoyen constant [Ma99]

18 18 A quel niveau doit-on intervenir ? SOURCE : MEDEA+ conférence/octobre 2002

19 19 Comment réduire la consommation ? Couper la tension dalimentation : Couper la tension dalimentation : Exemple modes de repos (idle, sleep) des processeurs (LParm, StrongArm, Arm7, 9, 11, Crusoé, Xscale, Pentium M, PowerPC…) Baisser la tension dalimentation Baisser la tension dalimentation (voltage scaling) (voltage scaling) T = K. C L.V dd V dd -V TH ) 2 Lorsquon baisse le tension dalimentation, F doit être recalculée => on parle de couple (V,F)

20 20 Comment réduire la consommation ? Baisser la fréquence du circuit : Ppic et Pmoyen diminuent, E reste inchangée => permet de limiter la dissipation thermique et de maîtriser le pic de puissance (Ppic détermine le prix du packaging). Réduction du nombre de commutations : niveau porte, processeur, bus et mémoire. Taille des transistors : Permet de diminuer la capacité de charge équivalente.

21 21 Comment réduire la consommation ? Plusieurs V T : Influence de V TH 1- Dual Treshold CMOS (DTCMOS) : 2xV TH V TH bas sur le chemin critique, V TH haut hors chemin critique. 2 - Multiple Threshold CMOS (MTCMOS) [Ca04] : V TH bas fonctionnement normal, V TH haut en mode repos. V TH

22 22 Comment réduire la consommation ? Sub=1 : V TH haut Sub=0 : V TH bas Transistor off : V GS =0V, Transistor on : V GS = Vdd. Plusieurs V TH [In01] : 3 - Variable Treshold CMOS Transistor (VTCMOS) => ABB (Adaptative Body Biaising)

23 23 La consommation dans un SOC uP USB DSP ASIC PCI DRAM SRAM DSP RISC Fonction Matérielle (IP) FPGA S/DRAM Bus/Réseau Bibliothèques T1 C1C2 T5 T3T4T2 DSP RISC Bus Application Contrôle + Flots de données Contraintes - Temps - Consommation - Surface Ensemble de Tâches Architecture du SOC Ordonnancement

24 24 La consommation ?

25 25 PLAN 1.Généralités sur la consommation électrique des circuits numériques 2.Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA) 1.Estimation de la consommation des ASICs 2.Optimisation de la consommation des ASICs 3.Cas particulier des FPGAs 3.Estimation et Optimisation de la consommation des processeurs et des mémoires

26 26 Estimation niveau logique : principe P = P statique + P dynamique P statique = V dd. i (Istatique i ) Istatique i = N.K design.Î leak Avec : N : nombre de transistors, K design : représente les caractéristiques du circuit, Î leak : dépendant de la technologie, de V TH. CircuitNKdesign D Latch10/bit1.4 D FlipFlop22/bit2.0 Mpx 2->12/bit/entrée1.9 1 cell 6T- RAM 6/bit1.2 Porte logique 2/entrée11

27 27 Estimation niveau logique : principe P = P statique + P dynamique i : Nombre de transitions 0->1 de la porte i pendant le cycle dhorloge j. P i : puissance dissipée lors dune commutation de sortie par la porte i. CombinatoireSéquentiel P clock : consommation sans activité en sortie de la bascule, P Q : consommation due à la commutation de sortie, i : nombre de commutation de sortie.

28 28 Estimation niveau logique : Méthode statistique Simulateur P1 P2 Pn Sappuie sur les simulateurs logiques du commerce (Cadence, SPICE, ….). 2 - Méthode probabiliste (SequenceDesign, BuildGates-Cadence, ….) : Vecteurs de test représentatifs Pmoyen Calcul de la consommation à partir de lactivité => Déterminer toutes les transitions => Processeurs actuels 500Mtransistor/cm 2 => Temps de calcul ?? 1 - Méthode statistique : Analyseur Pmoyen Vecteurs de test Extraction de Propriétés

29 29 Estimation niveau logique : modèle probabiliste Modèle probabiliste : est remplacé par la probabilité de transition notée P 0->1. P 0->1 = P 0 (out=0).P 1 (out=1) =P 0 (1-P 0 ) Si les N entrées dune porte ont la même probabilité de transition alors : Exemple : P 0->1 = P 0.P 1 = 1/2.1/2=1/4 Notons P A =P(A=1) et P(A=0)=1-P A P 0->1 = (1-P A )P A => Glitchs non pris en compte AOUT O1 10

30 30 Estimation niveau logique : les Glitchs ? ns

31 31 Estimation niveau logique : cas des FSM 11 S1 S2 S4 S P 1,2 =3/4 S1 S2 S4 S3 P 1,1 =1/4 P 2,1 =1/4 P 3,3 =1/4 P 4,2 =2/4 P 3,4 =3/4 P 4,3 =2/4 P 2,3 =3/4 Calcul des probabilités de transition P 4 =9/29 3/58 S1=00 S2=01 S4=11 S3=10 P 1 =2/29 3/58 3/29 9/58 9/29 9/58 1/58 P 2 =6/29 P 3 =12/29 Calcul des probabilités des états et de la probabilité totale de transitions Pi,j P Q1 = P 1,2 *P S1 + P 3,4 *P S3 P Q2 = P 2,3 *P S 3

32 32 Optimisation ? Dynamic Power Management (DPM) Vdd : Power Supply Shutdown : on coupe lalimentation des parties du circuit qui ne sont pas utilisées, Voltage Scaling : on abaisse la tension dalimentation (=> F diminue) hors chemin critique. Clock gating : principe Larbre dhorloge : 30% Pcrête d un processeur Pbasc =.(P Q + P clock ) CNTRL Latch CLK GCLK & T > T CLK + T AND + T latch => Réduit aussi le nombre de commutations inutiles.

33 33 Clock gating pour les unités de contrôle Avec Fa = i j ( Si.Cj) avec Cj condition pour rester dans Si 10,01 S1 S0 S2 -1, ,10 Logique combinatoire Etat sorties entrées Fa latch & CLK Gain en puissance variant de 10% à 30%, Augmentation en surface de 9% à 38%.

34 34 Clock gating pour les unités de contrôle S3 S1 S5 S2 S4 C 35 C 42 FSM1 FSM2 FSM1 FSM2 Fa1 Fa2 CLK Le gain en consommation dépend de la qualité du partitionnement (ILP, Algorithme génétique) : puissance : -30%, vitesse : + 12%, surface de silicium : + 28 % sur la FSM, +8% sur le circuit total.

35 35 Clock gating Clock gating pour les unités fonctionnelles Principe: on se sert des contrôles de sortie pour désactiver les registres dentrées. Implantée dans les microprocesseurs haute performance. Puissance : -10% sur la puissance, peu daugmentation de la surface de silicium. EN Add Tri En Clock gating commandé par linstruction PC Fetch Decode Memory Execute WriteBack Instruction No FP No WB CLK

36 36 Autres Optimisations : Influence du codage Compteur : 9,5 W/Mhz par transition 0->1. Compteur binaire naturel : 4 transitions en moyenne (2 montantes, 2 descendantes) Pmoyen = 2x9,5 W/Mhz + 8xPclock Compteur Binaire réfléchi : Pmoyen = ½ *9,5 W/Mhz + 8xPclock Exemple dapplication : compteur de programme dun processeur Application aux unités de contrôle : Chemin le plus probable : coder avec un nombre minimum de transitions (distance de Hamming).

37 37 Autres optimisations : pré calcul Principe : éviter le passage par une fonction coûteuse lorsque le résultat peut-être pré calculé. Exemple : comparateur A>B Si les deux MSB sont différents alors le résultat peut-être déterminé sans soustraire A et B.

38 38 Autres optimisations : parallélisation, pipeline (décodage de viterbi 16 bits)[Be98] P ref = C ref.V ref 2.F ref = 14.7 mW C ref = 31 pF, F ref =1/40 ns, V ref = 5V P parallèle = (2.15).C ref. (0.58.V ref 2 ). (0.5.F ref )= 5.3 mW P pipeline = (1.15).C ref. (0.58.V ref 2). (F ref )= 5.7 mW

39 39 Parallélisation, pipeline, Pstatique ? Techno 65 nm : Pdyn/Pstatique = 1 Pref = Pdyn+Pstatique = 2. P Pparallèle = 0,36. P + 1,98.P.(0,58) = P.(0, ) = 1,508.P Ppipeline = 0,39. P + 1,1.P.(0,58) = P.(0,39 + 1,1.0,58) = 1,028. P.

40 40 La Consommation des FPGAs SOURCE : ramirtha-EEC2890-Winter 2004 P FPGA /P ASIC ~ 100 à 300 ? Xilinx4000 => 1000nW/MHz/porte ASIC => 20-30nW/Mhz/porte

41 41 La consommation des FPGAs Architecture dun FPGA type ISLAND Exemple de schéma dun bloc Logic Pdyn = Pdyncell + Pdynhorloge + Pdyninterconnect Pstatique = allcell I leakcell + allroutingswitch I switch + all ramcell I leakramcell

42 42 Réduction de la consommation des FPGAs Consommation des blocs logiques : méthodes identiques aux ASICs ?, Consommation dans le réseau dhorloge : - Clock gating => cellule dentrée - Clock gating par bloc ? Mode basse consommation : 100µA, (800ns pour passer en mode basse consommation, 200 µs pour retourner en mode run – source FPGA Actel). Deux Vdds : Blocs logics avec soit VddH, soit VddL soit choix par programmation. 1 Réseau dhorloge Horloge CNTRL 2 ns

43 43 PLAN 1.Généralités sur la consommation électrique des circuits numériques 2.Estimation et optimisation de la consommation des circuits logiques (ASIC/FPGA) 3.Estimation et Optimisation de la consommation des processeurs et des mémoires 1.Estimation de la consommation du processeur et du système mémoire 2.Réduction de la consommation du processeur 3.Réduction de la consommation du système mémoire

44 44 Processeur et mémoire (système monoprocesseur) p E = Eprocesseur + Ebus + E mémoires Emémoires = Emémoires internes (cache, scratchpad) + Emémoires externes

45 45 Consommation logicielle E = i E i N i + i,j O i,j M i,j + k E k [Ti98] AvecEi : énergie propre à linstruction i, Ni : nombre dinstruction de type i, Oi,j : overhead entre les deux instructions de type i,j (changement de chemin de donnée) Ek : énergie due aux défauts de cache, et aux ruptures de pipeline.

46 46 Consommation logicielle : Instruction Level Power Analysis A Ii, Ii,j Calcul de E et Ppic Calcul de E et Ppic Ni, Mi,j, Ek ? Ni, Mi,j, Ek ? Programme asm ou C Intégration du parallélisme I i, I i,j :Mettre 150 à 200 (E(200.E i )>> Erebouclage) fois la même instruction i (ou la paire dinstruction i,j) dans une boucle. Effectuer ces mesures sans puis avec commutation de données. Ces mesures peuvent être effectuées par classe dinstructions. VESTIM-LP [Gu01]

47 47 Consommation logicielle : Fonctional Level Power Analysis 1- Analyse fonctionnelle de larchitecture => paramètres architecturaux significatifs pour la consommation et définition du modèle de E et P. 2 – Mesures caractéristiques Exemple : SoftExplorer (N. Julien – Lester – AS-LP) ä : taux de parallélisme, ä : taux d utilisation des unités de traitement ä : taux d accès en mémoire externe ä : taux de défaut de cache ä : taux d utilisation du DMA ä PSR : taux de rupture de pipeline I total = f(mode mémoire, F,,, ) Exemple : TI TMS320C6201

48 48 Architecture du système mémoire et consommation Mémoires locales : Mémoires cache : flexibles mais consommatrice, Mémoires Scratch_pad : SRAM localisée sur laquelle on mappe les variables les plus fréquemment accédées, Mémoire externe ou principale : DRAM, MRAM, Flash... Temps daccés aux données

49 49 Architecture du système mémoire et consommation 1 cycle, Temps daccès : 3 ns, nJ 5 à 10 cycles Temps daccès : 20 ns, nJ Processeur L1 Cache (SRAM) L2 Cache (SRAM) Mémoire Principale 20 à 50 cycles temps daccès 75 ns, 100 mW N-1 P-1 0 P 1 cycle Scratch Pad Mem Cache de données Processeur Mémoire externe Espace mémoire adressable Cellule SRAM : 6Trs Cellule DRAM : 2 Trs

50 50 Architecture du système mémoire : scratch-pad Espace mémoire adressable N-1 P-1 0 P 1 cycle Scratch Pad Mem Cache de données Processeur Mémoire externe Calcul de lhistogramme dune image : Char Image[512][512]; Int Histo[256]; … For (i=0;i<512;i++) For (j=0;j<512; j++) level = Image[i][j]; Histo[level]=Histo[level]+1; Configuration 1 - Cache 2K : cache misses dues aux conflits dadresse entre Image et Histo. Optimisation difficile car ladresse de Histo est dépendant de la valeur du pixel. Configuration 2 – cache 1K-Scratchpad 1K : Histo est placé dans le scratchpad.

51 51 Consommation des SRAM (cache, scrachtpad) Ecache = F(Line size, associativity, cache size, word size, techno) Estimation : CACTI [CA]

52 52 Consommation des DRAM SDRAM : E SDRAM =E STBY + E REFRESH + E READ + E WRITE Typiquemment le refresh intervient toute les 64 ms. Benchmarks : SPEC95 RDRAM (Rambus DRAM)[Le00] : Power down (3mW) Active (300mW) Standby (180mW) Nap (30mW) +6000ns +6ns +60ns Read/write Transaction capacité : 64 Mbits répartie en 4 bancs

53 53 Consommation des DRAM : Mémoire multi_bancs Processor Cache Chip 1Chip 4Chip 3Chip 2 16 Processor Cache Chip 1Chip 4Chip 3Chip 2 16 NAP, STB, PDN

54 54 Consommation de la hiérarchie mémoire E memorysystem = E caches + E scratchpad + E main memory E caches = n E cache i n : nombre de caches (données + instructions) E cache i = m E hit + p E miss + l E noaccess E main memory = k E access + j E noaccess + … ( si différents modes ) P+m+l = k+ i : durée dexécution de lapplication

55 55 Réduction de la consommation : transformation de code E = i E i N i + i,j O i,j M i,j + k E k Ei : Ei : Utiliser des formats adaptés à léchelle de numération souhaitée : Utiliser des formats adaptés à léchelle de numération souhaitée : Exemple : type « int », % sur P que pour « char » ou « short ». Favoriser lutilisation des opérations consommant moins dénergie. Exemple : A*2 => A+A. Oi,j : Réordonner les instructions après ordonnancement : Principe : Réordonner les instructions afin de réduire les commutations entre deux instructions consécutives. Exemple pour le processeur Fujitsu DSP : 1. LDISéquences :1,2,3 => 87.3 mA 2. MOV22,1,3 => 71.4 mA gain de 22% 3. ADD

56 56 Réduction de la consommation : transformation de code Ek : Réduction du nombre de rupture de pipeline Basé sur les probabilités de passage dans les séquences dinstructions. Exemple : IF (…) Then <= Prob=0.3 seq instr 1 … Else <= Prob =0.7 seq instr 2 … END IF; Pour le pentium 4, taille du pipeline : 20 Ei, Ek : Réduction du nombre daccés mémoire et de défaut de cache : Modifications algorithmiques : favoriser lutilisation des registres. Modifications architecturales, Combinaison des deux. Beq seq instr1 Seq instr 2 Jump END IF Seq instr 1 END IF Bne seq instr2 Seq instr 1 Jump END IF Seq instr 2 END IF

57 57 Réduction de la consommation : transformation de code for(i=0;i une seule lecture mémoire. Si A[i+1] peut_être affectée à un registre => une seule lecture mémoire. Pb : Augmente la taille du code (cache dinstruction).

58 58 Réduction de la consommation : transformation de code for(i=0;i décomposition par bloc dont la taille rentre dans le cache (Tile size). => Autre solution : modification du calcul dadresse associé à un code de gray Multiplication de matrice Loop Tiling Transformation Tile 1 Tile 2 Tile 3 Tile 4 Tile 1 : A[0][0], A[0][1], A[1][0], A[1][1], Tile 2 : A[0][2], A[0][3], A[1][2], A[1][3], …

59 59 Réduction de la consommation : Architecture du système mémoire Système embarqué : Architecture mémoire adaptée à lapplication afin de diminuer le nombre de défaut de cache : degré dassociativité, niveau de cache, taille de ces différents niveaux de cache … => dépend de lapplication ?

60 60 Réduction de la consommation : DVFS, ABB, modes repos Pour les processeurs DVFS (Xscale, Transmetta, StrongArm, Lparm …) : on adapte la vitesse de fonctionnement en fonction des contraintes temporelles (problème dordonnancement). Modes repos : idle, sleep … IDLE SLEEP 50 mW 160 mW RUN 400 mW 10 s 160ms 90 s Processeur StrongArm : (59 Mhz, 0.8 V) -> (206 Mhz, 1.5 V) ABB (Adaptative Body Biaising) : V TH variable

61 61 Quelques chiffres Echelle de V,FP(V,F)Modes repos (Pénalités) StrongArm SA1100.8V,59Mhz 1.5V,206Mhz _ 400mW Idle : 160mW (10 µs) Sleep : 50mW (160 ms) LParm (base : ARM8) 1.1V,10Mhz) (3.3V,100Mhz) 1.8 mW 220 mW Idle : 500µW (1 cycle) PXA255(Xscale)1V,200Mhz 1.3V,400Mhz 0.9 W 1.5 W P idle (F,V) = 45 à 939 mW Sleep : (P=45µA) Arm1176 (130µm)De 330 Mhz à 550 Mhz 0.8mW/Mhz avec cache 0.6 mW sans cache _ Transmetta0.8V, 300Mhz 1.3V,1GHz __ FPGA-ActelF<400Mhz1000nW/MHz/portestby : 100µA (800ns,200µs)

62 62 E processeur : DVFS ou mode repos ? Tâche1 F1,V1 Processeur inactif WCET (Worst Case Execution Time) Tâche1 F1,V1 Processeur en mode repos WCET Tâche1 F2 E tâche1,F1,V1 (>E) < E Ppic inchangé, Prepos => rechargement de la batterie ?

63 63 DVFS ou modes repos Exploitation des modes repos lorsque F nest plus disponible. => Et la mémoire ???? Recherche des différentes vitesses de fonctionnement du ou des processeurs. T1 (V,F) PE1 Echéance T3 (V3,F3) Mode repos T6 (V,F) F CPU (Mhz)E CPU E mem E total Exemple : décodeur MPEG (Processeur intel XSCALE) [Le00] P en mW, E en mJ

64 64 E processeur + Emémoire : DVFS ou mode repos ? Tâche1 F1,V1 Processeur en mode repos WCET Tâche1 F2

65 65 DVFS + Gestion des modes repos du système mémoire (RDRAM) [Le00] F CPU (Mhz)E CPU E mem E total Exemple : décodeur MPEG (Processeur intel XSCALE) P en mW, E en mJ F CPU (Mhz)P CPU P mem E CPU E mem E total Exploitation des modes STBY, NAP, PDN

66 66 Considérons un ensemble de tâches définies par : Ci (Worst Case Execution Time : WCET) : pire temps dexécution dune tâche i, AETi : temps effectif dexécution dune tâche i, Ai : Date dactivation dune tâche i, Ti : Période dune tâche i = Echéance dune tâche i (Di). Principe de la politique RM (Rate Monotonic) [Gru02] : Priorité à la tâche qui a la plus petite période. (à priorité fixe) Pour N tâches : Ordonnancement basse consommation (monoprocesseur)

67 67 1.Recherche dun facteur de ralentissement global => Rechercher : S = Fref/F : facteur de ralentissement (S>1). Ordonnancement RM-LP hors ligne On cherche un facteur de ralentissement Ci=Ci*S tel que :

68 68 Ordonnancement RM-LP hors ligne Exemple : TâcheWCETPériode T113 T214 Ordonnancement RM Choix de Emin (E = Eproc + Emem) Parmi E DVFS et E moderepos Modes repos P Hyperpériode Préemption [Ki04] P t Hyperpériode P t t

69 69 Ordonnancement RM-LP hors ligne Solution ? Recherche dun facteur de ralentissement local Si il reste du temps, recherche dun facteur de ralentissement local. E Fnominale Fmin F DVFS DVFS+Modes repos t P P t

70 70 Ordonnancement en ligne Principe : redistributions des gains Lorquune tâche termine, on calcule la différence entre le WCET et le AET et on redistribue le temps gagné soit : à la tâche qui débute son exécution, à toutes les tâches en attente. TâcheWCETPériodeExécution 1 T T2141 T1 (V1,F1) CPU Deadline Si T1 finit avant son WCET T2 (V2,F2) Idle

71 71 Ordonnancement CC-RM [SH03] TâcheWCETPériodeExécution1Execution2Execution3Exécution4 T T Dj : deadline En ligne => EDF... Modes repos ?? Prédiction ? Coût de lordonnancement en ligne Power-aware ??? P t D1 D2 D3D4D /2 9/4

72 72 DVFS et ABB [Je04] 1. Modélisation de Pleakage (V) de façon à valider le gain attendu : P = P dynamique (V dd,F) + P leakage (V dd ) à V th constant. 2. Gestion du DVFS et du ABB (Adaptive Body Biaising) P = P dynamique (V dd,F) + P leakage (V dd,V th ) avec V th = V th1 – K 1. V dd – K 2.V bs P leakage = [V dd. (K 3. e K 4 V dd.e K 5 V bs ) + |V bs |.Ij. Exemple : processeur crusoe 70 µm Vdd=1V, Vbs =0V => E =93.5µJ, Vdd=0.85, Vbs =0V => E = 73.8µJ, Vdd=1V, Vbs =-0.66V => E =50.6µJ. Politique dordonnancement ?

73 73 Réduction de la consommation : Autres mémoires Mémoire 1T-SRAM (proposée par MoSys [Mo]) : Cellule de base : un transistor et une capacité (MOS). Une petite taille de cellule (1/3-1/4 dune cellule SRAM) Facilité de leur intégration de très grandes vitesses, 220Mhz pour une technologie 0.25 µm, plus de 300 Mhz pour une technologie 0.18 µm. Ces mémoires surpassent les mémoires DRAM en terme de densité ? Mémoire MRAM (proposée par Cypress) : Capacité : actuellement 2 Mo par chip, en 2006, 32Mo. Forte consommation en écriture, faible consommation en lecture, Quelques chiffres : Documentation cypress 32Kx8, Read and write access : 70 ns, active power : 495 mW, standby mode : 825 µW.

74 74 Autres mémoires Victim Buffer [Zh04] : mémorise les lignes récemment expulsées du cache. Frequent Value [Va04] : les données du cache sont divisées en deux catégories : FV pour « Frequent value » et « NFV » pour « Non frequent value ». Les FVs sont stockées sous un format encodé dans un petit bloc tandis que les NFVs occupent un bloc plus large sous un format non encodé. 20 Cycles 1 Cycle Cache Cache MainMemory Processor Processor Victim buffer Victim buffer 1 Cycle

75 75 Conclusion Evolution des techniques dordonnancement hors ligne et en ligne afin de réduire la consommation processeur + système mémoire en tenant compte du DVFS/ABB et des modes repos du processeur et des mémoires, Impact de lallocation mémoire ? Gestion du RTOS complexe => réalisation de certains services en HW. Systèmes Multiprocesseurs ? NOC (Network On Chip) ?

76 76 Conclusion : ITRS 2004 année SOC Dynamic power reduction SOC Static power reduction Manufacturable solutions exist. Manufacturable solutions are known. Manufacturable solutions are not known.

77 77 Bibliographie [Ac03] A. Acquaviva, T. Simunic, L. benini, « LP-ECOS : An energy efficient RTOS », HP Lanoratories, April [Be98] Luca Benini, Giovanni De Micheli, « Dynamic Power Management, Luca Benini, Giovanni De Micheli», Kluwer Academic Plublishers,1998. [Be00] L. Benini, A. Bogliolo, G. De Micheli, « A survey of design technique for system Level dynamic power Management », IEEE transactions on VLSi Systems, vol. 8, No. 3, Juin 2000, pp [Bo02] Bokar, [Ca04], B.H. Calhoun, F.A. Honoré, A. P. Chandrakasan, » A Leakage Reduction Methodology for distributed MTCMOS », proceeding of IEEE Joiurnal of Solid-state circuits, vol.39, no.5, may [Ch02] P. H.Chou, J. Liu, D. Li, N. Bagherzadeh, « IMPACCT : Methodology and tools for Power-Aware Embedded Systems », Design Automation for Embedded Systems, Kluwer Academic Plublishers, pp , [Da99] P. dave, G. Lakshminarayana, N. Jha, « COSYN: Hardware-Software Co- Synthesis of heterogeneous distributed Embedded Systems, IEEE Transactions on VLSI systems, Vol. 7, No. 1, mars [Do94] M. Doyle, J. Newman, J. Reimers, « A quick method for measuring the capacity versus the discharge rate for a dual Lithium-ion insertion cell undergoing cycling », Journal of pwoer sources, Vol. 52, No. 2, décembre 1994, pp [Ge01] Jun fei Geng, Battery Modeling: a Longer Lifetime, (duke University). [Gr02] F. Gruian, « Energy centric Scheduling for Real Time Systems », PhD thesis Lund Institute of Technology, 2002.

78 78 Bibliographie [Gu01] Guitton-Ouhamou Patri­cia, Belleudy Cécile, Auguin Michel, «Power consumption Model for the DSP OAK Processor», proceedings of 11th IFIP International Conference on Very Large Scale Integration-System-On Chip 2001, December , Montpellier, France, pp [Gu03] P. Guitton-Ouhamou, K. Ben Chehida, C. Belleudy, M. Auguin, «Automatical architecture exploration : Energy optimisations of a codesign tool for embedded HW/SW systems», first Northeast Workshop on Circuits and Systems (NEWCAS'2003), sponsored by IEEE June , 2003, in Montréal, Canada. [FEL03] Xiaobo Fan, Carla Ellis, and Alvin Lebeck. Interaction of power-aware memory systems and processor voltage scaling. In Proceedings of the Workshop on Power-Aware Computer Systems PACS'03, December [In01] T. Inukai, T. Hiramoto, T. sakurai, « VTCMOS in Seris Connected circuits », Proceedinf of ISPLED [Je04] R. Jejurikan, C. Pereira, R. Gupta, « Leakage Aware Dynamic Voltage Scaling For Real-Time Embedded Systems », Proceeding of Design Automation Conference [Ki04] W.Kim, J.Kim, S.L Min « Preemption-awware dynamic voltage scaling in hard real time systems », ISLPED [Le00] X. Fan, C. Ellis, A. Lebeck, « The synergy between Power-Aware Ssystems and Processor Voltage Scaling », Proceedings of the International Symposium on Low-Power Electronics and Design ISLPED'01, August [Lu01] Jiong Luo, Niraj K. Jha "Battery-Aware Static Scheduling for Distributed Real-Time Embedded Systems", in proceedings of 38th Design Automation Conference 2001 [p. 444] June 18-22, 2001 Las Vegas. [Lu02] J. Luo and N. K. Jha, Static and dynamic variable voltage scheduling algorithms for real- time heterogeneous distributed embedded systems, Int. Conf. on VLSI Design, Jan

79 79 Bibliographie [Ma99] Thomas Martin and Daniel Seiwiorek, "Non-Ideal Battery Behavior and Its Impact on Power Performance Trade-offs in Wearable Computing," Proceedings of the 1999 International Symposium on Wearable Computers, San Francisco, October 18-19, 1999; pp [Ti98] V.Tiwari, Reducing power in High performance microprocessors, Design Automation Conference, 1998, pp [Va04] Chuanjun Zhang, Jun Yang and Frank Vahid, Low static power frequent value data caches Date [Wu03] Dong Wu and Bashir M. Al-Hashimi, Petru Eles, "Scheduling and Mapping of Conditional Task Graphs for the Synthesis of Low Power Embedded Systems", in proceedings of Design Automation Test in Europe 2003 Munich, Germany, March 3-7, 2003, p [Zh03] D. Zhu, R. Melhem, and B. Childers; "Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multi-Processor Real-Time Systems", IEEE Trans. on Parallel & Distributed Systems, vol. 14, no. 7, pp , [Zh04] Chuanjun zhang, Frank Vahid, Using a victim buffer in application-specific memory hiearachy, DATE AS-LP : [Ca] CACTI : [Mo] Mosys low power design –dont forget about the memory,


Télécharger ppt "1 Modélisation et optimisation de la Consommation dans les architectures embarquées C. Belleudy Laboratoire I3S, UNSA-CNRS 2000, route des lucioles Les."

Présentations similaires


Annonces Google