{{{ #!html

TP6: Exploration architecturale complète

}}} [[PageOutline]] TP Précédent: MjpegCourse/Coproc = 0. Objectif = Au cours des TP précédents, vous avez eu l'occasion de prendre en mains les méthodes suivantes de paramétrage: * Placement des ressources logicielles * Modification des tailles de caches * Dédoublement du flot de traitement * Architecture multi-cluster * Introduction de coprocesseurs matériels Dans ce TP, on vous laisse libre de faire une exploration architecturale avec tous ces paramètres. La contrainte sera une contrainte de coût: * En surface de circuit * En fréquence de travail * En consommation Pour faire un test plus réaliste que ceux mis en oeuvre aux TP précédents, on utilisera une vidéo de 160x120 pixels. Elle est fournie dans `~pouillon/mjpeg_160x120.raw`. '''Attention, la taille nécessaire en pile pour la fonction `Libu` dépend de la largeur de l'image, redimentionnez votre pile en fonction de ce paramètre !''' La seule contrainte finale sur le SoC est la fréquence de la vidéo décompressée. On cherche à lire cette vidéo à 25 fps. Une fréquence raisonnable pour votre SoC sera entre 100 Mhz et 300 Mhz. = 1. Première implémentation = [[Image(MjpegCourse:q.gif)]] Que proposez-vous à priori comme architecture ? Combien de clusters (si architecture clusterisée), combien de processeurs, quelles tailles de caches, quelle occupation en mémoire ? ... = 2. Prise en compte du coût = On donne les fonctions de coût suivantes (surface): * Cache: XXXX + YYYY * (dcache_lines*dcache_words+icache_lines*icache_words) * !MultiRam: XXXX + YYYY * size (en octets) * Mips: XXXX * Contrôleur Mwmr: XXXX * Vgmn * sans clusters: XXXX * nb_initiateur + YYYY * nb_cible * avec clusters: XXXX * nb_cluster * !LocalCrossbar: XXXX * nb_initiateur + YYYY * nb_cible * Coprocesseur IDCT matériel: XXXX + YYYY / latence * Tg: XXXX * Ramdac: XXXX [[Image(MjpegCourse:q.gif)]] Evaluez le coût de votre SoC en surface. [[Image(MjpegCourse:q.gif)]] On veut finalement évaluer la consommation du SoC, on utilise la fonction de coût suivante: `Conso = (Qstat + fréquence) * surface` avec Qstat = XXXX. Donnez la consommation de votre circuit. = 3. Exploration architecturale = [[Image(MjpegCourse:q.gif)]] Essayez de modifier votre design pour minimiser la consommation tout en remplissant la contrainte temporelle de 25 fps. [[Image(MjpegCourse:q.gif)]] Créez une feuille de calcul dans !OpenOffice reprenant toutes ces contraintes et les fonctions de coût. Insérez dans chaque ligne les caractéristiques des SoC que vous simulez. [[Image(MjpegCourse:q.gif)]] Choisissez le meilleur SoC. = 4. Compte-Rendu = Vous rendrez deux fichiers (pas une archive tar): * Un rapport nommé `binome0_binome1.pdf` * La feuille de calcul nommée `binome0_binome1.ods` Ces fichiers devront être livrés avant le mardi 20 mars 2007, 18h00 à [MailAsim:nipo Nicolas Pouillon]