TP6: Exploration architecturale complète
TP Précédent: TP5_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:video_160x120.mjpg.
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 images par seconde.
Une fréquence raisonnable pour votre SoC sera entre 100 Mhz et 300 Mhz.
1. Première implémentation
Question 1 : Que proposez-vous a priori comme architecture ? Combien de processeurs, quelles tailles de caches, quelle occupation en mémoire, combien de clusters (si architecture clusterisée), etc. ?
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é.
Question 2 : Evaluez le coût de votre SoC, proposé à la question 1, en surface.
Question 3 : 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
Question 4 : Essayez de modifier votre design pour minimiser la consommation tout en remplissant la contrainte temporelle de 25 fps.
Question 5 : Importez la feuille de calcul attachment:mjpeg.ods dans OpenOffice, qui reprend toutes ces contraintes et les fonctions de coût. Insérez dans chaque ligne les caractéristiques des SoC que vous simulez.
Note : la colonne notée "Locks" est non-pertinente ici. Vous y indiquerez la valeur 0.
Question 6 : Choisissez et indiquez votre meilleur SoC.
4. Compte-Rendu
Vous rendrez une archive contenant :
$ tar tzf binome0_binome1.tar.gz tp6/ tp6/rapport.pdf tp6/mjpeg.ods tp6/mjpeg tp6/archi.py
mjpeg.ods
est votre feuille de calculmjpeg
représente la description DSX de votre "meilleur" SoCarchi.py
décrit l'architecture matérielle de votre "meilleur" SoC
Envoyez cette archive au plus tard une semaine après la séance de TP, à [MailAsim:Quentin.Meunier Quentin Meunier]. Tout retard sera sanctionné.
Attachments (2)
- video_160x120.mjpg (170.6 KB) - added by 14 years ago.
- mjpeg.ods (10.7 KB) - added by 14 years ago.
Download all attachments as: .zip