Академический Документы
Профессиональный Документы
Культура Документы
Codesign On chip
LESTER
Université de Bretagne Sud / CNRS
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
• 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
6
RTOS pour RSOC Motivations
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
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
T2
T2
T1 T4
T1 T4 13
T3
T3
RaaR Contrôle de configuration - Principe
• Example Tracking objets (base : application CEA/LIST)
GCM
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
Run
Process
17
RaaR UCCI - HW
S M
Config. Metrics
Ready Wait
Run
Process
18
RaaR UCCI - HW
@Tasks @Tasks
Local HAL Write(StartTi+1, Data
@ Mems @ Mems
Read(Data) or DataPointerTi+1)
M Process M
19
RaaR UCCI - SW
OS
Scheduler
OS
SW task Status OS
Synch.
service
20
RaaR UCCI - SW
Tests Config.
Waits Config.
HW ?
SW HW
process Legal
Representative
Evaluates Metric
Sends Metric
21
RaaR UCCI - SW
Memories
IO_RD(mem1,Data)
T1 OS
SW HAL
IO_WR(mem2,Data)
Memories
22
RaaR Nouveaux services de l’OS
2. Contrôle de Configuration
– HAL (Logical @ Physical @)
– Ordre de reconfiguration notamment par diffusion
23
RaaR Accès au services de l’OS ….
24
RaaR Accès au services de l’OS ….
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 ….
« 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
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
29
Recherche / reconfigurable en Allemagne (J.Teich 07)
30