Compte Rendu TP-1 DSP: Elrhomari Yousra ALAMI Zouhir
Compte Rendu TP-1 DSP: Elrhomari Yousra ALAMI Zouhir
Compte Rendu TP-1 DSP: Elrhomari Yousra ALAMI Zouhir
Rendu TP-1
DSP
Réalisé par:
ELRHOMARI Yousra
ALAMI Zouhir
Encadré par:
Mr. ELBDOURI
Mr. MANSOURI
LAB 1 :
Profilage du code.
Time Profiling
On crée un répertoire pour chaque projet. On lance le setup de Code Composer
Studio.
Ensuite on supprime la configuration existante. Dans le cas de notre première
manip, on va travailler avec le simulateur, on va sélectionner et ajouter la
configuration du simulateur, on enregistre puis on quitte le setup, on a ensuite le
choix de lancer ou pas le Code Composer Studio.
Création du répertoire
On crée un répertoire de travail : D:\TP_1\Lab1.
Comme prévu, on a lancé le setup de Code Composer Studio (CCS) et on fait les
tâches suivantes :
o Supprimer la configuration existante.
o On sélectionne le simulateur « C6713 device Cycle Accurate Simulator
Little », enregistrer et puis quitter en lançant le Code Composer Studio.
o Vérifier que la carte est bien alimentée.
Réponses
1. La différence de temps est dû aux nombres d’accès mémoire, parce que les données
doivent être récupérés pour effectuer le calcul, et déjà on avait des données qui se
répètent c’est pour cela qu’il y’a une différence entre le min et le max.
2. Le nombre minimal est important parce que l’appel à la fonction se fait 2 fois, ainsi on
aura un double du nombre d’accès à la mémoire
4. Optimisation
L’opération d’optimisation permettra de réduire le nombre des cycles d’horloge
que le code nécessite pour pouvoir s’exécuter.
On accède au menu Project Configuration et puis on sélectionne le mode
Release et on clique sur le bouton <Set Active>.
On recompile et recharge le programme, et on l’exécute par la touche F5.
Dans ce mode, on ne peut plus observer les temps d’exécution. Il faut donc créer
un mode intermédiaire par le Menu : <Project Configuration Add>
On nomme notre nouvelle configuration Optimize et on la rend active.
On recompile le programme, et on ferme le profile courant et on ouvre une
nouvelle session pour voir les modifications, on exécute alors le programme.
Réponses
1. Les nouveaux temps d’exécution du programme :
2. Le temps minimum diminue parce qu’on a changé le mode normal en mode Optimisé,
c’est-à-dire on a optimisé le nombre d’accès mémoire, ainsi on a réduit le nombre de
cycles d’horloge nécessaire pour faire l’exécution du code
3. On consulte le code assembleur de notre code, et plus précisément la fonction dotp, on
obtient ceci :
En analysant le code assembleur, on regarde exactement les instructions que fait notre fonction
en C (Récupération de valeur, addition et multiplication) tout en manipulant les différents cœurs
de notre DSP.
Maintenant on va modifier le code pour mesurer les performances en flottant. Pour cela, on
change le type de retour de la fonction dotp par float. En reconstruisant le code on refait les
mesures, Les nouvelles valeurs max et min sont :
Afin d’améliorer la vitesse de ce code, on peut aligner les données en ajoutant les deux lignes
suivantes au début du code :
#pragma DATA_ALIGN(a,8)
#pragma DATA_ALIGN(x,8)
En regardant les valeurs Max et Min on constate que ça a diminué :
5. Optimisation
On peut conclure que dans le cas d’un appel d’une fonction et de l’intégration du codage
assembleur dans le code C, on a réduit le temps d’exécution du code, cela est dû au fait que le
codage en assembleur permet de bien gérer les opérations à effectuer et d’optimiser la
consommation de la mémoire.