contribution au domaine de la conception des systèmes embarqués reconfigurables guy gogniat...
TRANSCRIPT
Contribution au domaine de la conception des Systèmes Embarqués Reconfigurables
Guy GOGNIAT
Université de Bretagne SudLaboratoire LESTERCNRS FRE 2734
Habilitation à Diriger des Recherches
Lorient, Vendredi 26 octobre 2007
Source: Xcell Journal Issue 58
2
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
3
Quelques faits marquants…
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
IP Based design
NoCMPSoCRTOS
CryptoprocesseurMPSoC Adaptatif
Architecture
Profil MARTESystemC UML TLMLangage
Cœur de processeurBlocs DSPMémoire
Architectures reconfigurables
Gros grain
Reconfiguration dynamique
Saut en complexité des
FPGAReconfigurable
Radio Logicielle
AES ECC
2,5G (100kbit/s) 3G (2Mbit/s) 4G (1Gbit/s)
MPEG2 MPEG4 H264Application
EASI Tools Suite(Beach Solutions)
PICO Express (Synfora)
Platform Architect(CoWare)
Catapult C(Mentor Graphics)
Outils industriels
4
Quelques faits marquants…
Circuit MP211 pour les applications téléphone cellulaire/NEC
20051998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
Architectures reconfigurables
Gros grain
Saut en complexité des
FPGA
MPSoC
Cryptoprocesseur
Circuit multistandard WLAN (802.11a et MCCDMA)/ST
Microelectronics2003
Intégration grain fin/gros grainHiérarchie de busConception à base d’IP
Intégration grain fin/gros grainHiérarchie de busConception à base d’IP
MultiprocesseurProcesseurs dédiées Cryptographie 2D/3D Traitement image/signal
MultiprocesseurProcesseurs dédiées Cryptographie 2D/3D Traitement image/signal
5
Quelques faits marquants…
Circuit Tera-scale/Intel2007
SoC pour la HDTVLaurent Ducousso/STMicroelectronics Colloque national 2007/GDR SoC-SiP
60-62 millions de lignes de code embarqué 4-5 millions de lignes de code RTL (700 bibliothèques RTL) 16 processeurs embarqués 115 domaines d’horloge Chiffrement de toutes les communications avec les mémoires externes Architecture de communication-5Goctet/s
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
MPSoC Adaptatif
Saut majeur en complexitéLimite des solutions à base de bus
Saut majeur en complexitéLimite des solutions à base de bus
Intégration massiveMigration vers le tout processeurProcesseurs dédiésRéseau de communication
Intégration massiveMigration vers le tout processeurProcesseurs dédiésRéseau de communication
6
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
Axes de recherche…
Cœur de processeurBlocs DSPMémoire
Architectures reconfigurables
Gros grain
Reconfiguration dynamique
Saut en complexité des
FPGA
IP Based design
ESL design
Profil MARTEMPSoC RTOS
MDAMPSoC
Adaptatif
3DES
AES
ECC
3G UMTS (2Mbit/s)
Cryptoprocesseur
Exploration et estimation de performance (FPGA)Impact consommationExploration multigrainAuto reconfiguration partielle
Exploration et estimation de performance (FPGA)Impact consommationExploration multigrainAuto reconfiguration partielle
Architectures reconfigurables
Élévation du niveau d’abstractionArchitecture PACM/multiPACMPré-partitionnementConception MDA/UML
Élévation du niveau d’abstractionArchitecture PACM/multiPACMPré-partitionnementConception MDA/UML
Systèmes embarqués (HW/SW codesign)
Protection FPGA (bitstream)Protection des donnéesMonitoring pour la sécuritéSystème sécurisé
Protection FPGA (bitstream)Protection des donnéesMonitoring pour la sécuritéSystème sécurisé
Sécurité des systèmes embarqués
Maître de conférences à l’Université de Bretagne Sud
Séjour USA
7
Axes de recherche…
• Dénominateur commun Système sur silicium (SoC)
• Interaction entre les axes de recherche Outils de conception Architecture des systèmes
Axe 3Sécurité des
systèmes embarqués
Axe 1Systèmes embarqués
HW/SW codesign
Axe 2Architectures
reconfigurables
Outils
Architectures
SoC4 Doctorants[Rouxel 2006/T], [Maalej 2007/T], [Aoudni 200X/T], [Vidal 20XX/T]
4 DEA/Master[Chaboun 1999/D], [Maalej 2002/D], [Naoufel 2002/D], [Loukil 2005/D]
4 Projets de recherche (France, Tunisie)[MACGTT 2002], [A3S 2005], [PROSYR 2006], [MOPCOM 2009]
4 Doctorants[Rouxel 2006/T], [Maalej 2007/T], [Aoudni 200X/T], [Vidal 20XX/T]
4 DEA/Master[Chaboun 1999/D], [Maalej 2002/D], [Naoufel 2002/D], [Loukil 2005/D]
4 Projets de recherche (France, Tunisie)[MACGTT 2002], [A3S 2005], [PROSYR 2006], [MOPCOM 2009]
2 Doctorants[Bilavarn 2002/T], [Bossuet 2004/T]
4 DEA/Masters[Bossuet 2001/D], [Rouxel 2002/D], [Piriou 2003/D], [Delahaye 2003/D]
4 projets de recherche (France, USA, Europe)[DARSoC 2003], [EPICURE 2003], [POMARD 2004], [AETHER 2008]
2 Doctorants[Bilavarn 2002/T], [Bossuet 2004/T]
4 DEA/Masters[Bossuet 2001/D], [Rouxel 2002/D], [Piriou 2003/D], [Delahaye 2003/D]
4 projets de recherche (France, USA, Europe)[DARSoC 2003], [EPICURE 2003], [POMARD 2004], [AETHER 2008]
1 Doctorant[Vaslin 200X/T]
1 Post-doc [Wanderley 2007/P]
4 DEA/Masters[Guillot 2004/D], [Dumérat 2005/D], [Zui 2007/D], [Ducloyer 2007/D]
4 projets de recherche (France, USA)[SecureFPGA 2004], [SANES 2005], [SecureNIOS 2007], [ICTeR 2008]
1 Doctorant[Vaslin 200X/T]
1 Post-doc [Wanderley 2007/P]
4 DEA/Masters[Guillot 2004/D], [Dumérat 2005/D], [Zui 2007/D], [Ducloyer 2007/D]
4 projets de recherche (France, USA)[SecureFPGA 2004], [SANES 2005], [SecureNIOS 2007], [ICTeR 2008]
8
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
9
Systèmes embarqués (HW/SW codesign)
• Besoin d’abstraction Complexité des applications/plateformes d’exécution Haut niveau d’efficacité temporelle/énergétique Réduction du cycle de vie/coût de conception Conception multidisciplinaire
Plate-forme Application
Battery
Processor Memory
FPGA I/O
Power monitor
Bus monitor
Primitive monitor
Channel monitor
Secure Embedded System
Sec
uri
typ
rim
itiv
e
SecurityExecutiveProcessor Clock
Clock monitor
Thermal monitor
for (j = 0; j < K; j++) { aiB[j] = (A[i] * B[j] + c1) % Beta; c1 = (A[i] * B[j] + c1) / Beta;qM[j] = ((q * M[j] + c2)) % Beta;c2 = ((q * M[j] + c2) / Beta);}
+
C
A B
Besoin d’abstraction
Logique
Transfertde registres
Opération
Algorithme
Système Application
10
Positionnement des travaux
• Collaborations scientifiques associées
PROSYR CMCU • 2003 – 2006
A3S RNRT• 2003 – 2005
MOPCOM ANR/RNTL – Pôle de compétitivité Images et Réseaux
• 2007 – 2009
Mem
Proc IP
Bridge
Mem
Proc IP IP IP
Proc Mem
Bridge
cop
cop
Partitionnement logiciel/matériel
Synthèse des communications
Compilation dulogiciel
Synthèse dumatériel
Intégrationsystème
VHDL C
Spécification Fonctionnelle+ contraintes
Accélérateurcoprocesseur
RTOS
SystemC
UML
Mem
Proc IP
Bridge
Mem
Proc IP IP IP
Proc Mem
Bridge
cop
cop
Partitionnement logiciel/matériel
Synthèse des communications
Compilation dulogiciel
Synthèse dumatériel
Intégrationsystème
VHDL C
Spécification Fonctionnelle+ contraintes
Accélérateurcoprocesseur
RTOS
SystemC
UML
Approche de conception MDA/UMLSamuel Rouxel [2006]
Partitionnement fonctionnelIssam Maalej [2007]
MDA/UML/SystemC pour systèmes reconfigurables
Jorgiano Vidal [2010]
Prototypage rapideYassine Aoudni [2007]
Performance RTOSSamuel Rouxel [2006]
11
Partitionnement fonctionnel
• Pré-partitionnement de l’application sur une architecture multiprocesseur [Maalej 2007] Permet d’appréhender la
complexité des futures architectures composées de centaines de processeurs
Étape d’exploration qui permet de réduire l’espace des solutions
• Basé sur une architecture générique multi-PACM Processeur, accélérateur,
coprocesseur, mémoire
• Six métriques guident l’exploration Analyse d’identité (IA) Distribution mémoire (MEM) Distribution des
communications (EDE, DEIC, CIC)
Contraintes de débit (Tc)
ApplicationAnalyse des
tâchesAnalyse des
tâches
Analyse de l’application par
le concepteur
Analyse de l’application par
le concepteur
t1
t2
t3
t4
t5
Architecture
PACM1 PACM2
Proc Mem
Bridge
Mem
Proc IPt5t3t4
t1
t2
Etape d’exploration(e.g. codesign)
Etape d’exploration(e.g. codesign)
Etape de Pré-exploration
Optimisation multiobjectif
Etape de Pré-exploration
Optimisation multiobjectif
Partitions
Modèle d’architecture PACM multiprocesseur
t1
t2
t3
t4
t5
PACM1 PACM2
[Maalej 2007] I. Maalej, « Exploration haut niveau des architectures multiprocesseurs : analyse et métriques », Thèse de doctorat, Université de Bretagne Sud, 16 octobre 2007
12
Exploration de l’application UMTS
SRC1
CRC2
SEG3
COD4
EQU5
INT16
INT27
SPR/data9
SUM12
SCR13
PSH14
DPCCH10
SPR/ctrl11
292
1200
300
1200 1200 1200 1200 1200
802560256025602560
256010
CT/SCR8
2560
transport block frame/frame
slot/slotx 15x 15
x 1x 1
x 1x 1
x 4x 4
EDE
DEIC
CIC
MEM
IA
Tc
Espace des métriques pour la solution 1
EDE
DEIC
CIC
MEM
IA
Tc
Espace des métriques pour la solution 2
SRC1
CRC2
SEG3
COD4
EQU5
INT16
INT27
SPR/data9
SUM12
SCR13
PSH14
DPCCH10
SPR/ctrl11
292
1200
300
1200 1200 1200 1200 1200
802560256025602560
256010
CT/SCR8
2560
transport block frame/frame
slot/slotx 15x 15
x 1x 1
x 1x 1
x 4x 4
Données échangées dans le
cluster1Données
échangées dans le cluster2
Données échangées entre
les clusters
Distribution des échanges de données pour a solution 1
Distribution des échanges de données pour a solution 2
Données échangées dans le
cluster2
Données échangées dans le
cluster1
Données échangées entre
les clusters
• Analyse de l’espace des métriques
13
• Combinaison pré-exploration et exploration
Exploration de l’application AC3
• Exploration par CODEF [Auguin 2001] Espace d’exploration composé de 37
solutions
• Exploration par GAMA2 et CODEF Espace d’exploration réduit à 21
solutions
C01
C15
C29
2565 bits
2567 bits
2564 bits
L02
L16
L210
2565 bits
2567 bits
2564 bits
R03
R17
R211
2565 bits
2567 bits
2564 bits
CC04
CC18
CC212
2565 bits
2567 bits
2564 bits
Center
Left
Right
Couplingchannel
DC13
25618 bits
25618 bits
25618 bits
25618 bits
RX14
L216
C215
R217
25618 bits
25618 bits
25618 bits
51218 bits
2564 bits
2564 bits
2564 bits
2564 bits
Mantissa (16 bits)
[Auguin 2001] M. Auguin, L. Capella, F. Cuesta, et E. Gresset. ”CODEF: a System Level Design Space Exploration Tool” ICASSP, pages 1031-1034, Salt Lake City, USA, Mai 2001
15 20 25 30 35 40 45800
900
1000
1100
1200
1300
1400
1500
Surface (mm2)
Temps (s)
• Pareto 1 architecture CODEF 3 architectures GAMA² et CODEF
• Exploration guidée de l’espace de conception
14
Model Driven Architecture pour la radio logicielle
• Approche de conception dirigée par les modèles [Rouxel 2006]
• Définition d’un flot de conception unifié autour du langage UML Conception au niveau système Basé sur une approche MDA
• Définition du profil A3S
Vérification non fonctionnelle afin de garantir
• La définition correcte du système• L’ordonnançabilité de la solution
• Lien entre le modeleur UML (Objecteering) et l’outil XAPAT
• Modélisation et Caractérisation d’une Plateforme SoC Hétérogène Application à la Radio Logicielle
Projet A3S
Outil UML Objecteering
ConcepteurComposants HW/ SW
Bibliothèque de Composants UML
ConcepteurRadio Logicielle
restreinte
ProfilA3S
(UML métamodèle)
SpécificationApplication
(PIM)
SpécificationPlate-formeembarquée
Vérification Serveur Web XAPATool
Vérifications non fonctionnelles(ordonnancement,
Charge des ressources)
SWLib.
HWLib.
XML
Résultatsd’ordonnancement
XMI
Définition architecture
OS ServLib.
OSLib.
DéploiementHW / SW
(PSM)
[Rouxel 2006] S. Rouxel, «Modélisation et Caractérisation d’une Plate-Forme SoC Hétérogène : Application à la Radio Logicielle », Thèse de doctorat, Université de Bretagne Sud, 5 décembre 2006
15
Modélisations, Vérifications et Analyses
.arch.gtg .arch.gtg.res
XMI file
XML files
XAPAToolXAPATool
RTDTRTDT
Visualisation des résultats
ObjecteeringObjecteering
Modélisation(PIM/PDM/PSM)Vérification
Analyse
• Spécification et analyse Modélisation de l’application
(diagramme d’activité) Modélisation de la plateforme
d’exécution (diagramme de déploiement)
Vérification de la conception
• Partitionnement logiciel – matériel Vérification du déploiement
• Analyse de l’ordonnançabilité du système et des taux d’utilisation des ressources Passerelle entre les outils
Objecteering et RTDT via XAPAT • Génération du graphe de tâches de
l’application• Prise en compte du partitionnement
16
Système Radio Logiciel UMTS
Débit (117 kbits/s)Temps
d’exécutionDSP1 DSP2 FPGA
Plateforme DSP
Émetteur 96,6% 2,4% - 10 ms
Récepteur 185,5% 4,6% - 19,27 ms
Plateforme DSP et FPGA
Émetteur 11,4% 3,4% 66% 7,96 ms
Récepteur 17,1% 4,6% 71,2% 9,44 ms
• Exploration de différents scénarios d’exécution
• Évaluation de plusieurs partitionnements Uniquement à base de DSP Combinaison DSP et FPGA
• Reconfiguration du système pour plusieurs débits Configuration 1 : 117 kbits/s Configuration 2 : 950 kbits/s
Exploration des solutions pour la configuration 1
Débit (950 kbits/s)Temps
d’exécutionDSP1 DSP2 FPGA
Plateforme DSP
Émetteur 96,6% 5,1% - 10,33 ms
Récepteur 185,5% 5% - 19,33 ms
Plateforme DSP et FPGA
Émetteur 11,4% 5,1% 66% 8,29 ms
Récepteur 17,2% 5% 71,2% 9,49 ms
Exploration des solutions pour la configuration 2
• Plateforme DSP et FPGA permet de respecter les contraintes
17
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
18
Architectures reconfigurables
• Intégration croissante des composants reconfigurables dans les systèmes embarqués Besoin d’évaluation de l’apport de ces solutions dès les
premières étapes de conception Exploration de l’espace de conception et estimation de
performance
• Caractère dynamique des applications plus fortement marqué Besoin de reconfiguration dynamique au niveau applicatif mais
également au niveau architectural Les architectures reconfigurables correspondent à une cible
privilégiée Comment et quand reconfigurer un système devient un enjeu
majeur
19
• Collaborations scientifiques associées
MACGTT CNRS• 2000 – 2002
EPICURE RNTL • 2001 – 2003
POMARD CNRS • 2003 – 2004
AETHER IST-FET• 2006 – 2008
Positionnement des travaux
Synthèse logique
Mapping technologique
Compilation dulogiciel
Compilation reconfigurable
gros grain
Place&Routage
Spécification RTL (VHDL)
Configuration(FPGA)
Synthèsecomportementale
Spécificationfonctionnelle
(C pour le matériel)
ProcesseurAccélérateurcoprocesseur
Spécification fonctionnelle « système »
Partitionnement
Synthèse logique
Mapping technologique
Compilation dulogiciel
Compilation reconfigurable
gros grain
Place&Routage
Spécification RTL (VHDL)
Configuration(FPGA)
Synthèsecomportementale
Spécificationfonctionnelle
(C pour le matériel)
ProcesseurAccélérateurcoprocesseur
Spécification fonctionnelle « système »
Partitionnement
Exploration espacede conception/FPGASébastien Bilavarn [2002]
Exploration architecturesreconfigurables hétérogènes
Lilian Bossuet [2004]
Reconfiguration dynamiqueJean Philippe Delahaye [2003]
Auto reconfiguration dynamiquePierre Bomel [2007]
Systèmes adaptatifsMilad El Khodary [2009]
20
Exploration des architectures reconfigurables
• Définition d’une architecture multi grain pour un ensemble d’applications [Bossuet 2004] Spécification de l’application/de l’architecture Exploration de l’espace de conception Évaluation des performances
Clu
ster
A.1
Clu
ster
A.2
Clu
ster
A.1
Clu
ster
A.1
Cluster ACluster A
Cluster ACluster A
Cluster ACluster A
Cluster ACluster A
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUT
LUTCluster A.2
Mem
ory
Mem
ory
+/-+/-
+/-+/-
XXXX
Cluster A.1Cluster A
Architecturereconfigurable
Application
Fonction 1
Ensemble de fonctions
C
Méthodologie et outil pour définir et optimiser une
architecture reconfigurable pour une application donnée
Définition del’architectureEvaluation desperformances
Concepteur de l’architecture
Outil DT
[Bossuet 2004] L. Bossuet, «Exploration de l’espace de conception des architectures reconfigurables», Thèse de doctorat, Université de Bretagne Sud, 10 septembre 2004
21
Estimation des performances
Elémenthiérarchiquede niveau 2
Elémenthiérarchiquede niveau 2
Elémenthiérarchiquede niveau 2
Elémenthiérarchiquede niveau 2
Cluster 3 Cluster 3
Cluster 3 Cluster 3
LUT
COMP
ALU
RAM
MULT
Elément hiérarchique de niveau 3 Elément hiérarchique de niveau 2 Cluster 3
Spécification de l’architecture
Estimation dutaux d’utilisation des
ressources
Estimations de la distribution hiérarchique des communications
niveau 169%
niveau 210%
niveau 321%
niveau 1
58%
niveau 3
25%
niveau 2
17%niveau 2
41%
niveau 3
35%
niveau 1
24%
Minimum Intermédiaire Maximum
68.8%
100% 100%93.8%
AddSub
MulDiv
Comp Logic
-
+×
20
14
8
(4)
(4) (3)
c[0 •• 7] y[0 •• 7]53 3
8 8
x[0 •• 7]
-
+×
20
14
8
(4)
(4) (3)
c[0 •• 7] y[0 •• 7]53 3
8 8
x[0 •• 7]
Spécification de l’application(graphe ACG)
Outil de projection architecturale
• L’application est caractérisée sous l’angle des communications Paramètre impactant très fortement la consommation de l’architecture
• Projection de l’application sur l’architecture 3 stratégies utilisées afin d’anticiper l’impact des outils de synthèse
• Estimation du taux d’utilisation des ressources• Estimation de la hiérarchie des communications
• Guide le processus d’exploration par raffinements successifs
22
De la projection à l’exploration architecturale
Pour les fonctions critiques de l’application
Pour toutes les fonctions de l’application
Définition des éléments fonctionnels
• Granularité (fine, épaisse)• Type (opérateur, mémoire)
Caractéristiques des éléments hiérarchiques de bas niveau
• Opérateurs (nombre d’opérateurs, mémoires)• Clusters H2 (nombre de clusters)
Exp
lora
tion
des c
luste
rs
de b
as n
iveau
Outil de projection architecturale
• Taux d’utilisation• Distribution des communications
Concepteur deL’architecture
Analyse ACG
• Fonctions critiques• Caractérisation des communications
Exploration des niveaux supérieurs de la hiérarchie• Middle level H1 (nombre de clusters)• High level H0 (nombre de clusters)
Outil de projection architecturale
• Taux d’utilisation finaux• Distribution des communications finale
Processus itératif basé
sur les résultats
d’estimation
Processus itératif basé
sur les résultats
d’estimation
Définition de l’architecture
ApplicationNombre d’éléments
fonctionnels
Taille des clusters
Taille des mémoires
Point de départ
Point d’arrivée
• Exploration des paramètres de l’architecture Caractéristiques des niveaux
hiérarchiques Évaluation des performances
• Approche interactive Concepteur/outil de projection
23
Exploration pour MPEG2 et AES• Architecture obtenue suite au
processus d’exploration pour MPEG2Élément hiérarchique de niveau 3
Élément hiérarchique de niveau 2
Cluster 1Cluster 1
Cluster 2Cluster 2
Élément hiérarchique de niveau 2
COMPCOMP
LUTLUT LUTLUT
RAMRAM
Cluster 2
MULTMULT MULTMULT MULTMULT MULTMULT
ALUALU ALUALU ALUALU ALUALU
RAMRAM
Cluster 1
Exploration de l’architecture pour l’application MPEG2
Application Taux d’utilisation Distribution des communications
ADD/SUB MUL COMP LUT Niveau 3 Niveau 2 Niveau 1
MPEG2 67,0% 70,0% 13,0% 2,0% 29% 8% 63%
Élément hiérarchique de niveau 3
Élément hiérarchique de niveau 2
Cluster 3Cluster 3
Élément hiérarchique de niveau 2
COMPCOMP
LUTLUT
RAMRAM
Cluster 3
MULTMULT
ALUALU
• Architecture obtenue suite au processus d’exploration pour AES
Exploration de l’architecture pour l’application AES
Application Taux d’utilisation Distribution des communications
ADD/SUB MUL COMP LUT Niveau 3 Niveau 2 Niveau 1
AES 63,8% 100% 100% 93,8% 21% 10% 69%
Adéquation de l’architecture « MPEG2 » pour l’application AES
Application Taux d’utilisation Distribution des communications
ADD/SUB MUL COMP LUT Niveau 3 Niveau 2 Niveau 1
AES* - - - - 36% 14% 50%
Exploration de l’architecture pour l’application AES
Application Taux d’utilisation Distribution des communications
ADD/SUB MUL COMP LUT Niveau 3 Niveau 2 Niveau 1
AES 63,8% 100% 100% 93,8% 21% 10% 69%
24
Reconfiguration dynamique
• Adaptation dynamique des systèmes • La reconfiguration dynamique ouvre de nouvelles
perspectives Accélérer l'exécution de primitives de calculs comparé à une
exécution logicielle Favoriser la flexibilité dynamique comparé à une solution dédiée Autoriser différents compromis dynamiquement en termes de
débit, surface, latence, fiabilité, consommation afin de respecter les contraintes dynamiques d'un système
• Ce paradigme d’exécution s’installe progressivement mais durablement dans les systèmes embarqués Maturité encore insuffisante notamment de part des
méthodologies de conception et des outils associés
25
Control Data
50 MHz
SDRAM
Full Bitstream
Partial Bitstream
Partial Bitstream
Data transfer
Configuration transfer
(bitstream)
CP3
FPGA Virtex 1000 E
CPLD
CP4
CP2
CP0
DSPC62
Partial Module
Fixed Module
Bus Macro
DSP Code
8PSK/QPSK modulation chainOversampling Filtering IF Transposition
8PSK mapping
QPSK mapping
1.08 MHz 1.08 MHz270 KHz
810 KHz
540 KHz
Bits to symbol coding
Reconfiguration
Bits to symbol coding
Source coding
simulation
Légende :
Reconfigurable part
Fixed part
Système Radio Dynamiquement Reconfigurable
[Delahaye 2003] J-P. Delahaye, «Systèmes Radio Dynamiquement Reconfigurables sur Architecture Hétérogène», Mémoire de DEA, Université de Paris Sud Orsay, 10 septembre 2003
• Changement dynamique d’une chaîne de modulation [Delahaye 2003] Modules fixes (changement de
fréquence – sélection de PLL ) Module dynamique (changement
de mapping – 8PSK/QPSK)
26
Vers l’endo reconfiguration…
• Auto-reconfiguration partielle du système [Le Cunff 2006] Le PowerPC reconfigure la matrice
via le module IP_ICAP Stockage des bitstreams en
mémoire externe
• Reconfiguration 2D Modular + Difference Based
Design
Système reconfigurable
FPGA
PLBto
OPBbridge
BRAMController
OPB
PLBPowerPC
BUS
MACRO
ReconfigurableArea
On-boardmemory
Controller :OPB_SysAce
On-Board MEMORY
OPB_GPIO (I, II, III)
IP_ICAP
[Le Cunff 2006] B. Le Cunff, «Reconfiguration dynamique et auto-reconfiguration Xilinx Virtex II Pro», Mémoire de projet MASTER, Université de Bretagne Sud, Mars 2006
27
Vers l’auto adaptation…
• Connexion systématique des systèmes au réseau
• Déporter le stockage des bitstreams vers un serveur externe [Bomel 2007] Évolution dynamique des systèmes Réduction significative du problème
de stockage
• Définition d’une couche d’abstraction « ultra légère »
[Bomel 2007] P. Bomel, «A Networked, Lightweight and Partially Reconfigurable Platform», Rapport interne LESTER, Université de Bretagne Sud, septembre 2007
DPR
[Bomel 2007]
Xilinx
[2006]
Lagger
[2006]
Williams
[2004]
Vitesse
bits/s@MHz375 – 400 K 40 K 17 K 32 K
Mémoire
(octets) 100K 1M 1M 1M
28
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
29
Sécurité des systèmes embarqués
Courtesy Lilian Bossuet
30
Attaques d’un système embarqué communicantAttaque logicielle à distance
Vers, virus, cheval de Troie Attaques matériellespassives
Analyses des canaux cachés
AES
RAM
RAMKEY
RSA
µP
turbo code
Attaques matériellesactives réversibles
Injection de fautes
Attaques matériellesActives irréversible Découpage du circuit
31
• Le système est sécurisé Protection des Entrées/Sorties, de la
configuration• La matrice reconfigurable est
sécurisée Protection des Entrées/Sorties, de la
configuration Protection du Bus, de la mémoire, du
processeur• L’ accélérateur matériel est sécurisé
Protection des Entrées/Sorties, de la configuration
Protection du Bus, de la mémoire, du processeur
Plusieurs niveaux de sécurité
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Matrice reconfigurable
Processeur Mémoire
Système
Entrées/sorties
Configuration
Vulnérabilité
Vulnérabilité
Zone sécurisée
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Matrice reconfigurable
Processeur Mémoire
Système
Entrées/sorties
Configuration
Vulnérabilité
Vulnérabilité Vulnérabilité
Vulnérabilité
Vulnérabilité
Zone sécurisée
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Matrice reconfigurable
Processeur Mémoire
Système
Entrées/sorties
Configuration
Vulnérabilité
Vulnérabilité
Vulnérabilité
Vulnérabilité
Vulnérabilité
Zone sécurisée
Vulnérabilité
NoCZone sécurisée
32
Défense en profondeur
• Au niveau système monitoring des traitements du
systèmes pour détecter les attaques (bus, accélérateur, cœur de processeur, mémoire), augmenter la flexibilité et gestion des mises à jour
• Au niveau architecturale implémentation efficace de cœur de
cryptographie, détection de fautes, augmenter la flexibilité
• Au niveau logique protection contre les attaques sur
canaux cachés
• Au niveau circuit résistance au sabotage (package),
capteur, etc.
Logique
Physique
Architecture
Système
Battery
Processor Memory
FPGA I/O
Power monitor
Bus monitor
Primitive monitor
Channel monitor
Secure Embedded System
Se
cu
rity
pri
mit
ive
SecurityExecutiveProcessor Clock
Clock monitor
Thermal monitor
33
Logique
Physique
Architecture
Système
Battery
Processor Memory
FPGA I/O
Power monitor
Bus monitor
Primitive monitor
Channel monitor
Secure Embedded SystemS
ec
uri
typ
rim
itiv
e
SecurityExecutiveProcessor Clock
Clock monitor
Thermal monitor
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Acc
élér
ateu
r m
atér
iel
Matrice reconfigurable
Processeur Mémoire
Système
Entrées/sorties
Configuration
Vulnérabilité
Vulnérabilité
Vulnérabilité
Vulnérabilité
Vulnérabilité
Zone sécurisée
Vulnérabilité
NoCZone sécurisée
Positionnement des travaux
• Collaborations scientifiques associées
SecureFPGA – UMASS • 2003 – 2004
SANES ERE DGA • 2004 – 2005
ICTER ANR • 2006 – 2008
SecureNIOS – UMASS• 2006 – 2008
Intégrité et confidentialitéRomain Vaslin [2008]
Protection du bitstreamLilian Bossuet [2003]
Architecture système sécuriséeGuy Gogniat [2004]
Accélérateur hachageSylvain Ducloyer [2007]
Sécurité et NoCJean Philippe Diguet [2007]
Compression et protection du codeEduardo Wanderley [2007]
Monitoring pour processeurTilman Wolf [2006]
ApprocheSystème/Architecture
34
Intégrité et confidentialité des données
• Les systèmes embarqués utilisent généralement de la mémoire externe Les données et les instructions sont échangées de façon non protégée
sur le bus entre le processeur et la mémoire
Bus d’adresses
Bus de donnéesSoC
Mémoireexterne
Zone sécurisée• Menaces Lecture non autorisée des
données Injection de code ou altération
des données Piratage de la mémoire
• Objectif Garantir la confidentialité et l’intégrité des données stockées dans la mémoire
externe et transférées dans la mémoire cache du processeur embarqué
Courtesy Reouven Elbaz
35
Intégrité et confidentialité des données
• Protection des données en mémoire externe [Vaslin 2007] Basé sur l’utilisation d’un
mécanisme de chiffrement du type OTP
Intégration d’une solution d’intégrité basée sur un CRC « chiffré »
• Protection contre les attaques du type « Spoofing »
• Injection d’une donnée malveillante
« Splicing »• Permutation spatiale des
données en mémoire
« Replay »• Permutation temporelle
des données sur le bus
Zone protégée Zone non protégée
Bloc OTP : requête d’écriture d’une ligne de cache en mémoire
Calcul desTime Stamp
MémoireTime
Stamp
Valeur aléatoire
Clef AES
Lig
ne
de
ca
ch
e c
hif
fré
e
Lig
ne
de
ca
ch
e e
n c
lair
En
tré
eA
ES
So
rtie
AE
S
Bloc AES
XOR
@ ligne de cache
Générateur CRC
MémoireCRC 32
Ca
ch
e d
e d
on
né
es
Ca
ch
e d
’in
str
uc
tio
ns
Cœurde processeur
Mémoire externe
Solution OTP d’origine
Solution OTP étendue
[Vaslin 2007] R. Vaslin, G. Gogniat, J-P. Diguet, R. Tessier, W. Burleson, High Efficiency Protection Solution for Off-Chip Memory in Embedded Systems, ERSA’07, June 25-28, 2007, Las Vegas, Nevada, USA
Bus d’adresses
Bus de donnéesSoC
Mémoireexterne
Zone sécurisée Zone non sécurisée
36
Déchiffrement AES 256 bits
(taille d’une ligne de chache)Requête de lecture d’une
ligne de cache en mémoire
Requête de lecture d’une ligne de cache en mémoire
8 32 bits
Données présentes à l’entrée du bloc de déchiffrement
8 32 bits
Temps d’accès à la mémoire
Données présentes en clairdans la mémoire cache
Requête de lecture d’une ligne de cache en mémoire
Requête de lecture d’une ligne de cache en mémoire
8 32 bits
Données présentes à l’entrée du bloc OTP8 32 bits
Temps d’accès à la mémoire
Données présentes en clairdans la mémoire cache
Déchiffrement AES 256 bits
(taille d’une ligne de chache)
XOR CRC
Requête de lecture d’une ligne de cache en mémoire
Requête de lecture d’une ligne de cache en mémoire
8 32 bits
Données présentes à l’entrée du bloc OTP8 32 bits
Temps d’accès à la mémoire
Déchiffrement AES 256 bits
(taille d’une ligne de chache)
XORCRC
XORCRC
XORCRC
XORCRC
XORCRC
XORCRC
XORCRC
XORCRC
D0
D1
D2
D3
D4
D5
D6
D7
a. Approche classiquement utilisée (AES dans le chemin critique)
b. Approche OTP étendue (version 256 bits)
c. Approche OTP étendue (version pipelinée 32 bits)
Temps
256
bits
256
bits
32 b
its32
bits
Scénario d’exécution
• Plusieurs niveaux de compromis sécurité vs. Performance en fonction de l’environnement OTP + CRC32 OTP + CRC8
• OTP + CRC32 11 cycles pour traiter une
requête en lecture mémoire Probabilité de collision 2-32
• OTP + CRC8 3 cycles pour traiter une
requête en lecture mémoire Probabilité de collision 2-8
37
Performances
• Surcoût mémoire résultant du stockage des Time Stamps et des CRC
• Proportionnel à la taille du code et des données Plus coûteux avec CRC8 que CRC32
car davantage de CRC à mémoriser
• Dégradation des performances par rapport à une solution non protégée Inférieure à 10% pour OTP + CRC8 Entre 10% et 30% pour OTP + CRC32
• Surcoût temporel inférieur par rapport aux solutions actuelles
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.9
7
0.9
2
0.8
5
0.8
4
0.8
9
0.6
9
0.5
3
0.5
0.9
0.7
1
0.5
5
0.5
2
0.9
2
0.8
2
0.6
9
0.6
6
Référence : solution non protégée
+36%
+16%
DES ADPCM Chrystone Object Tracking
OTP + CRC8
OTP + CRC32
AES
PE-ICE
Facteurd’accélération
AEGIS
PE-ICE
OTP + CRC32
AES
0 100 200 300 400 500 600 700 800
768
776
600
512
Overhead mémoire (Koctets)
38
Architecture sécurisée pour les systèmes embarqués
• SAFES (SecurityArchitecture For Embedded Systems) [Gogniat 2007] S’appuie sur les propriétés
intrinsèques des architectures reconfigurables dynamiquement afin de contrer les attaques
Basé sur l’utilisation de moniteur qui détectent tout comportement anormal
• Politique de sécurité dynamique que vise à adapter le niveau de sécurité en fonction de la menace La sécurité est coûteuse,
essentiel de la mettre en oeuvre au bon moment
Battery
Processor Memory
FPGA I/O
Power monitor
Bus monitor
Primitive monitor
Channel monitor
Secure Embedded System
Sec
uri
typ
rim
itiv
e
SecurityExecutiveProcessor Clock
Clock monitor
[Gogniat 2007] G. Gogniat,T. Wolf, W. Burleson, J-P. Diguet, L. Bossuet, and R. Vaslin, « Reconfigurable hardware for high-security/high-performance embedded systems: The SAFES perspective », à paraître dans IEEE TVLSI Special Section on Configurable Computing
39
Perf
orm
ance
Primitive de sécurité – Approche dynamique de la sécurité
• Adaptation en ligne
• Accroissement de la réactivité du système face aux menaces
• Primitive de sécurité Coeur de la primitive
(fonction cryptographique)
Contrôleur de sécurité de la primitive (SPC)
Contrôleur de sécurité du système (SSC)
Datapath
AlP
_Reg
iste
r
ArP
_Reg
iste
r
Inp
ut
FSM
Ou
tpu
t FS
M
Sta
rtR
ese
tD
one
SPC SSC
Fault
Battery levelCommunication Channel Quality
Attacks
System_state
Req
FPGA
Sec
uri
typ
rim
itiv
e
• Quatre implémentations sont considérées pour l’algorithme AES
Non feedback mode without security (N_FB)• Pipeline
Feedback mode without security (FB)• Iterative
Feedback mode with fault detection (FB_FD)• Parity-based error detection
Feedback mode with fault tolerance (FB_FT)• Triple module redundancy technique
Secu
rité
40
Surveillance – Moniteur de sécurité
Génération des sous clés Chiffrement d’un bloc
• Surveillance pour la primitive de sécurité AES Le moniteur Surveille l’activité sur le bus (adresse mémoire)
• Plusieurs scénarios peuvent être considérés pour détecter un comportement anormal « Counter-based » « Cross-coupling »
41
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
422017 2018 20192007 2008 2009 2010 2011 2012 2013 2014 2015 2016
Et demain…
MPSoC AdaptatifArchitecture
Profil MARTELangage
Reconfigurable
4G (1Gbit/s)Application
Outils industriels
Sécurité
Graphique 3D
Architecture « Tera-scale »
RTOS distribué
Virtualisation
Parallélisme explicite
Généralisation UMLAdoption SystemC++
Jeu d’instructionsdynamiquement reconfigurable
FPGA orienté sécurité
Endo reconfigurationgénéralisée
NoC adaptatif
Dynamically…1. Self test & detect2. Isolate errors3. Confine4. Reconfigure, and5. Adapt
Dynamically…1. Self test & detect2. Isolate errors3. Confine4. Reconfigure, and5. Adapt
[Borkar 2007]
Parallelism Exhibition tool
Dynamic Computation Pattern Extraction
Security driven design flow
[Borkar 2007] S. Borkar « Thousand Core Chips A Technology Perspective » Intel Corp. June 7, 2007
Compilation en ligne
Synthèse en ligne
Intelligence distribuée
Bio inspirée
Méta langage
Auto-adaptation
Mutation
Environnement virtuel
Auto exploration
RTOS distribuésécurisé
Virtualisation des plateformes
Auto reconfiguration
Pervasive computing
43
RTOS sécurisé pour les systèmes embarqués
• Gestion dynamique de la sécurité au niveau de l’OS Mise en place d’une politique
de sécurité afin d’optimiser les performances
• Plusieurs niveaux de sécurité associés aux tâches Solution dédiée à l’embarqué
par rapport à AEGIS/XOM…
• Filtrage des zones mémoires• Politique de sécurité
dynamique ?
NIOS Processor
Crypto Coprocessor
Crypto Accelerator
DataMemory
Crypto Accelerator
ProgramMemory
Crypto Coprocessor
Crypto Coprocessor
T1
T2
T3
T5
T4
µCos OS
Attack
Attack Attack
Attack
44
Software Defined Radio
• Reconfiguration dynamique d’un NoC intégré à une plate-forme radio logicielle compatible SCA
• Abstraction des ressources de communication Reposer sur une structure de communication flexible et performante Adapter dynamiquement en fonction des besoins
• Mise en évidence des possibilités d'un NoC afin d'adapter les performances et les chemins de communications dynamiquement Allocation dynamique de « Time-Slot TDMA » Allocation dynamique de liaisons séries pour des réseaux du type commutation
de paquets Allocation dynamique de chemins de communication pour des réseaux du type
communication de circuits
• Déterminer le coût induit par la mise en œuvre de couches d'abstraction Essentiel afin de garantir la portabilité et l'extensibilité des applications
45
MDA pour systèmes adaptatifs
Allocation
HW RTL
Level
Abstract Platform
Architecture
HW Execution Platform
VHDL
Code generation
UML2VHDL
Embedded C
Code generation
UML2Embedded C
SW embedded
Level
HW
wrapper
SW
API
SW Execution Platform
Code generation
UML2SystemC
Application
Functional Level
SystemC(TLM PV)
Allocation
Execution Platform
Architecture
Code generation
UML2SystemC
Application
Functional Level
Allocation
Detailed
Execution Platform
Code generation
UML2SystemC
Application
Functional Level
SystemC(TLM PV+T)
SystemC(TLM CC)
MDA – UML Design flow • Flot de conception MOPCOM Unification de l’exploration Lien entre les mondes
UML/MARTE, TLM et SystemC
• Raffinement progressif de la solution Depuis le niveau fonctionnel
jusqu’au niveau RTL /« embedded C »
• Prise en compte du caractère dynamique de l’application et des supports d’exécution Simulation SystemC multi
niveaux
• Applications H264 et récepteur radiofréquence
46
Pervasive computing
• Environnement adaptif avec découverte dynamique de nouveaux services et déploiement en ligne
• Architecture auto-adaptative Optimisation consommation,
débit, ressources mémoire, communication…
Efficacité énergétique• Besoin de validation de ce
nouveau paradigme de calcul Définition d’un simulateur
SystemC permettant d’évaluer des politiques de déploiement dynamique
Basé sur des profils des applications et des plateformes d’exécution
Prise en compte du caractère temps réel des systèmesEx ecu te
p ro g ramsequence
data in data out
Ex ecu te
m issio nstatem ents
data in
O n-linebehaviour
control
O ff- line Programming ofE xecution behaviour
data out
( a) a standard processor ( b) a self-adaptive processor
#Computers
1 Computer / Thousands of citizens 1 Citizen / Thousands of computers
Years1970 1980 1990 2000 2010 2020
47
Agenda
• Quelques faits marquants…
• Domaines de recherche et contributions Systèmes embarqués (HW/SW codesign) Architectures reconfigurables Sécurité des systèmes embarqués
• Et demain…
• Enseignement et recherche…
48
Enseignement et recherche…
• Indissociable L’enseignement prépare les futurs chercheurs, ingénieurs, enseignants… La recherche source d’inspiration pour l’enseignement
• Besoin de mettre en place une démarche de qualité afin d’anticiper les évolutions à venir Internationalisation, environnement numérique, « project based learning »,
valorisation…
• Mutation de l’enseignement Passer d’un mode d’enseignement linéaire où l’étudiant est spectateur à
un mode interactif ou l’étudiant devient acteur Favoriser la créativité, développer les forces de proposition, mettre en
place les mécanismes nécessaires à la prise d’autonomie
• Encourager et soutenir l’enseignant dans sa démarche pédagogique Soutenir l’initiative et encourager l’audace Nécessité d’innovation et de remise en question
49
Enseignement et recherche…
• Le monde de l’enseignement et de la recherche est en pleine mutation Osons imaginer de nouvelles
pistes, favorisons les dynamiques de créations et encourageons la prise de risque
Contribution au domaine de la conception des Systèmes Embarqués Reconfigurables
Guy GOGNIAT
Université de Bretagne SudLaboratoire LESTERCNRS FRE 2734
Habilitation à Diriger des Recherches
Lorient, Vendredi 26 octobre 2007
Source: Xcell Journal Issue 58