You are on page 1of 4

TP - Modles de traitement, exploration ar

hite tural
Universit de Cergy-Pontoise

Benot Miramond

2 novembre 2006

1 Contexte : Modlisation niveau systme

Aprs avoir travailler au niveau RTL au TP pr dent, nous allons maintenant monter en abstra tion
pour suivre la mthodologie TLM. De manire pla er le travail demand par rapport au TP pr dent
et omprendre ette mthodologie, lisez les 3 premiers paragraphes de la page :
http ://www.us.design-reuse. om/arti les/arti le10626.html
puis les 4 premiers slides de :
www.o pip.org/pressroom/s hedule/speaking/papers_presentations/Mentor.pps

2 Traitement d'image et modles de traitement

Rappel : Durant les exer i es le tableau suivant vous indiquera quelles notions de SystemC sont
ibles durant l'exr i e.
COO Module Interfa e Event Canaux
- - - - -
Les san es de TP qui vont suivre portent sur la mme appli ation : une appli ation de traitement
d'image simple illutrant les dirents m anismes de al ul utiliss au niveau systme pour des implmen-
tation logi ielles ou matrielles. SystemC permet d'exprimer une mme fon tionnalit sous ses direntes
implantations possibles. Chaque implantation utilise une modle de al ul dirent. L'obje tif de ette
srie de TP est de omprendre es modles de al ul en les utilisant pour ette fon tionnalit.
 le modle mmoire partag, orrespondant une implmentation purement logi ielle.
 le modle dit "Kahn Pro ess Network", orrespondant une implmentation purement matrielle.
 une implmentation mmoire partage en expli itant le servi e de gestion des t hes de l'OS.
 une implmentation mixte ave a lrateur matriel, et servi e ddi (Hw driver) de l'OS.

2.1 Prsentation de l'appli ation

Nous allons travailler sur une appli ation ralisant en srie des al uls simples de traitement d'image.
Le hoix de e type d'appli ation est de pouvoir tudier l'impa t de la granularit du traitement sur les
hoix ar hite turaux.
L'appli ation sera ompose de 3 traitements su ssifs qui sont :
 transformation de format,
 ltre par al ul de gradient,
 sur hentillonnage.

2.1.1 Unit d'entre

On supposera en eet que notre futur systme dispose d'un apteur d'entre lui fournissant une srie
d'images sur lesquelles le systme doit raliser un ertain traitement que nous simplions dans le adre
de es TPs. L'unit d'entre du systme est modlis par un module de le ture  hier pour lequel il doit
raliser une onversion sur haque pixel.

1
2.1.2 Filtrage

Dans l'obje tif nal de raliser un traitement du type re onnaissan e de forme, l'image subit un
premier ltre sous la forme d'un al ul de gradient :
r
G2x + G2y
Gx,y =
2
ave :
 Gx = Dx+1,y Dx1,y ,
 Gy = Dx,y+1 Dx,y1 ,
 et Dx,y reprsente la valeur du pixel aux oordonnes [x, y] ave x [0, W ] et y [0, H],
 W est la largeur de l'image d'entre et H la hauteur de l'image.
Remarque : dans nos modles, l'image sera reprsente omme un tableau une dimension de taille
H W , et les pixels seront reprsents omme des ottants.
Q

2.1.3 Sur hentillonnage

Enn, pour omposenser la perte d'informations, l'image subit un sur hentillonnage d'un fa teur 4 :
Hs = 2.H et Ws = 2.W . Le masque du sur hentillonnage est le suivant, pour haque pixel [x, y] :
 S2x,2y = Dx,y , opie des pixels de l'an ienne image
 S2x+1,2y+1 = (S2x1,2y1 + S2x1,2y+1 + S2x+1,2y1 + S2x1,2y1 )/4, interpolation sur les autres
pixels,
 S2x1,2y = (S2x1,2y1 + S2x1,2y+1 )/2, et
 S2x,2y1 = (S2x1,2y1 + S2x+1,2y1 )/2
La gure 1 synthtise le al ul.

(0)

111111
000000 111111
000000
Xs 111111
000000 x
000000
111111 000000
111111 000000
111111
000000
111111 000000
111111 000000
111111
000000
111111
000000
111111 000000
111111
000000
111111 000000
111111
000000
111111
000000
111111 000000
111111 000000
111111
000000
111111 (1) 000000
111111 000000
111111
S(Sx,Ys) y
111111
000000 111111
000000
000000
111111 000000
111111
000000
111111 000000
111111 (1) S(Xs,Ys) = (S(Xs1,Ys1)+S(Xs1,Ys+1)+S(Xs+1,Ys1)+S(Xs+1,Ys+1))/4
000000
111111
000000
111111 000000
111111
000000
111111 (2) S(Xs+1,Ys) = (S(Xs1,Ys1)+S(Xs1,Ys+1))/2
000000
111111 000000
111111
Ys 000000
111111 000000
111111 (3) S(Xs,Ys1) = (S(Xs1,Ys1)+S(Xs+1,Ys1))/2

111111
000000 111111
000000
Xs 111111
000000 000000
111111
Xs
000000
111111 000000
111111 000000
111111 000000
111111
000000
111111 000000
111111 000000
111111 (3) 111111
000000
000000
111111
000000
111111 000000
111111
000000
111111 000000
111111
000000
111111 000000
111111
000000
111111
000000
111111 000000
111111 000000
111111
S(Sx,Ys1)111111
000000
000000
111111 000000
111111 000000
111111 000000
111111
(2)
S(Sx1,Ys)
111111
000000
000000
111111 111111
000000
000000
111111
000000
111111
Ys 111111
000000
111111
000000
000000
111111
Ys 111111
000000
000000
111111
000000
111111
000000
111111 000000
111111
000000
111111
Fig. 1  Cal uls de sur hentillonnage

2.2 Modle mmoire partag [4 heures

La premire implantation de l'appli ation orrespond une solution ar hite turale purement logi ielle
ou la plateforme (le pro esseur programmable et son OS) est totallement virtualise. Plus pr isment
ette plateforme est abstraite par le moteur de simulation SystemC qui ore les apa its d'ex ution
de ette future plateforme. A e niveau le on epteur n'a pas de ontrle sur l'ordre d'ex ution des

2
pro essus de l'appli ation puisque soumise au rgles de simulation de l'ordonnan eur SystemC.
Vous trouverez le ode de dpart de l'appli ation sur la page web habituelle. Cette solution onsiste sim-
plement en autant de pro essus (SC_THREAD) que de fon tionnalits. Ces pro essus se syn hronisent
par des vnements et ommuniquent par mmoire partage protge par des smaphores. Compilez-le
et ex utez-le. Ce ode ne ralise qu'une petite partie du traitement que vous allez omplter :
 Cration de 2 SC_THREAD supplmentaires,
 ajout des m anismes de syn hronisation,
 odage du gradient et du sur hentillonnage.
 appel aux fon tions d'a hage.
Lorsque l'appli ation est fon tionnellement orre te, analysez le omportement ex utif du systme :
paralllisme de traitement, points de syn hronisation par rapport aux donnes et dduisez-en les m a-
nismes possibles d'a lration si l'appli ation tait porte en matrielle.
Quelle est la dure du temps d'ex ution simule ? A quel niveau d'abstra tion de la mthodologie TLM
orrespond notre implmentation ?
Que faut-il ajouter pour que le modle devienne Timed ?

2.3 Modle de Kahn [4 heures

Le modle de Kahn est une reprsentation de traitement matrielles ommuniquant travers des
FIFOs de taille innie omme le prsente la gure 2.
Nous allons utiliser ette reprsentation pour modliser au niveau systme une implantation matrielle
du ode logi iel pr dent.
A partir des reexions de la se tion pr dente, tablissez un s hma pr is du systme matriel a lrant
le al ul. Quelle type de FIFO faut-il utiliser pour la ommuni ation (bloquant ou non, taille des donnes
hanges ...)
Travail raliser :
1. riture d'un anal hirar hique de modlisation de la FIFO dnie,
2. riture de 3 s _modules pour les 3 traitements (ave modi ation du mode de ommuni ation),
3. dans un premier temps les donnes seront sto kes dans un tableau temporaire,
4. dans un deuxime temps les traitements devront se faire en parallle la r upration des donnes
suivantes.
Prenez le temps de bien omprendre e que vous faites et de onstruire itrativement des modules propres
et omments.

Input Gradients Surech

Fig. 2  Modles de Kahn de l'appli ation

2.4 Modle d'OS [4 heures

Le dernier modle n'est rien d'autre que le modle mmoire partage ou nous allons expli iter le
servi e de gestion des t hes de l'OS en droutant les appels systmes ( SystemC). De ette manire,
la plateforme logi ielle devient de moins en moins virtuelle jusqu' aboutir son modle omplet.
Travail ralise :
1. ration d'un module OS ayant les servi es suivants non-en ore implmentes :
 Cration de t he,

3
 ordonnan ement des t hes (non-premptibles),
 syn hronisation par droutage de l'appel wait() ;
2. implmentation des servi es de l'OS,
3. liens ave les fon tions de l'appli ation.

2.5 Optionnel : Modle mixte

Cette dernire tape onsiste umuler les deux derniers modles ar hite turaux en ajoutant un
servi e de ommuni ation l'OS permettant de faire passer les donnes des pro essus logi iels aux
omposants matriels. Il est possible de multiplier les tapes de gradients et de sur hantillonnage pour
augmenter le nombre de traitements.

You might also like