Top Banner
Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et fidèle Matthieu Moy Verimag (Grenoble INP) Grenoble, France 29 janvier 2014 Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 1 / 21 >
57

Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Nov 13, 2018

Download

Documents

truongkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Prototypage virtuel de système sur puce pour unesimulation rapide et fidèle

Matthieu Moy

Verimag (Grenoble INP)Grenoble, France

29 janvier 2014

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 1 / 21 >

Page 2: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 2 / 21 >

Page 3: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 2 / 21 >

Page 4: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Parallélisation des simulations

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 3 / 21 >

Page 5: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Page 6: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Page 7: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Problèmes et solutions pour l’exécution parallèle deSystemC/TLM

(1) Ordre d’exécution imposé par la sémantique de SystemC(2) Accès concurrent aux ressources partagées

(comme x++ sur une variable globale)

; Pas de solution efficace 100% automatique pour TLM

Notre proposition = des constructions en plus :Désynchronisation (1) / Synchronisation (2)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 4 / 21 >

Page 8: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: l’idée

SC_THREAD_1

SC_THREAD_2

...

SC_THREAD_N

OS thread_1

OS thread_2

OS thread_N

SystemCFils d’exécution OS

(thread)

SystemC non-modifiéCertains calculs délégués à d’autres threadsSynchronisation faible entre SystemC et les threads grâce auxtâches avec durée

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 5 / 21 >

Page 9: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Page 10: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Page 11: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);

during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Page 12: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Page 13: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Temps simulé en SystemC et sc-duringS

yste

mC

sc-d

urin

g

A

B

P

Q

Processus A://Calculf();//Temps pris par fwait(20);

f()wait(20)

Processus P:g();wait(20);during(15, h);

g()wait(20)

h()

i() j()

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 6 / 21 >

Page 14: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Page 15: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Page 16: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Impact sur le parallélisme

P1

P2

P3

P4

Recouvrement entre tâches ; exécution parallèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 7 / 21 >

Page 17: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 18: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 19: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 20: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)

join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 21: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)

join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 22: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 23: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: première implémentationvoid during(sc_core::sc_time d,

std::function<void()> f) {

1 std::thread t(f); // Création du thread

2 sc_core::wait(d); // SystemC s’exécute

3 t.join(); // Attente de terminaison}

A

B

C

Thread

1

during(d, f);

création duthread

f

2 wait(d)join()

3

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 8 / 21 >

Page 24: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Page 25: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Page 26: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: nouvelles primitives de synchronisationextra_time(t): Augmenter la durée de la tâche en cours

Pwait(5)

duréeinitiale extra time

catch_up(): Attendre que SystemC ait atteint la fin de la tâche

while (!c) {extra_time(10);catch_up(); // Assure l’équité

}

sc_call(f): Appel de f dans le contexte de SystemC

x++; // Interdit dans une// tâche avec durée

sc_call([]{ x++; }); // OK

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 9 / 21 >

Page 27: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: implémentations

SC_THREAD_1

SC_THREAD_2

...

SC_THREAD_N

sync_task_1 OS thread_1

sync_task_2 OS thread_2

sync_task_N OS thread_N

SystemCFils d’exécution OS

(thread)

Stratégies:SEQ Séquentiel (= référence)

THREAD Création + destruction de thread pour chaque tâchePOOL Ensemble de threads pré-alloués

ONDEMAND Thread créé sur demande et réutiliséMatthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 10 / 21 >

Page 28: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

SC-DURING: résultats et conclusions

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

Faible couplage temporel(synchronisations explicites)

Fort couplage temporel

Machine de test : 4× 12 = 48 cœursMatthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 11 / 21 >

Page 29: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Plan

1 Temps et parallélisme

2 Estimation de consommation et température

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 11 / 21 >

Page 30: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureUn exemple

« Comment valider un logiciel embarqué quirégule la température de la puce ? »

while (true) {// Température d’un ou// plusieurs points de la pucelecture_capteurs();

calcul_decision();

// Réduction de fréquence/tension,// extinction d’urgence, ...controle_actionneurs();

}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 12 / 21 >

Page 31: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 32: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 33: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraire

ScénarioCalculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 34: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraire

Scénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 35: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 36: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation et de températureQuelle précision ? Quelles applications ?

controle_actionneurs()

lecture_capteurs()

TLM Bus

CPU

process =C++ code

ITC

Capteur T RAM GPIO

VGA Timer

TLM

Température arbitraireScénario

Calculs sur un modèle

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 13 / 21 >

Page 37: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Puissance consommée, température,et dissipation de chaleur

Composant

Puissance(effet Joule)

Dissipation(vers l’extérieur)

Dissipation

(vers un autrecomposant)

Dissipation

(depuis un autrecomposant)

; système d’équation différentielles, résolu par des solveurs dédiés

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 14 / 21 >

Page 38: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Puissance consommée, température,et dissipation de chaleur

Composant

Puissance(effet Joule)

Dissipation(vers l’extérieur)

Dissipation

(vers un autrecomposant)

Dissipation

(depuis un autrecomposant)

; système d’équation différentielles, résolu par des solveurs dédiés

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 14 / 21 >

Page 39: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation avec des modèles à état

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Sleep Idle

Run

0 watt 0.1 watt

0.4 watt

// Processus SystemCvoid compute() {

while (true) {

set_state("run");

f();wait(10);

set_state("idle");

wait();}

}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 15 / 21 >

Page 40: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Estimation de consommation avec des modèles à état

SPI

I2C

LIN

CAN Ethernet

USB

WIFI

GPU

MEM CTLR

CORE

ITC

MMU

TIMER

UART

PWM

PRCMU

CORE

ITC

MMU

TIMER

UART

Capteur

Capteur

DOCSIS

Compo

DISPLAY

Audio

H.265

CORE

ITC

MMU

TIMER

UART

CORE

ITC

MMU

TIMER

UART

DAC

DAC

ADC

ADC

Sleep Idle

Run

0 watt 0.1 watt

0.4 watt// Processus SystemCvoid compute() {

while (true) {set_state("run");f();wait(10);set_state("idle");wait();

}}

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 15 / 21 >

Page 41: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Des états à la consommation

État sleep run idle run

Consommation0 watt

0.4 watt

0.1 watt

0.4 watt

Énergie(Consommation

× Temps)

Total

2.5joules

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 16 / 21 >

Page 42: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

De la consommation à la température

État sleep run idle run

Consommation0 watt

0.4 watt

0.1 watt

0.4 watt

Température

20oC

40oC

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 17 / 21 >

Page 43: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemCSolveur

Puissance etTempérature

États

Température

La fonctionnalité peut dépendre des données extra-fonctionnelles(exemple : capteur de température)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 18 / 21 >

Page 44: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Instant desimulation

t = 3

...Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 45: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 46: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 47: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 48: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 49: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

2

34

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 50: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 51: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Cosimulation SystemC et solveur extra-fonctionnel

SystemC

P/To

Fonction

Instant desimulation

t = 0

P/To

Intervalle desimulation

t ∈]0,3[

Fonction

Instant desimulation

t = 3

...

Instants de simulation(Temps nul)

Intervalle desimulation

1

23

4

1 SystemC avance la simulation jusqu’à l’instant t

2 SystemC envoie une requête de simulation extra-fonctionnelle sur[t , t + d ]

3 Le solveur extra-fonctionnel fait le calcul sur l’intervalle

4 SystemC reprend la main

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 19 / 21 >

Page 52: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Résultats

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 20 / 21 >

Page 53: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Page 54: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Page 55: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Conclusion et perspectives

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Page 56: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Questions ?

P1P2P3P4

0

2

4

6

8

10

12

14

10 20 30 40 50 60

Acc

élér

atio

n

Nombre de processeurs dans la plate−forme

SystemCSolveur

Puissance etTempérature

États

Température

Merci !

4 thèses soutenuesSTMicroelectronics/Verimag

2 projets depuis 2002

Nouveau projet,2 thèses en cours

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >

Page 57: Prototypage virtuel de système sur puce pour une ... · Temps et parallélisme Consommation et température Prototypage virtuel de système sur puce pour une simulation rapide et

Temps et parallélisme Consommation et température

Sources

http://www.fotopedia.com/items/flickr-367843750(oskay@fotopedia, CC Attribution 2.0 Generic)

Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 21 / 21 >