Projets d’Architecture des Ordinateurs

Plusieurs projets sont proposés ci-dessous mais vous avez la possibilité de proposer votre propre sujet; il suffit de demander l'accord du chargé de cours. Tous les projets ci-dessous peuvent être réalisés en binôme; cela est même recommandé pour certains des sujets.


Visualisation de la simulation d'un processeur complexe

La complexité des processeurs actuels rend leur conception de plus en plus difficile. La plupart des architectes utilisent des simulateurs de processeurs, précis au niveau cycle, mais comprendre le comportement d'une instruction, lors de son exécution dans le processeur, est de plus en plus difficile en raison du nombre de composants et de leurs interactions. Dans ce but, quelques équipes de recherche travaillent sur des simulateurs différents, modulaires, permettant de faciliter la conception et de mieux isoler le comportement individuel des composants. Dans le cadre du projet UNISIM de simulation modulaire, nous envisageons de développer une interface graphique afin d'améliorer encore la tâche de l'architecte. Chaque module peut etre modifié pour indiquer au format XML les évènements se produisant cycle à cycle. Il faut maintenant envisager une façon de visualiser ces évènements au cours du temps.

Travail demandé:

Le but du travail est de concevoir un prototype d'interface graphique permettant de visualiser le déroulement de l'exécution d'une instruction au sein du processeur; cette interface pourra être complétée par un chronogramme des évènements d'une exécution. Si le travail conduit à une interface raisonnablement aboutie, elle sera diffusée en open-source dans le cadre du projet UNISIM. Ce travail pourra éventuellement être prolongé dans le cadre d'un stage.

Visulation de l'exécution parallèle d'un progamme

A terme, la plupart des processeurs seront multi-coeurs. Dans les prochaines années, on escompte des processeurs comportant des dizaines, voir des centaines de coeurs. A ce degré de parallélisme, il devient difficile d'appréhender le comportement du programme sur l'architecture. Des outils de visualisation de l'exécution d'un programme permettraient de faciliter la tache de conception d'un programme.

Travail demandé:

Dans le cadre du projet, on propose de se concentrer sur une application donnée (de segmentation d'images), et d'en visualiser le comportement sur un processeur virtuel comportant un très grand nombre de coeurs. Le programme a été parallélisé en utilisant une méthode dynamique de partitionnement des taches au cours de l'exécution (voir