Changes between Version 6 and Version 7 of MjpegCourse/Coproc
- Timestamp:
- Mar 4, 2007, 10:30:04 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MjpegCourse/Coproc
v6 v7 52 52 = 1. Modification du TCG = 53 53 54 Maintenant nous allons utiliser un coprocesseur dédié au traitement de l'`Idct`. 55 56 Ajoutez une déclaration à la tâche `idct`: 54 Il faut commencer par modifier le modèle de la tâche {{{idct}}}, en lui ajoutant une implémentation matérielle, 55 sous forme d'un coprocesseur matériel: 57 56 {{{ 58 57 idct = TaskModel( … … 68 67 }}} 69 68 70 [[Image(MjpegCourse:q.gif)]] Quel est le temps de simulation nécessaire pour décoder 25 images ? 71 72 = 2. Tâche matérielle virtuelle = 69 = 2. Coprocesseur virtuel = 73 70 74 71 Il existe plusieurs solutions micro-architecturales pour la synthèse 75 d'un coprocesseur spécialisé. Dans le cas d'une transformation IDCT, 76 suivant le nombre d'opérateurs arithmétiques utilisés, 77 on peut effectuer le calcul d'un bloc de 64 pixels en un cycle, 78 8 cycles, 64 cycles ou 256 cycles. Le coût matériel est inversement 72 d'un coprocesseur matériel spécialisé. Dans le cas d'une transformation IDCT, 73 on peut, suivant le nombre d'opérateurs arithmétiques utilisés, effectuer le calcul d'un bloc de 64 pixels 74 en un cycle, en 8 cycles, en 64 cycles ou en 256 cycles. Le coût matériel est inversement 79 75 proportionnel au temps de calcul. 80 76 … … 85 81 Ce composant s'interface d'un côté avec le contrôleur MWMR, et de l'autre avec 86 82 la tâche logicielle 87 88 == 2.1. Déploiement ==89 90 Ici, la tâche sera virtuellement matérielle dans le sens où nous utiliserons le code91 C de notre tâche pour implémenter le comportement matériel de l'`Idct`.92 83 93 84 Remplacez la déclaration `HwTask( IdctCoproc )` par une déclaration de coprocesseur matériel virtuel `Synthetic()`. … … 100 91 nécessaire pour décoder 25 images ? Quel rapport à la simulation avec un vrai coprocesseur matériel ? 101 92 102 == 2.2. Précision temporelle ==103 104 93 Pour rendre la tâche matérielle virtuelle plus exacte en temps de simulation, on peut ajouter des directives 105 94 dans le code source C des tâches pour préciser le temps qu'il faudrait pour réaliser la même action en matériel: … … 109 98 nécessaires aux différentes parties du traitement. 110 99 111 = = 2.3. Comparaison des implémentations ==100 = 3. Coprocesseur matériel = 112 101 113 102 Ajoutez les directives temporelles dans `src/idct.c`. … … 121 110 d'une tâche matérielle à partir d'un code en C ? 122 111 123 = 3. Compte-Rendu =112 = 4. Compte-Rendu = 124 113 125 114 Comme pour les TP précédents, vous rendrez une archive contenant: