Systèmes d`exploitation pour DSP à architecture VLIW

Transcription

Systèmes d`exploitation pour DSP à architecture VLIW
Systèmes d'exploitation pour DSP à architecture VLIW
Laboratoire TIMA
Équipe SLS
Encadrants : Nicolas FOURNEL
Frédéric PETROT
IRL 2012 ­ Laurent Bonnans
Pourquoi un OS pour un DSP ?
●
●
But originel : filtre un signal en entrée et le renvoit en sortie
Maintenant : souvent couplé à un processeur principal, sert d'auxiliaire pour des calculs répétitifs. Peut traiter plusieurs tâches.
IRL 2012 ­ Laurent Bonnans
Plan
●
I – Services d'un système d'exploitation
●
II – Processeurs VLIW et C64x
●
III – Opérations atomiques et synchronisation
●
IV – Changements de contextes et interruptions
IRL 2012 ­ Laurent Bonnans
Services d'un OS
(source : wikipedia)
IRL 2012 ­ Laurent Bonnans
Services d'un OS : C64x
●
OS existant : ­ TI DSP/BIOS
­ Linux
●
Fonctionnalités recherchées ici :
ici ­ interruptions
­ changements de contexte
­ synchronisation
IRL 2012 ­ Laurent Bonnans
Processeurs VLIW et C64x
●
VLIW : Very Long Instruction Word
IRL 2012 ­ Laurent Bonnans
Synchronisation (C64x+)
Load Linked/Store Linked/Commit Linked Stores
●
●
LL *Rs, Rd : Rd ← (Rs)
SL Rs, *Rd : (Rd) ← Rs (mis en attente)
CMTL *Rs, Rd : commite SL si pas d'accès
concurrent depuis LL
Rd ← succes
IRL 2012 ­ Laurent Bonnans
Changements de contexte
Grand nombre de registres généraux : 2x32
Peut être accéléré en utilisant les unités D1 et D2 (lecture et écriture mémoire) simultanément
→ possible en environ 40 cycles (code dans le rapport)
IRL 2012 ­ Laurent Bonnans
C64x : interdépendance
IRL 2012 ­ Laurent Bonnans
C64x : Interruption et pipeline
Arrivée d'une interruption :
IRL 2012 ­ Laurent Bonnans
Interruptions et pipeline : conséquences
Le code n'est pas toujours interruptible
LDW D1 *A0,A1
A1 ← (A0)
ADD L1 A1,A2,A3
A3 ← A1 + A2
|| NOP 5
IRL 2012 ­ Laurent Bonnans
Interruptions et pipeline : conséquences (2)
Version corrigée : « single­assignment »
LDW D1 *A0,A1
|| ADD L1 A1,0,A4
ADD L1 A4,A2,A3
A1 ← (A0)
|| A4 ← A1 + 0
A3 ← A4 + A2
|| NOP 5
IRL 2012 ­ Laurent Bonnans
Interruptions et pipeline : conséquences (3)
●
●
Pas de software pipelining trop agressif dans des zones interruptibles
→ sur le C64x+, SLOOP
Coût assez élevé de la prise d'interruption qui a une latence d'au moins 13 cycles
IRL 2012 ­ Laurent Bonnans
Conclusion
Le portage est possible, il reste néanmoins des considérations de performance à évaluer
Perspectives :
●
Évaluations de performances
●
Portage effectif de DNA­OS
IRL 2012 ­ Laurent Bonnans

Documents pareils