Version 8 (modified by 17 years ago) (diff) | ,
---|
TP6: Exploration architecturale complète
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 attachment: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
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 estimateurs suivants pour l'évaluation de la surface:
- Cache: 0.008mm2 + 0.05mm2 * size (en Ko)
- MultiRam: 0.05mm2 * size (en Ko)
- Mips: 0.16mm2
- Contrôleur Mwmr: 0.013mm2 par canal MWMR
- LocalCrossbar: 0.005mm2 * nb_initiateur * nb_cible
- Vgmn: 0.01mm2 * nb_initiateur * nb_cible (si archi clusterisée, nb_initiateur = nb_cible = nb_clusters)
- Coprocesseur IDCT matériel: 0.01mm2 + 70mm2 / latence (en cycles)
- Tg: 0.3mm2
- Ramdac: 0.01mm2 + 0.05mm2 * size ram video (en Ko, 1 pixel = 1 octet)
Ces valeurs sont données à titre indicatif, pour une technologie fictive. Elle devraient être redéfinies pour le procédé de fabrication visé.
Evaluez le coût de votre SoC en surface.
On veut finalement évaluer la consommation du SoC, on utilise la
fonction de coût donnant conso
proportionnel à fréquence * surface
.
Donnez la consommation de votre circuit.
3. Exploration architecturale
Essayez de modifier votre design pour minimiser la consommation tout en remplissant la contrainte temporelle de 25 fps.
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.
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
- La description DSX de votre "meilleur" SoC nommée
binome0_binome1.py
Ces fichiers devront être livrés avant le mardi 26 mars 2008, 18h00 à [MailAsim:nipo Nicolas Pouillon]
Attachments (2)
- couts.ods (10.7 KB) - added by 18 years ago.
- mjpeg_160x120.raw (170.6 KB) - added by 17 years ago.
Download all attachments as: .zip