Changes between Version 6 and Version 7 of AS6-TME-B8


Ignore:
Timestamp:
May 7, 2024, 12:35:42 PM (13 months ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AS6-TME-B8

    v6 v7  
    44448 - Périphériques initiateurs
    4545}}}
     46{{{#!protected
     47Pas de question de cours cette fois. Je vais vous demander de lire et de commenter dans le compte-rendu les codes proposés.
    4648
     49-- 01_sequentiel
    4750
     51Dans cette version, il n'y a pas d'OS, tout est fait dans la fonction `kinit()`
     52Les trois étapes du slide sont faites séquentiellement
    4853
    49 {{{#!html
    50 <font size=+7 color=orange> En travaux</font><br><br>
    51 }}}
     54 - Faites tourner la simulation, la durée des étapes s'affichent. Que pouvez-vous en conclure ?
     55 - Essayez de retirer les invalidations du cache (dans harch.c), observez le comportement et expliquer
     56 - Expliquez l'usage des couples de variables globales (BDBusy et BDLock) et (DMABusy et DMALock)
     57
     58-- 02_parallel
     59
     60Dans cette version, les trois étapes sont faites en parallèle sous la forme d'un pipeline avec deux couples de buffer utilisés en altenance.
     61
     62 - Disk->BD->BUFIN[0]
     63 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[O] 
     64 - Disk->BD->BUFIN[0] & BUFIN[1]->CPU->BUFOUT[1] & BUFOUT[0]->DMA->FBF
     65 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[0] & BUFOUT[1]->DMA->FBF
     66 - Disk->BD->BUFIN[0] & BUFIN[1]->CPU->BUFOUT[1] & BUFOUT[0]->DMA->FBF
     67 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[0] & BUFOUT[1]->DMA->FBF
     68 - Disk->BD->BUFIN[0] & BUFIN[1]->CPU->BUFOUT[1] & BUFOUT[0]->DMA->FBF
     69 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[0] & BUFOUT[1]->DMA->FBF
     70 - etc.
     71
     72Questions
     73 - Qu'est ce qu'on gagne à procéder ainsi ?
     74 - Est-ce qu'on peut gagner plus ?
     75
     76## 03_multicore
     77
     78Dans cette version, on utilise plusieurs cores pour faire le calcul en parallèle
     79
     80- Que peut-on espérer gagner ?
     81- Utilisez de 1 à 8 cores et tracer une courbe de speedup ? Qu'en concluez-vous ? (notez que la simulation se fige acutuellement mais je n'ai pas eu le temps de débugger...)
     82- Expliquez le rôle de la variable working.
     83- Retirez l'invalidation du cache de la fonction compute(), observez et expliquez.
     84- Pourquoi certaines parties ne doivent être traitées que par le CPU 0 ?
     85