wiki:TP6_Synthese

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 calcul
  • mjpeg représente la description DSX de votre "meilleur" SoC
  • archi.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é.

Last modified 8 years ago Last modified on Nov 24, 2015, 5:07:22 PM

Attachments (2)

Download all attachments as: .zip