—no_os.c : fonctions utiles d’affichage pour le debug
—plasma.h : plan mémoire du système
3 Tutorial
L’objectif de ce tutorial est de vous familiariser avec l’environnement de
développement et de simulation de la plateforme Plasma. Pour cela, nous allons
simuler l’exécution d’un traitement simple sur le processeur Plasma. Puis, nous
utiliserons différentes méthodes d’optimisations pour accélérer le traitement
effectué.
3.1 L’application à simuler/intégrer : Mise à la pleine échelle
Le but du traitement est de mettre une série d’échantillons à la pleine échelle.
Considérons une suite de 16 échantillons codés sur 8 bits (entiers non-signés) :
x[i]. Dans un premier temps, on calcule les valeurs minimum et maximum de la
séquence d’échantillons :
m=
15
min
i=0 (xi)
M=15
max
i=0 (xi)
Puis on met chaque échantillon à l’échelle en normalisant par le facteur β:
β=255
M−m
yi=β×(xi−m)
3.2 Co-Simulation de la mise à l’échelle
3.2.1 Compilation du fichier C pour le processeur Plasma (Software)
Le flot de compilation software est représenté sur la Figure 3. Le but est
d’obtenir un fichier texte (code_bin.txt) qui contient le code binaire prêt à
être exécuté par le processeur. Comme nous le verrons dans la suite, celui-ci sera
chargé dans la mémoire du processeur Plasma pour être exécuté.
Comme indiqué sur la Figure 3, nous allons utiliser le compilateur gcc-mips pour
générer le fichier binaire (test.axf), puis nous le convertirons en fichier texte à
l’aide d’un script fourni (convert_bin.exe).
La description en virgule fixe de l’algorithme de mise à l’échelle vous est fournie
dans le fichier main.c. Ouvrez ce fichier et décommentez la ligne :
scale_no_opt(data, pixel_nb);. Cette fonction est décrite dans le fichier
4