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 : « singleassignment » 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 DNAOS IRL 2012 Laurent Bonnans