Changes between Version 9 and Version 10 of AS6-TME-B8
- Timestamp:
- May 7, 2024, 1:33:08 PM (13 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AS6-TME-B8
v9 v10 47 47 Pas de question de cours cette fois. Je vais vous demander de lire et de commenter dans le compte-rendu les codes proposés. 48 48 49 --01_sequentiel49 == 01_sequentiel 50 50 51 [[Image(htdocs:img/image-seq.png,nolink, left,height=230)]]51 [[Image(htdocs:img/image-seq.png,nolink,center,height=300)]] 52 52 53 53 54 54 Dans cette version, il n'y a pas d'OS, tout est fait dans la fonction `kinit()` 55 55 Les trois étapes (lecture disque, traitement, affichage) sont faites séquentiellement 56 57 **Questions** 56 58 57 59 - Ouvrez le code pour voir la boucle de traitement. … … 62 64 63 65 64 --02_parallel66 == 02_parallel 65 67 66 [[Image(htdocs:img/image-parallel.png,nolink,left,height=230)]] 67 68 [[Image(htdocs:img/image-parallel.png,nolink,center,height=230)]] 68 69 69 70 Dans 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. 70 71 72 {{{ 71 73 - Disk->BD->BUFIN[0] 72 74 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[O] … … 78 80 - Disk->BD->BUFIN[1] & BUFIN[0]->CPU->BUFOUT[0] & BUFOUT[1]->DMA->FBF 79 81 - etc. 82 }}} 80 83 81 Questions 84 **Questions** 85 82 86 - Qu'est ce qu'on gagne à procéder ainsi ? 83 - Est-ce qu'on peut gagner plus ?87 - Est-ce qu'on peut gagner plus et si oui comment faire (en supposant qu'on a plusieurs processeurs dans le SoC). 84 88 85 ## 03_multicore 89 == 03_sdl 86 90 87 Dans cette version, on utilise plusieurs cores pour faire le calcul en parallèle 91 Le code ici utilise la version de ko6 vue dans les TP précédents. 88 92 89 - Que peut-on espérer gagner ? 90 - 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...) 91 - Expliquez le rôle de la variable working. 92 - Retirez l'invalidation du cache de la fonction compute(), observez et expliquez. 93 - Pourquoi certaines parties ne doivent être traitées que par le CPU 0 ? 93 {{{ 94 94 95 }}} 96 97