Modélisation niveau système de SoC reconfigurables

Transcription

Modélisation niveau système de SoC reconfigurables
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modélisation niveau système de SoC
reconfigurables
I. Benkermi1 , A. Benkhelifa2 , D. Chillet1
S. Pillement1 , J-C. Prévotet2 , F. Verdier2
1 R2D2
2 ETIS
– IRISA/ENSSAT – Université de Rennes I,
– UMR 8051 – Université de Cergy-Pontoise
SympA’2005 – Avril 2005
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Contexte applicatif
Contexte architectural
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Contexte applicatif
Contexte architectural
Contexte
Applications
Dépendantes des données
Temps-réel «mou»
Evolution des normes
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Contexte applicatif
Contexte architectural
Contexte
Applications
Dépendantes des données
Temps-réel «mou»
Evolution des normes
Flexibilité architecturale
Reconfiguration dynamique
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Contexte applicatif
Contexte architectural
Contexte
Plate-formes ou System-on-Chip
Plus de puissance de calcul dans les architectures
embarquées
Plate-formes standardisées, performances ad-hoc
Architectures flexibles et/ou adaptatives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Contexte applicatif
Contexte architectural
Contexte
Plate-formes ou System-on-Chip
Plus de puissance de calcul dans les architectures
embarquées
Plate-formes standardisées, performances ad-hoc
Architectures flexibles et/ou adaptatives
Ressources reconfigurables dans les SoC
Reconfiguration dynamique
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Organisation générale
SoC reconfigurable
Processeurs
généraliste(s)
spécialisé(s)
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Organisation générale
SoC reconfigurable
Processeurs
généraliste(s)
spécialisé(s)
Accélérateurs spécialisés ou IP de traitement
filtres, modem, VITERBI . . .
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Organisation générale
SoC reconfigurable
Processeurs
généraliste(s)
spécialisé(s)
Accélérateurs spécialisés ou IP de traitement
filtres, modem, VITERBI . . .
Ressources de mémorisation et d’entrées/sorties
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Organisation générale
SoC reconfigurable
Processeurs
généraliste(s)
spécialisé(s)
Accélérateurs spécialisés ou IP de traitement
filtres, modem, VITERBI . . .
Ressources de mémorisation et d’entrées/sorties
Accélérateurs Reconfigurables Dynamiquement
FPGA, DART, PACT XPP. . .
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Organisation générale
SoC reconfigurable
Processeurs
généraliste(s)
spécialisé(s)
Accélérateurs spécialisés ou IP de traitement
filtres, modem, VITERBI . . .
Ressources de mémorisation et d’entrées/sorties
Accélérateurs Reconfigurables Dynamiquement
FPGA, DART, PACT XPP. . .
Ressources de communication
bus, multi-bus, NoC, RNoC
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Architecture générale
µP
....
µP
DSP
µCont.
Réseau d’interconnexion
MEM
Accélérateur
spécialisé
I/O
Proc.
Core
configuration
IP#1
IP#2
ARD1 (type FPGA)
trait.
#1
trait.
#2
ARD2 (type DART)
Avantages
Reconfigurabilité des ressources
Exécution sous contraintes (conso, charge, QoS . . . )
Evolutivité (Design reuse, inter-opérabilité)
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Architecture générale
µP
....
µP
DSP
µCont.
Réseau d’interconnexion
MEM
Accélérateur
spécialisé
I/O
Proc.
Core
configuration
IP#1
IP#2
ARD1 (type FPGA)
trait.
#1
trait.
#2
ARD2 (type DART)
Problèmes
Reconfigurabilité des ressources
Gestion de la plate-forme ?
Développement sur la plate-forme ?
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Système d’exploitation
Utilisation d’un «RT»OS embarqué
Gestion des ressources reconfigurables
Ordonnancement de tâches logicielles et matérielles
Partage des moyens de communication
Modèle standard de déploiement d’applications
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Système d’exploitation
Utilisation d’un «RT»OS embarqué
Gestion des ressources reconfigurables
Ordonnancement de tâches logicielles et matérielles
Partage des moyens de communication
Modèle standard de déploiement d’applications
Problèmes
Gestion par un OS ? Services spécifiques ?
Interactions OS / plate-forme ?
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Les verrous identifiés dans l’EPML POMARD
Organisation et hiérarchie mémoire
Cohérence des caches, migration, partage
Distribution/placement des données
Ressources de communication flexibles, adaptatives
Notion de temps-réel / Modèle de tâches
Modèle de programmation
Passage de messages, Threads
Préemption matérielle
Reconfiguration dynamique «à la volée»
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Architecture matérielle
Architecture logicielle
Les verrous identifiés dans l’EPML POMARD
Organisation et hiérarchie mémoire
Cohérence des caches, migration, partage
Distribution/placement des données
Ressources de communication flexibles, adaptatives
Notion de temps-réel / Modèle de tâches
Modèle de programmation
Passage de messages, Threads
Préemption matérielle
Reconfiguration dynamique «à la volée»
Besoin d’un modèle unifié du RSoC
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Plate-forme matérielle
processeur
Niveau 0
(physique)
mémoire
Accélérateur Reconfigurable Dynamiquement
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Tâches matérielles
Tâche D
HW
Tâche E
HW
H
H
Niveau 1
(tâches matérielles)
Tâche A
cœur de processeur
H
H
processeur
Niveau 0
(physique)
forme 2
forme 1
mémoire
Accélérateur Reconfigurable Dynamiquement
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Tâches logicielles
Tâche B
SW 1
S
Tâche D
HW
Tâche E
HW
S
S
Tâche A
cœur de processeur
H
H
Niveau 2
(tâches logicielles)
Tâche C
SW 1 ou 2
Niveau 1
(tâches matérielles)
H
H
processeur
Niveau 0
(physique)
forme 2
forme 1
mémoire
Accélérateur Reconfigurable Dynamiquement
ETIS, R2D2
Modèle de RSoC
s
n
C
n
mm
n for U
Commu
ition Po
mmunity
Poseido
ity Editio
for UML,
idon
UML, Co
Poseido
unity Ed
for UML,
Edition
seidon
UML, Co
n Pose
Commun
eidon for
Edition
seidon
L, Comm
ition Po
idon for
mmunity
ity Editio
for UML,
mmunity
ition Po
n Pose
unity Ed
n for UM
seidon
UML, Co
Commun
UML, Co
unity Ed
seidon
Poseido
ity Editio
L, Comm
ition Po
idon for
for UML,
eidon for
L, Comm
ition Po
Edition
n Pose
unity Ed
Commun
n for UM
seidon
unity Ed
n for UM
mmunity
Poseido
ity Editio
L, Comm
ition Po
for UML,
ido
mm
n
un
Co
n
Ed
se
UM
Co
L,
itio
ido
mm
Po
ity
L,
for
Ed
n
un
Co
n
seido
UM
for UM
n Pose
mmunity
Poseido
ity Editio
L, Comm
ition Po
for UML,
idon for
seidon
ity Editio
Edition
seidon
UML, Co
n Pose
unity Ed
Commun
n for UM
Commun
ition Po
idon for
mmunity
Poseido
ity Editio
L, Comm
for UML,
for UML,
Poseid
n Pose
unity Ed
Edition
seidon
UML, Co
Commun
n for UM
seidon
Edition
ity Editio
L, Comm
ition Po
idon for
mmunity
Poseido
for UML,
mmunity
n Pose
unity Ed
Commun
n for UM
Edition
seidon
UML, Co
seid
UML, Co
Poseido
ity Editio
L, Comm
ition Po
for UML,
idon for
mmunity
Po
n
un
for
Ed
se
on
UM
n
Co
n
itio
mm
Po
ity
eid
L,
itio
for
ido
Ed
un
os
Ed
se
UM
ity
L, Co
ition
idon
L, Comm
ition Po
idon for
mmunity
n Pose
unity Ed
Commun
n for UM
i
n Pose
unity Ed
n for UM
UML, Co
Poseido
ity Editio
L, Comm
for UML,
n Pose
Poseido
ity Editio
L, Comm
idon for
Edition
Commun
n for UM
oseidon
ity Editio
Edition
n Pose
Commun
n for UM
mmunity
Poseido
for UML,
Commun
mmunity
Poseido
ity Editio
L,
for UML,
Edition
seidon
UML, Co
n
un
Co
n
se
UM
Po
ity
L,
itio
for
ido
mm
Po
n
un
n
Ed
se
UM
n for
Edition
UML, Co
Poseido
ity Editio
L, Comm
ition Po
idon for
mmunity
Poseido
ity
un
for
Ed
se
UM
n
un
Co
n
mm
Po
ity
L,
itio
for
ido
mm
n
un
Ed
se
Co
L, Co
itio
mm
for UM
seidon
ition Po
mmunity
Pose
unity Ed
n for UM
for UML,
seidon
UML, Co
ition Po
unity Ed
Edition
seidon
UML, Co
Poseido
L, Comm
ition Po
idon for
unity Ed
L, Comm
ition Po
idon for
mmunity
n Pose
unity Ed
n for UM
L, Comm
n Pose
unity Ed
n for UM
s
UML, Co
Poseido
ity Editio
L, Comm
n for UM
Poseido
ity Editio
L, Comm
ition Po
idon for
Edition
Commun
n for UM
Poseido
Edition
n Pose
unity Ed
Commun
n for UM
mmunity
Poseido
for UML,
mmunity
Poseido
ity Editio
L, Comm
for UML,
Edition
seidon
UML, Co
n
un
Co
n
UM
Po
ity
L,
itio
for
ido
mm
Po
n
un
n
for
Ed
se
UM
Co
n
itio
ido
mm
Edition
ition Po
idon for
mmunity
Poseido
n Pose
unity Ed
for UML,
UML, Co
mmunity
n Pose
unity Ed
Edition
seidon
UML, Co
L, Comm
idon for
UML, Co
ity Editio
L, Comm
ition Po
idon for
mmunity
Po
n Pose
un
n for UM
for
Ed
se
UM
n
Co
n
itio
ido
mm
Po
ity
L,
itio
for
ido
Ed
se
n
un
UM
L, Co
idon
Pose
n Po
unity Ed
mmunity
ity Editio
L, Comm
idon for
n Pose
n for UM
Edition
L, Comm
UML, Co
n Pose
Commun
n for UM
Poseido
ity Editio
mmunity
n for UM
idon for
Poseido
ity Editio
ition P
for UML,
Edition
Commun
UML, Co
ition*SucceededBy
Poseido
seidon
on Pose
unity Ed
Commun
* ity Ed
mmunity
for UML,
idon for
Edition
ition Po
L, Comm
for UML,
seidon
UML, Co
n Pose
Commun ApplictiveTask
mmunity
unity Ed
seidon
n for UM
ition Po
idon for
ity Editio
ition P
for UML,
UML, Co
L, Comm
ition Po
Data
DataAccess
mmunQoS
Poseido
unity Ed
for
Ed
seidon
on Pose
UM
n
unity Ed
Co
n
mm
Po
ity
L,
itio
for
ido
mm
n
un
Co
n
−Id:int
Ed
Co
L,
ido −Size:int
Pose
1..*
for UM
Editio
−Pipeline:boolean
−RealTime:float
L, Comm −Priority:int
mmunity
n Pose
unity
n for UM
for UML,
Edition
seidon
UM
Co
n
itio
ido
mm
Po
ity
L,
for
ido
Ed
se
*
n
un
Co
n
Edition
se
UM
−AverPower:float
ity
L,
idoTransfer (read / write)
1..*
1..* mm
ion Po
−Period:int
+AccessCost():float
ity Editio
L, Co
ition Po
idon for
mmunity
n Pose
un
Commun
n for UM
Ed
se
UM
Co
−InstantPower:float
L,
itio
ido
mm
Po
ity
L,
for
Ed
se
UM
n
un
−Deadline:int
ity
for
mm
n Po
un+ReadData():void
for UM
seidon
UML, Co
−AppQuality:float
ity Editio
ition
seidon
−ReadyTime:intition Po
seidon
UML, Co
ity Editio
L, Comm +WriteData():void Poseidon for
unity Ed
Commun
tion Po
1..*
ity Ed
ition Po
for UM
idon for
Commun
−Type:int
+ComputeQoS():void
L, Comm
for UML,
Edition
seidon
*
n Pose
unity Ed
Commun
Couche application
for UML,
seidon
n
−Preemption:boolean
n for UM
ition Po
mmunity 1..*
ity Editio
L, Comm
for UML,
seidon
ition Po
Poseido
ity Editio
unity Ed
seidon
UML, Co
Commun
n for UM
dition Po
unity Ed
Edition
Commun
L, Comm
ition Po
idon for
Poseido
for UML,
L, Comm
mmunity
n Pose
unity Ed
n for UM
for UML,
Edition
seidon
UM
Co
n
itio
ido
mm
Po
ity
L,
for
ido
Ed
se
n
un
Co
n
Edition
se
UM
ity
L,
ido
mm
ity Editio
dition Po
ition Po
idon for
mmunity
n Pose
Commun
n for UM
ControleExecutionOf
UML, Co
n Pose
unity Ed
Commun
UML, Co
Poseido
ity Editio
for UML,
idon for
ity Editio
L, Comm
itio
for UML,
idon for
Edition
seidon
n Pose
un
Commun
n
Ed
se
UM
Po
ity
L,
itio
ido
mm
Po
ity
n
un
for
Ed
se
UM
n
un
Po
ity
for
Editio
mm
seidon
UML, Co
*
L, Comm
ity Editio
Edition
seidon
Commun
UML, Co
ition Po
idon for *
n for UM
Commun
ition Po
mmunity
iti
for UML,
idon for
n Pose
unity Ed
Poseido
unity Ed
for UML,
seidon
UML, Co Transport
n Pose
unity Ed
ity Editio
L, Comm
Edition
seidon
VirtualMachine
Couche intergicielle
L, Comm
ition PoSoftwareTask * Execute
idon for
mmun
ity Editio
L, Comm
for UMHardwareTask
Store
ition Po
n Pose
unity Ed
n for UM
seidon
UML, Co −Load:float
Commun
n for UM
−LoadUsage:float
−ResourceUsage:int
unity Ed
Edit
Poseido
ity Editio
L, Comm
ition Po
idon for
Poseido
for UML,
*
L, Comm
Edition
mmunity
n Pose
unity Ed
Commun
n for UM
−Form:float[]
Edition
seidon
UM
Co
L,
itio
ido
mm
Po
ity
L,
for
Ed
se
UM
n
un
Co
n
+AllocLoad():void
UM
Po
ity
itio
for
mm
seido
L, Co
i
for UML,
OS
idon for
Edition
seidon
unity Ed
+ChangeForm():void
Commun
n
+FreeLoad():void itio*n Po
Ed
se
UM
Po
ity
L,
ido
mm
Po
ity
n
un
for
Ed
se
UM
n
un
Co
n
mm
Po
ity
itio
for
ido −AnArchi:Archi
mm
y Editio
for UML,
Edition *
seidon
UML, Co
n Pose
unity Ed
Commun
UML, Co
seidon
*
ition Po
idon for
mmunity
ity Editio
−TheTasks:ApplictiveTask
L, Comm
for UML,
idon for
ition Po
ity Ed
n Pose
unity Ed
seidon
UML, Co
n Pose
Commun
n for UM
unity Ed
y Editio
Commun
L, Comm
ition Po
idon for
Poseido +Schedule():void mmunity Editio
for UML,
L, Comm
n Pose
unity Ed Execute
n for UM
for UML,
Edition
seidon
UM
Co
n
itio
ido
mm
Po
ity
+CompactFormServices():void
L,
for
ido
Ed
se
Task
n
un
Co
n
E
se
L,
ido
mm
n Po
for UM
n Po
Protocol
mmunity
ity Editio
mmunity
n PoseConfigurationContext Commun
n for UM
seidon +MemoryServices():void
UML, Co
ity Editio
ity Editio
−State:int
UML, Co
UML, Co
Poseido
ity Editio
ition Po
idon for
+InterconnectServices():void
UML,
Commun
idon for
−Priority:int
idon for
Edition
n Pose
unity Ed
Commun
E
−CfgTime:float
idon for
n Pose
for UML,
n Pose
n+PowerEstimationServices():void
mmunity
ity Editio
L, Comm OSTask
for UML, +Send():void Edition Pose−CfgSize:int
−InterMigration:boolean
mmunity
*
1..*
nity Editio
Poseido +PerfEstimationServices():void
ity Editio
seidon
UML, Co
Commun
n for UM
UML, Co
−IntraMigration:boolean
Edition ComposedOf +QoSServices():void
+Receive():void
Commun
−Localisation:void
ition Po
idon for
mmunity
Poseido
for UML,
idon for
E
1..*
mmunity
−NbCycles:int
n Pose
unity Ed
for UML,
Edition
seidon
UML, Co
n Pose
Co
n
itio
mm
Po
ity
L,
itio
for
ido
Ed
+DVSServices():void
mmunity
n
un
Co
n
y
Ed
se
+xxxServices():void
UM
+SaveContext():void
Co
L,
itio
nit
ido
Po
1..* Ed
L, Comm−BreakPoints:int[]
idon for
mmunity
+StartTaskService():void
n Pose
unity
n for UM
for UML,
Edition
seExecute
UM
Co
n
+RestoreContext():void
itio
ido
mm
Po
ity
L,
for
ido
−
attribute_4:int
Ed
se
n
un
Co
n
se
UM
Execute
L,
itio
ido
mm *
unity
+StopTaskService():void
n for
Support
ition Po
ition Po
mmunity
n Pose
unity Ed
n for UM
seido+ContinueTaskService():void
UML, Co
L, Comm
unity Ed
unity Ed
UML, Co
Poseido
ity Editio
L, Comm
ition Po
idon for
n for UM
L, Comm
idon for
Edition
+OtherServices():void
n Pose
unity Ed
Commun
n for UM
se
UM
Poseido
ity
L,
itio
ido
mm
Po
ity
n
un
for
Ed
se
UM
n
un
Co
n
itio
Po
ity
Execute
L,
for
ido
mm
L, Comm
ity Editio
unity Ed
Edition
seidon
n Pose
Commun
n for UM
UML, Co
n for UM
Commun
ition Po
mmunity
Poseido
ity Editio
for UML,
idon for
Poseido
unity Ed
for UML,
Edition
seidon
UML, Co
n Pose
unit
Commun
Edition
seidon
L, Comm
ition Po
idon for
mmunity
ity Editio
L, Comm
for UML,
munity
ition Po
n Pose
unity Ed
n for UM
seidon
UML, Co
Commun
n for UM
unity Ed
*
Poseido
ity Editio
L, Comm
ition Po
idon for
Poseido
for UML,
L, Comm
Edition
mmuni
n Pose
unity Ed
Commun
n for UM
seidonCouche architecture unity Edition
UM
Co
L,
itio
ido
mm
Po
L,
for
Ed
se
UM
munity
n
Co
n
UM
Po
ity SoftwareTarget
L,
itio
ido
n for
ProcessingTarget
HardwareTarget
L, Comm
idon for
Edition
n Pose
unity Ed
Commun
n for UM
se
UM
Poseido
ity
L,
itio
ido
mm
Po
n
un
for
Ed
se
1..*
UM
n
un
Co
n
itio
itio
ido
Ed
−Load:float
−Vdd:float[]
−GlobalForm:float[]
n Po
n for
UML,
L, Comm
mmunity
L, Comm
n Pose
unity Ed
Co
mmunity
Poseido
ity* Editio
idon for
n for UM
n for UM
ity Editio
L, Comm
for UML, −−Frequency:float[]
Edition
n Pose+AllocForm():void
+AllocLoad():void
Commun
Poseido
Poseido
Power:float[] ity Editio
seidon
Commun
n for UM
mmunity
for UML,
Edition
+FreeLoad():void
+FreeForm():voidUML,
Edition
Commu
ition Po
mmun
Poseido
Ed
−Preemption:boolean
seidon
UML, Co
mmunity
idon for
mmunity
unity
for UML,
Edition
se+CanExecute(task:HardwareTask):boolean
UML, Co
Co
n
ition Po
idon for
mm
Po
ity
L,
for
Connect
ido
Ed
se
n
un
Co
n
se
UM
Po
ity
L,
for
Editio
Comm
mmun
Poseido Include
ition Po
Edition
n for UM
seidon
Commu
mmunity
for UML,
Edition
UML, Co
unity Ed
n1..*
*
mmunity
Poseido
ition Po
for UML,
UML, Co
idon for
mmunity
Poseido
L, Comm
Edition
unity Ed
seidon
idon for
n Pose
Edition
UML, Co
n for UM
mmunity
L, Comm
ition Po
mm
n Pose
y Editio
idon for
mmunity
Poseido
seMemoryTarget
UML, Co
unity Ed
CoTarget
n for UM
UML, Co
ity Editio
ommunit
Edition
ition Po
idon for
Poseido
ity ExecuteTasksOn
L, Comm
for UML,
idon for
Commun
n Pose
unity Ed
−Hierarchy:int
Edition
seidon
UM
n Pose
* L,
Commun
n for UM
itio
mm
Po
ity
L,
itio
for
ido
Ed
InterconnectTarget
n
un
Co
n
y
Ed
se
UM
L,
itio
Po
ity
L, Comm
Ed
seido
UM
Comm
n for
ommunit
n Po−Size:int
Edition
seidoInclude
UML,+Alloc():void
Commun
n for UM
idon for
mmunity
−Size:int
Connect Co
ity Editio
ition Po
idon for
mmunity
Poseido
n Pose
for UML,
+AllocMemory():void UML,
+Free():void
mm
n Pose
unity Ed
Commun
n for
Edition
seidon
UML, Co
ity Editio
Co
L,
itio
ido
mm
Po
ity
un
L,
for
+AllocBandwidth():void
Ed
+FreeMemory():void
se
UM
n
un
Co
n
UM
mm
Po
ity
itio
ido
mm
n
Co
for
Connect
idon for
mmun
for UML,
+FreeBandwidth():void
n Pose
unity Ed
Co
seidon
UML, Co
ity Editio
n Pose
seidon
ity Editio
L, Comm
ition Po
for UML,
idon for
m
Commun
n 1..*
ity Editio
ition Po
n Pose
unity Ed
Commun
n for UM
UML, Co
Poseido
for UML,
unity Ed
Commun
mm1..*
Poseido
ity Editio
L, Comm
for UML,
idon for
Edition
seidon
Edition
seidon
UML, Co
n Pose
Commun
n for UM
ition Po
mmunity
Po
ity
L,
itio
for
ido
Ed
m
n
un
Co
n
Ed
se
UM
ity
Co
L,
itio
ido
mm
Po
ity
L,
UM
n for
n Pose
unity Ed
Commun
Edition
UML, Co
Commun
n for UM
idon for
Poseido
ity Editio
L, Comm Include
itionArchi
idon for
mmunity
Poseido
n Pose
for UML,
n Pose
unity Ed
Commun
n for UM
Edition
seidon
UML, Co
ity Editio
Co
L,
itio
ido
mm
Po
ity
un
L,
for
Ed
se
UM
n
un
Co
n
UM
mm
Po
ity
L,
itio
ido
mm
n
n for
for
, Co
n Pose
unity Ed
Commun
n for UM
seidon
UML, Co
Poseido
ity Editio
L,
itio
Include
ido
mm
Po
n
un
for
Ed
se
UM
n
Co
n
itio
mm
Po
ity
L,
itio
for
ido
L, Co
unity Ed
Edition
seidon
n Pose
unity Ed
Commun
n for UM
UML, Co
n for UM
L, Comm
ition Po
mmunity
Poseido
ity Editio
L, Comm
for UML,
idon for
Poseido
unity Ed
Edition
seidon
UML, Co
n Pose
Commun
n for UM
Edition
L, Comm
ition Po
idon for
mmunity
Poseido
ity Editio
L, C
for UML,
mmunity
n Pose
unity Ed
n for UM
Edition
seidon
UML, Co
Commun
n for UM
ML, Co
Poseido
L, Comm
ition Po
r UML,
nity Editio
idon for
mmunity
Poseido
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Modèle UML général d’un RSoC
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Couche «Application»
Découpage de l’application en tâches préétabli
Spécification de la qualité de service globale et/ou
par tâches
Abstraction
du (des) support(s) d’exécution
des communications (Supports, Protocoles)
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Couche «Architecture»
Hiérarchie mémoire complexe et évolutive
Ressources d’interconnexions
Cibles d’exécution hétérogènes
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Couche «Intergiciel»
Services d’abstraction des communications
Gestion des ressources et allocation dynamique sur
les cibles matérielles
Placement / routage
compactage, ramasse-miettes
Gestion de la migration soft-hard et hard-soft . . .
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Spécificités d’un OS pour RSoC
Services des tâches
Ordonnancement
Sélection / Placement / Configuration
Migration (HW/SW, SW/HW)
Services des communications
Un modèle unifié quelque soient les acteurs des
communications
Prise en charge du routage des «messages»
Capacité à réserver (allouer) de la bande passante
Gestion dynamique du support physique
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Spécificités d’un OS pour RSoC
Sous contraintes «dynamiques»
De QoS
De disponibilité des ressources
reconfigurables
mémoires
communications
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Plan de l’exposé
1
2
3
4
5
Contexte
Contexte applicatif
Contexte architectural
SoC reconfigurable
Architecture matérielle
Architecture logicielle
Modèle général d’un RSoC
Modèle d’exécution
Modèle complet
Hiérarchie du modèle
Vers un OS pour RSoC
Bilan / Perspectives
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Modélisation complète d’une plate-forme
RSoC
Les premiers travaux ont permis d’élaborer un modèle
objet de l’ensemble des éléments logiciels et matériels
d’une plate-forme RSoC :
Définition des couches d’abstraction (appli,
middleware, hardware),
Identification des “classes” d’objets
matériels/logiciels,
Formalisation des interactions entre les éléments du
modèle,
Identification des services d’un RTOS dédié.
ETIS, R2D2
Modèle de RSoC
Contexte
RSoC
Modèle RSoC
OS pour RSoC
Conclusion
Perspectives
Plate-forme
Prototype expérimental à reconfiguration partielle et
dynamique
Modèle de haut niveau pour la simulation
Portages d’OS (µC-OS II, RTEMS, . . . )
Les points durs
L’aspect multiprocesseurs hétérogènes
Les communications flexibles
Interactions NoC vs. bus logiciel (e-CORBA ?)
Les stratégies d’ordonnancement en ligne
La gestion du QoS
ETIS, R2D2
Modèle de RSoC

Documents pareils

Une méthodologie de test pour la validation des services Web

Une méthodologie de test pour la validation des services Web Très peu de travaux sont proposés pour la génération automatique de cas de test à partir de l’analyse des modèles UML [2], [3]. L’une des raisons est que les modèles UML varient de manière signific...

Plus en détail