Вы находитесь на странице: 1из 30

LESTER / Systèmes reconfigurables

Codesign On chip

Jean-Philippe Diguet, Guy Gogniat, Jean-Luc Philippe,


Yvan Eustache, Milad Elkhodary, Romain Vaslin

LESTER
Université de Bretagne Sud / CNRS

GDR SOC-SIP, 5/02/07, Paris


Sommaire

• Projets “reconfigurables” au LESTER


• RTOS pour RSOC : problématique et positionnement
• Raar
 Principe du contrôle de la configuration
 Interface unifiée de communication / configuration
 Exemples smartcam
• Conclusion
• Annexe : Programme reconfigurable en Allemagne

2
Projets “Reconfigurable” au LESTER
• Flot de conception : aspects exploration et décisions (Lorient)
RAAR (ACI 04/07)
DT / RTDT (RNRT Epicure)
• Codesign en deux étapes :
• Graphe de Tâches + RTOS
• partitionnement solutions hors ligne
• Exploration Hiérarchique
• adaptation en ligne
• Partitionnement HW/SW
• Décision en ligne
• Analyse d’Ordonnancabilité Temps Réel
• Évolution RTOS pour tâches HW/SW
• Énergie, Surface
• Auto-adaptation

AETHER (IST-FET 2006/09)


A3S (RNTL)
• CEA/LIST
• Radio-Logicielle
• CNRS : LESTER / I3S
• Front End MDA pour RTDT
• Partitionnement intégralement en ligne
• Enrichissement des modèles PIM/PSM
• Self Adaptative Network Entities
• Estimation Overhead RTOS
• Vérification Non Fonctionnelle • http://www.aether-ist.org

MOPCOM (ANR – RNTL 2007/10)


ICTER (ANR 06/08) • MDA, prise en compte de la
• LIRMM reconfiguration
• Sécurité des systèmes reconfigurables • Génération de code VHDL / SystemC 3
Projets “Reconfigurable” au LESTER
• Flot de conception : synthèse (BREST)
 MADEO :
• Modélisation d’architectures reconfigurables
• Outil de synthèse logique générique
 Projet Morpheus (IST-IP 06/08)
• SoC doté d’unités hétérogènes: PiCoGA, XPP, M2000 (x2), CPU ARM, NoC
• Enveloppe uniforme de ces unités: support local de la reconfiguration, tableau de
mémoires commutables, alimentation DMA
• Responsabilité du ‘Spatial Design’:
• Circulation des données (mémoire->buffer locaux ->processus reconfigurés-
> retour en mémoire).
• Scatter/Gather, proche du passage de messages
• CAO pour les chemins de données et grain fin
• Synthèse articulée autour de CDFG haut niveau, concurrents et hiérarchiques,
bas niveau adaptés aux technologies
• Cadre de synthèse ouvert, doté d’API portables (plusieurs langages d’entrée
possibles)
• http://www.morpheus-ist.org/
4
Projets “Reconfigurable” au LESTER
• Évolution de Madeo
 Entrée niveau langage avec des CDFG
• boucles, acces memoire, operations,
processus, com/synchro de processus)
• modelisation des data paths translation
vers outils PicoGa/XPP/Synopsis-M2K
 Spatial design, deux entrees:
• Cdfg haut niveau avec APIs st80/java/c++
• Modele architectural (extension de
Madeo), cdfg mappé sur la technologie.
• Framework ouvert aux autres outils
• produire des entrées
• synthetiser de manière paramétrique.

• Suggestion :
 Prévoir une intervention de Bernard Pottier pour la prochaine réunion …

5
RTOS pour RSOC Motivations
• Besoins industriels
 Mise à jour en ligne
• Évolution des standards
• Temps de développement,
• Durée de vie, nouvelles applications
 Debug en ligne
 Tolérance aux fautes

• Optimisation de l’efficacité des architectures


 Application dominées par le contrôle
 Comportement dépendant des données
 Décision hors ligne : surdimensionnement
 Architectures reconfigurables : opportunité pour l’adaptation en ligne

6
RTOS pour RSOC Motivations

• Complexité des applications


 Disposer des services d’un OS
 Temps de déploiement et réutilisation
 Domaines : Télécoms / Multimédia
• Processeurs bande de base de base
• Codage Audio
• Codage Vidéo
• Processeurs graphiques
• Crypto-processeurs
 Caractéristiques
• Multinormes
• Hautement paramétrables
• Comportements fluctuants

7
RTOS pour RSOC Nouveau paradigme
T2 T4 T6
D[1]D[2] RAM
T1
Data
HW T5
T3
Processeur Control
Reconfigurable Appli. D[] DD
Contexte
OS
Tâches HW /SW
FPGA
Data Data
T1
T[2]
T1
T[3] T[4]
T[1]
TN
• Contextes SW et HW 50 Mb
 Temps de configuration
 Disponibilité du matériel => contrainte spatiale supplémentaire
• Ordonnancement
 Concurrence
 Allocation spatio-temporel
8
RTOS pour RSOC Espace de recherche
• Services d’un OS pour RSoC
Architecures multi-processeurs (migration de tâche)
Modélisation de l’espace de configuration (spécification, codage)
Décision de configuration SW/HW

OS ++
Observation (QoS, spécifique vs )
Communication (MailBox, QueueBox, Message Passing)
Synchronisation (Mutex, Semaphore, Flag, RDV, …)
Ordonnancement (Statique, dynamique, low power, …)
Allocation/Placement HW (ex. XY, garbage collector, contraintes physiques, ..)
MMU (allocation, partage HW/HW - HW/SW)

ARCHI
Configuration (stockage, compression, chiffrement, adaptation, granularité, chargement)
Contrôle configuration (ex. signaux ICAP, bus macros ) 9
RTOS pour RSOC Espace de recherche
• Services d’un OS pour RSoC
Architectures multiprocesseurs …
Modélisation de l’espace de configuration
Décision de configuration SW/HW

OS ++
Observation
Communication
Synchronisation Univ.Kansas
I3S R2D2/ETIS
Ordonnancement CEA/LIST

Allocation/Placement HW Univ.Erlangen
MMU ARCHI ETHZ Karlsruhe
Configuration Univ.SA IMEC

Contrôle configuration 10
RaaR Objectifs
T, QoS, D R RSoC

• Principaux verrous
1. Modélisation de l’espace de configuration
2. Décision de configuration
3. Accès aux services de communication indépendamment des
implantations SW / HW
4. Accès aux services de synchronisation indépendamment des
implantations SW / HW
5. Ordre et contrôle des reconfigurations
• Cohérence des données / traitements
• Synchronisation entre tâches
• Granularités des traitements et configurations variables
11
RaaR Contrôle de configuration - Principe

• 1er temps : élagage de l’arbre des solutions

Espace de reconfiguration :
Choix Algorithmiques & Architecturaux
Puissance /
Surface x
x x
x x x x
x x x
x x x x
x x
x xx x x x
x x

#Cycles
Domaine d’incertitude

12
séparation spécifique (application) et générique (système) RaaR Contrôle de configuration - Principe
• 2ème temps : Régulation (adaptation)
Capteur Temps Exéc.
QoS
batterie OS
Services Audit

Direction
GCM
Générale
Restreint l’espace Demande de
Des solutions Moyens adaptés

Sélection
Configuration Allocation
Resources
Direction Direction Direction
LCM LCM LCM
Production Production Production

Métriques Configure Missions


Mesures
chaque tache
Qualité

T2
T2
T1 T4
T1 T4 13
T3
T3
RaaR Contrôle de configuration - Principe
• Example Tracking objets (base : application CEA/LIST)

Sensors & Peripheral Space Applications Space


OS
Execution time

GCM

• QoS normalized metrics Configuration IDs


Power • Configuration requirements
consumption

LCM LCM LCM k LCM

Task HW Task HW Metrics Configuration Metrics Metrics Task HW


GG CTRL Cam CTRL. Ex: Number of EX: Number of VGA CTRL
Ex: Number of Ex: Prediction
white pixels frames for the Error
white pixels
average op.
Filtering + Threshold Erosion Prediction
Application k (e.g. Object Tracking)

14
RaaR Interface unifiée de com et de config.
• Modèle de tâche abstrait (HW où SW)
• Extension machine d’états classique
• Configurée par LCM
• Émission des métriques,
• Encapsulation tâche SW ou HW Metric
Test Config signaling Metric
Evaluation

Wait Config
Wait Data Run

Critical
Section

UCCI
Configuration
Control UCCI FSM HW or SW task
Metrics

Communication
15
RaaR UCCI

• Vue générale
 CTask_create(SW task, @HW) Usual
• Interface : Queuebox Extension
• SW : LR extension
• HW : encapsulation + ISR
RTOS

Extended OS Services

UCCI Slave Port IRQ Task in


HW ?
Reg.
FSM
bank
HW
Local SW
HW Legal
HAL Representative
DMA
Master Port
16
RaaR UCCI - HW

• HW comm. & conf. Interface :


1. Control & Status,
2. Configuration & Metrics, Usual
3. Communications. Extension

Write (Start, Stop…) Read (Ready,Run,Wait)


LCM OS
Ti-1
S S
Control Status
Ready Wait

Run

Process
17
RaaR UCCI - HW

• HW comm. & conf. Interface :


1. Control & Status,
2. Configurations & Metrics, Usual
3. Communications. Extension

Write (Config) Write (Metrics)


LCM

S M
Config. Metrics
Ready Wait

Run

Process
18
RaaR UCCI - HW

• HW comm. & conf. Interface :


1. Control & Status,
2. Configurations & Metrics, Usual
3. Communications. Extension
– Passage de messages
– Mémoires partagées

OS Read (Local HAL…)


(HAL Update
Task)

@Tasks @Tasks
Local HAL Write(StartTi+1, Data
@ Mems @ Mems
Read(Data) or DataPointerTi+1)

M Process M
19
RaaR UCCI - SW

• SW comm. & conf. Interface :


1. Control & Status,
2. Configuration & Metrics,
3. Communications.

OS
Scheduler

OS
SW task Status OS
Synch.
service

20
RaaR UCCI - SW

• SW comm. & conf. Interface :


1. Control & Status,
2. Configuration & Metrics, Usual
3. Communications. Extension

Tests Config.
Waits Config.

HW ?

SW HW
process Legal
Representative

Evaluates Metric
Sends Metric
21
RaaR UCCI - SW

• SW comm. & conf. Interface :


1. Control & Status,
2. Configuration & Metrics, Usual
3. Communications. Extension

Memories
IO_RD(mem1,Data)
T1 OS
SW HAL
IO_WR(mem2,Data)

Memories

Ex. Avalon Bus

22
RaaR Nouveaux services de l’OS

1. Status des tâches HW


– Local FSM

2. Contrôle de Configuration
– HAL (Logical @  Physical @)
– Ordre de reconfiguration notamment par diffusion

3. Abstraction des services de communications


– Communications (messages)
– Synchronisation (mutex, semaphores, RDV …)

23
RaaR Accès au services de l’OS ….

• Ex. Accès des taches HW aux services (com, synchro)


de l’OS:

 HW SW Post & Pend comm.


 HW HW Post & Pend comm.

24
RaaR Accès au services de l’OS ….

• Accès des taches HW aux services (com, synchro) de l’OS:

• HW SW Post & Pend comm. T1


• HW HW Post & Pend comm. = Legal Representative
LR SW representative of HW task

T1
IRQ
T1 OS
HW ISR
« Post (Message) »
Synchro.
Read_IRQ_Reg = Message ID
Messaging
Services
IRQ
T1 T1 « Post = T1 « Pend =
HW ISR Message ID»
LR Message» (Flag, Mutex,
Read_IRQ_Reg =
Message ID Mailbox…)

T1
Run state (SW wake up)
Write_Control_Reg (HW wake up)
LR
25
RaaR Accès au services de l’OS ….

• Accès des taches HW aux services (com, synchro) de l’OS:

• HW SW Post & Pend comm.


• HW HW Post & Pend comm.

« Post » : T1 Write_Post_Reg() T2 UCCI


HW HW Interface
Services

« Pend » : T2
HW
Wait_Post_Reg()

26
RaaR Expérience
• Extension de l’application smart camera du CEA/LIST (Epicure)
 + prediction de mouvement => Mesure QoS

New Frame Background

Object tracking
µCOS II New Services
Copro1 Multi-Mode
DMA RAM CoproN
Nios
Task Set
Avalon Fabric
Altera Accelerator Accelerator
I2C VGA Gas Gauge
Statix control control control G1 … Gk F1 … Fn
27
Battery + Gas Gauge Camera Display
RaaR Mesures surcoût OS
• Performances : From C1 C2 C3
Communication performances To
x 0,36 x 0,035
SW HW
SW HW
HW C1 2400 26
(10-2 %) (10-6 %)
MB Post 517 cy. 2035 cy. 15 cy.
900 900 900
MB Pend 425 cy. 3087 cy. 11 cy.
(3.10-3 %) (3.10-3 %) (3.10-3 %)
x 2.7 x 0.09
C1 T1 SW1.1 T2 SW2.1 T4..T7 SWx.1
C2 900 26
(0,5–1 f/s)
C2 T1 HW1.1 T2 SW2.1 T4..T7 SWx.1 (10-2 %) (2,6.10-6 %)
2400 2400 2400
(3–6 f/s) -4
C3 T1 HW1.1 T2 HW2.1 T4..T7 SWx.1 (2,4.10-4 %) (2,4.10 %) (2,4.10-4 %)
(20-25 f/s) x 28 x 10
C3 900 2400
Speedup
(0,1 %) (2,6.10-6 %)
Tconfig.
26 26 26
(% / new config perf.) -5
(2,8.10-5 %) (2,8.10-5 %) (2,8.10 %)
Tcomm.
(% / new config perf.) 28
RaaR Conclusion

• Hiérarchie de contrôleurs : séparation spécifique (local) /


générique (global)

• UCCI : interface unifiée des Com. et Synchronisation

• Abstraction et extension des services de l’OS

• Smart Camera Version 1.0


 UCCI OK
 Management des communications et configuration : 75%
 Services OS : 75%
 Régulateur : simulation, intégration d’ici septembre 2007
 Développement HW : 50%

29
Recherche / reconfigurable en Allemagne (J.Teich 07)

• DFG PGM 1148 : Reconfig. Computing Systems


• Organisation / domains
 Languages and Models for adaptive Applications
 Architectures (fine / coarse grain)
 Processors with reconfigurable Instruction sets, NoC
 Design Methodology (EDA):
• Online-Synthesis and –optimization, retargetable Compiler,
 OS, dynamic Hardware/Software-Partitioning
 Self-reconfiguration, Verification
• Development of Synthesis Tools and Tool Support
• Duration:
 6 years (2003-2009)
 Budget allocation: 1.5 Million €/a

30

Вам также может понравиться