{{{ #!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]