Changes between Initial Version and Version 1 of MjpegCourse/Synthese


Ignore:
Timestamp:
Mar 7, 2007, 10:33:40 AM (18 years ago)
Author:
Nicolas Pouillon
Comment:

Premier jet

Legend:

Unmodified
Added
Removed
Modified
  • MjpegCourse/Synthese

    v1 v1  
     1{{{
     2#!html
     3<h1>TP6: Exploration architecturale complète</h1>
     4}}}
     5[[PageOutline]]
     6
     7TP Précédent: MjpegCourse/Coproc
     8
     9= 0. Objectif =
     10
     11Au cours des TP précédents, vous avez eu l'occasion de prendre en mains les
     12méthodes suivantes de paramétrage:
     13 * Placement des ressources logicielles
     14 * Modification des tailles de caches
     15 * Dédoublement du flot de traitement
     16 * Architecture multi-cluster
     17 * Introduction de coprocesseurs matériels
     18
     19Dans ce TP, on vous laisse libre de faire une exploration architecturale avec
     20tous ces paramètres. La contrainte sera une contrainte de coût:
     21 * En surface de circuit
     22 * En fréquence de travail
     23 * En consommation
     24
     25Pour faire un test plus réaliste que ceux mis en oeuvre aux TP précédents, on
     26utilisera une vidéo de 160x120 pixels. Elle est fournie dans `~pouillon/mjpeg_160x120.raw`.
     27
     28'''Attention, la taille nécessaire en pile pour la fonction `Libu` dépend de la largeur de l'image,
     29redimentionnez votre pile en fonction de ce paramètre !'''
     30
     31La seule contrainte finale sur le SoC est la fréquence de la vidéo décompressée.
     32On cherche à lire cette vidéo à 25 fps.
     33
     34Une fréquence raisonnable pour votre SoC sera entre 100 Mhz et 300 Mhz.
     35
     36= 1. Première implémentation =
     37
     38[[Image(MjpegCourse:q.gif)]] Que proposez-vous à priori comme architecture ? Combien de
     39clusters (si architecture clusterisée), combien de processeurs, quelles tailles de caches,
     40quelle occupation en mémoire ? ...
     41
     42= 2. Prise en compte du coût =
     43
     44On donne les fonctions de coût suivantes (surface):
     45 * Cache: XXXX + YYYY * (dcache_lines*dcache_words+icache_lines*icache_words)
     46 * !MultiRam: XXXX + YYYY * size (en octets)
     47 * Mips: XXXX
     48 * Contrôleur Mwmr: XXXX
     49 * Vgmn
     50   * sans clusters: XXXX * nb_initiateur + YYYY * nb_cible
     51   * avec clusters: XXXX * nb_cluster
     52 * !LocalCrossbar: XXXX * nb_initiateur + YYYY * nb_cible
     53 * Coprocesseur IDCT matériel: XXXX + YYYY / latence
     54 * Tg: XXXX
     55 * Ramdac: XXXX
     56
     57[[Image(MjpegCourse:q.gif)]] Evaluez le coût de votre SoC en surface.
     58
     59[[Image(MjpegCourse:q.gif)]] On veut finalement évaluer la consommation du SoC, on utilise la
     60fonction de coût suivante: `Conso = (Qstat + fréquence) * surface` avec Qstat = XXXX.
     61Donnez la consommation de votre circuit.
     62
     63= 3. Exploration architecturale =
     64
     65[[Image(MjpegCourse:q.gif)]] Essayez de modifier votre design pour minimiser la consommation
     66tout en remplissant la contrainte temporelle de 25 fps.
     67
     68[[Image(MjpegCourse:q.gif)]] Créez une feuille de calcul dans !OpenOffice reprenant toutes
     69ces contraintes et les fonctions de coût. Insérez dans chaque ligne les caractéristiques des
     70SoC que vous simulez.
     71
     72[[Image(MjpegCourse:q.gif)]] Choisissez le meilleur SoC.
     73
     74= 4. Compte-Rendu =
     75
     76Vous rendrez deux fichiers (pas une archive tar):
     77 * Un rapport nommé `binome0_binome1.pdf`
     78 * La feuille de calcul nommée `binome0_binome1.ods`
     79
     80Ces fichiers devront être livrés avant le mardi 20 mars 2007, 18h00 à [MailAsim:nipo Nicolas Pouillon]