• Aucun résultat trouvé

CHAPITRE 8 EXPLORATION ARCHITECTURALE

8.2 Probl`emes d’exploration architecturale

Les probl`emes d’exploration architecturale ´etudi´es dans ce chapitre ont tous la mˆeme forme g´en´erale. On a un ensemble de m´etriques qui permettent d’´evaluer et de comparer entre elles les architectures possibles d’une sp´ecification donn´ee sur une plate-forme donn´ee et on cherche l’architecture qui minimise une m´etrique donn´ee tout en respectant les contraintes

sur chacune des autres m´etriques. Formellement, soit une sp´ecification s ∈ S, un ensemble de plates-formes P⊆ P , une plate-forme p ∈ P′, une fonction de d´efinition d’espace de recherche f ∶ S × P→ ℘(A), un ensemble de m´etriques M1, M2, . . . , Mn ∶ A → R et un ensemble de

contraintes k1, k2, . . . kn−1, alors l’exploration architecturale consiste `a trouver l’architecture

a ∈ f (s, p) telle que :

(i) Mj(a) ≤ kj, ∀1 ≤ j ≤ n − 1 (respect des contraintes) ;

(ii) Mn(a) ≤ Mn(b), ∀b ∈ f (s, p) (solution optimale).

Cette formulation suppose que d’optimiser une m´etrique implique de la minimiser. Cela se fait sans perte de g´en´eralit´e, car si une m´etrique M doit ˆetre maximis´ee, il suffit alors de minimiser la m´etrique −M telle que (−M)(a) = −(M(a)) pour tout a. De la mˆeme mani`ere, si on ne cherche pas une solution optimale, mais seulement `a v´erifier l’existence d’une solution qui r´epond `a un ensemble de contraintes, il suffit de d´efinir la m´etrique 0 telle que 0(a) = 0 pour tout a et de la d´efinir comme la m´etrique `a optimiser.

`

A partir de cette d´efinition g´en´erale, on d´efinit les probl`emes d’exploration architecturale qui sont ´etudi´es dans ce chapitre et qui utilisent les m´etriques pr´esent´ees au chapitre 7. Probl`eme 8.1 (´Etude de faisabilit´e). Soit une sp´ecification s ∈ S, un ensemble de plates- formes P

⊆ P , une plate-forme p ∈ P

, une fonction de d´efinition d’espace de recherche f ∶ S × P

→ ℘(A), la m´etrique du nombre de violations V , un nombre maximal de violations Vmax, la m´etrique du temps d’ex´ecution T , un temps d’ex´ecution maximal TMAX et, pour

chaque ressource mat´erielle j, une m´etrique de quantit´e Rj et une quantit´e maximale Rj,MAX.

D´eterminer si il existe une architecture a ∈ f (s, p) telle que : (i) V (a) ≤ VM AX (contrainte sur le nombre de violations) ;

(ii) T (a) ≤ TMAX (contrainte sur le temps d’ex´ecution) ;

(iii) Rj(a) ≤ Rj,MAX, ∀j (contrainte sur la quantit´e de ressources).

Comme son nom l’indique, le probl`eme 8.1 est une ´etude de faisabilit´e qui consiste `a d´eterminer s’il est possible d’impl´ementer une sp´ecification donn´ee sur une plate-forme donn´ee selon des contraintes de validit´e fonctionnelle, de quantit´e de ressources mat´erielles et de performance. Tel que d´ecrit ci-haut, il est trivial d’exprimer cette ´etude de faisabilit´e comme un probl`eme d’optimisation qui minimise la m´etrique 0.

Probl`eme 8.2 (Maximisation de la performance). Soit une sp´ecification s ∈ S, un ensemble de plates-formes P⊆ P , une plate-forme p ∈ P′, une fonction de d´efinition d’espace de recherche f ∶ S × P→ ℘(A), la m´etrique du nombre de violations V , un nombre maximal de violations Vmax, la m´etrique du temps d’ex´ecution T et, pour chaque ressource mat´erielle

j, une m´etrique de quantit´e Rj et une quantit´e maximale Rj,M AX. Trouver une architecture

(i) V (a) ≤ VM AX (contrainte sur le nombre de violations) ;

(ii) Rj(a) ≤ Rj,MAX, ∀j (contrainte sur la quantit´e de ressources) ;

(iii) T (a) ≤ T (b), ∀b ∈ f (s, p) (minimisation du temps d’ex´ecution).

Le probl`eme 8.2 ressemble au probl`eme 8.1, avec la diff´erence qu’on cherche maintenant `a maximiser la performance du syst`eme (donc `a minimiser son temps d’ex´ecution) tout en respectant des contraintes de validit´e fonctionnelle et de quantit´e de ressources mat´erielles.

Un autre probl`eme est la minimisation de la quantit´e des ressources mat´erielles. Ce pro- bl`eme peut ˆetre formul´e directement selon la d´efinition g´en´erale s’il y a un seul type de ressource mat´erielle `a minimiser, tel que le nombre de portes logiques dans le cas d’un ASIC. Cependant, la situation se complique dans le cas d’un FPGA, o`u il y a plusieurs types de ressources mat´erielles (des LUTs, des bascules, des m´emoires, etc.) dont on pourrait vouloir minimiser la quantit´e. On pourrait d´efinir, pour chaque ressource mat´erielle, un probl`eme diff´erent visant `a minimiser la quantit´e de celle-ci. En pratique, il est souvent possible de substituer un type de ressources mat´erielles par un autre type (par exemple un ensemble de bascules et une m´emoire RAM, ou un ensemble de LUTs et un bloc DSP d´edi´e) et il serait donc pr´ef´erable de minimiser la quantit´e de toutes les ressources mat´erielles plutˆot que seulement celle d’un seul type.

L’approche retenue consiste donc `a combiner lin´eairement les m´etriques associ´ees `a chaque ressource mat´erielle en une seule m´etrique de quantit´e de ressources mat´erielles, qui sera minimis´ee. Ainsi, pour chaque ressource mat´erielle j, soit un coefficient αj et une m´etrique

de quantit´e de ressources mat´erielles Rj ∶ A → R, alors la m´etrique combin´ee de quantit´e de

ressources de mat´erielle R ∶ A → R est d´efinie telle que R(a) = ∑ αjRj(a) pour tout a. Il est

alors possible de d´efinir le probl`eme de minimisation de la quantit´e des ressources mat´erielles selon la d´efinition g´en´erale du probl`eme d’exploration architecturale.

Probl`eme 8.3 (Minimisation de la quantit´e des ressources mat´erielles). Soit une sp´ecification s ∈ S, un ensemble de plates-formes P

⊆ P , une plate-forme p ∈ P

, une fonction de d´efinition d’espace de recherche f ∶ S × P→ ℘(A), la m´etrique du nombre de violations V , un nombre maximal de violations Vmax, la m´etrique du temps d’ex´ecution T , un temps d’ex´ecution

maximal TMAX et une m´etrique combin´ee de quantit´e de ressources mat´erielles R. Trouver

une architecture a ∈ f (s, p) telle que :

(i) V (a) ≤ VM AX (contrainte sur le nombre de violations) ;

(ii) T (a) ≤ TMAX (contrainte sur le temps d’ex´ecution) ;

(iii) R(a) ≤ R(b), ∀b ∈ f (s, p) (minimisation de la quantit´e de ressources mat´erielles). On peut se demander comment choisir les coefficients αj pour obtenir la m´etrique combi-

plus il y a une grande quantit´e disponible, moins le coefficient associ´e `a cette ressource de- vrait ˆetre grand et vice-versa. Si la plate-forme cibl´ee est un mod`ele de FPGA en particulier, alors la quantit´e disponible pour chaque type de ressource mat´erielle est connue et, pour une ressource mat´erielle j, on peut d´efinir cette quantit´e disponible comme ´etant Rj,M AX. Dans

ce chapitre, nous utilisons des coefficients αj = 1/Rj,M AX, ∀j.