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 processeurs, quelles tailles de caches, quelle occupation en mémoire, combien de clusters (si architecture clusterisée)... ?
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.
Puisqu'on veut finalement évaluer la consommation du SoC, on utilise la
fonction de coût donnant consommation
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 (nommée mjpeg.ods
) 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 une archive contenant :
$ tar tzf binome0_binome1.tar.gz tp6/ tp6/rapport.pdf tp6/mjpeg.ods tp6/mjpeg.py
mjpeg.ods
est votre feuille de calculmjpeg.py
représente la description DSX de votre "meilleur" SoC
Ces fichiers devront être livrés avant le jeudi 27 janvier 2011, 18h00 à [MailAsim:joel.porquet Joël Porquet]
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