prototypage virtuel de système sur puce pour une ... · temps et parallélisme consommation et...
TRANSCRIPT
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
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 >
Temps et parallélisme Consommation et température
Résultats
Matthieu Moy (Verimag) Prototypage virtuel de SoCs 29 janvier 2014 < 20 / 21 >
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 >
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 >
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 >
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 >
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 >