\documentclass[11pt,a4paper]{article}

\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{aeguill}
\usepackage{verbatim}
\usepackage{algorithm,algorithmic}
\usepackage{xmpmulti}
\usepackage{graphicx}
\usepackage{color}

\definecolor{gris25}{gray}{0.75}
\definecolor{gris75}{gray}{0.30}


\begin{document}

\section {IRISA-WP}

\subsection{Work Package 1 : Un compilateur reciblable pour MIPS étendu}

Délivrable : software
 
Implémentation d'un back-end de compilation ciblant une version étendue du processeurs MIPS, et
opérant à partir de la représentation intermédiaire commune définie en \ref{?} et issue de GCC. 
Ce \emph{back-end} intègrera en particulier des passes d'extraction de motifs de calculs
(sous-graphes), ainsi une passe de sélection d'intructions basée sur des techniques de couvertures 
de graphes, permettant d'exploiter au mieux les motifs d'instruction ``spécialisés'' spécifiés 
par l'utilisateur et/ou extraits à partir de l'application.
\textcolor{gris75}{Ici, il faut voir sir la RI prposée ne permettrait pas de regénérer un code 
C dans lequel l'utilisation d'instruction spécialisée se fait au travers de directives de type
\texttt{asm\{ \ldots \}} . une telle approche offrirait une flexibilité accrue, sans 
impacter la qualité/performance des résultats obtenus.}

\subsection{Work Package 2 : Définition d'un modèle simplifié de micro-architecture MIPS extensible}

Délivrable : software

Définition d'un modèle extensible de micro-architecture basée sur un processeur de type MIPS
pipeliné à 5 étage (incluant cache de données et instruction), offrant à l'utilisateur 
la possibilité de définir ses propres extensions architecturales, au travers d'un Domain
Specific Language (on exploitera les technologies d'IDM XText-EMF). 

On mettra également en {\oe}uvre un outil de génératiion de description matérielle synthétisable
(VHDL) de la micro-architecture à partir de ce modèle, en utilisant des techonologies d'Ingénierie 
dirigée par les modèles (EMF-XPAND)
 
Deux version de cet outil sont envisagées, dans la première (qui est l'object de ce WP), on
restreindra les possibilités de communication entre le processeur et ses extension à des communictaion passant par la file de
regsitre du processeur (en permettant éventuellement un plus grand nombre d'accès en
lecture.écriture par cycle).

\subsection{Work Package 3 : Définition d'un modèle complexe de micro-architecture MIPS extensible}

Délivrable : rapport/software ?

Dans la seconde version (plus orientée exploratoire) on souhaite pouvoir lever la limitaion portant
sur les communications  et permettre un couplage plus fin entre les extensions et le coeur de la
micro-rachgitcture, par exemple, en proposant un accès direct au cache de données et/ou en donnant
la possibiliteé aux extensions de réutiliser les opérateurs (par exemple le multiplieur
$32 \times 32$ \, bits) mis en oeuvre dans le chemin de donnée natif du processeur.

Ici on pourrait également envisager des connections directes avec d'autres composants au travers de
structures similaire aux \emph{FSL} disponibles sur les processeurs softcore Microblaze de la
société Xilinx.

\subsection{Work Package 4 : Définition d'un modèle complexe de micro-architecture MIPS extensible}

Délivrable : rapport 

Le dernier \emph{package} a également un caractère exploratoire, et portera sur l'intégration de ce
type d'extension architecturales au sein d'un compilateur. En particulier, il s'agira d'étudier
comment il est possible d'intégrer ces instructions complexes dans la passe de selection de code,
tout en s'assurant que leur contraintes d'utilisation soient respectées.


\end{document}
