-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2009-2010/ALSOC 2 Print page

 

 

 

Communication avec des périphériques déportés dans le cas du prototypage sur FPGA de l'architecture de processeur multi-core TSAR

CONTEXTE

Ce stage s’inscrit dans le cadre du projet Européen TSAR (Tera-Scale ARchitecture) dont les principaux partenaires industriels sont BULL (coordinateur), Thales et Philips. Ce projet vise la définition et l’implémentation d’une architecture de processeur multi-core utilisable dans des ordinateurs de type PC, c’est à dire une architecture matérielle supportant la mémoire virtuelle, et fournissant un mécanisme de cohérence des caches garantie par le matériel. Cette architecture supporte des systèmes d’exploitation généraliste de type UNIX ou LINUX. Son originalité est d’utiliser un grand nombre de « petits » cœurs de processeurs RISC 32 bits, plutôt que quelques gros processeurs, pour minimiser la consommation énergétique. L’architecture doit donc être réellement scalable (pour atteindre 4096 processeurs sur une seule puce), tout en fournissant une mémoire partagée cohérente. 

Dans le cadre de ce projet, le laboratoire LIP6 est chargé – en coopération avec BULL- de la définition du système mémoire. Une première version de cette architecture, comportant 16 cœurs de processeurs a été modélisée en langage SystemC, en utilisant la plate-forme de prototypage virtuel SOCLIB, et différentes  applications logicielles ont pu être déployées et exécutées (en simulation) sur ce prototype virtuel.

Comme indiqué sur le schéma ci-dessus, l’architecture TSAR est découpée en « clusters ». Chaque cluster est un sous-système contenant plusieurs processeurs (avec leurs caches L1 de premier niveau), un cache mémoire de 2e niveau, un bus local et un contrôleur d’accès au micro-réseau. Les sous-systèmes communiquent entre eux à travers un micro-réseau (Network on Chip) intégré sur puce. En cas de MISS, tous les processeurs peuvent accéder – à travers le micro-réseau - à tous les caches de 2e niveau. La mémoire est donc logiquement partagée (espace d’adressage unique), mais physiquement distribuée.

TRAVAIL PROPOSE

Des modèles VHDL synthétisables existent pour tous les composants matériels de cette architecture, et deux prototypes matériels sont en cours de synthèse sur circuit FPGA. Le premier contiendra 4 cœurs de processeur (un seul cluster). Le second contiendra 16 cœurs de processeur (4 clusters).

Dans le cas du prototype virtuel (modèle de simulation SystemC), il est assez facile d’émuler les périphériques d’entrée sortie (terminal écran/clavier, contrôleur de disque, terminal graphique), en utilisant les périphériques de la station de travail sur laquelle s’exécute la simulation.

Si on veut faire la même chose dans le cas du prototypage matériel sur FPGA, il faut définir un moyen de communication entre la carte FPGA et la station de travail, dont on veut utiliser les périphériques.

Le sujet du stage porte donc sur la définition et sur l’implantation d’un mécanisme – matériel et logiciel – permettant de déporter les périphériques de l’architecture TSAR sur une station de travail de type PC Linux. L’idée générale est de faire co-opérer un prototype matériel s’exécutant sur le FPGA (le processeur multi-cores), et un prototype virtuel s’exécutant sur le PC Linux (le sous-système d’entrées/sortie). Pour la communication physique entre le PC hôte et la carte FPGA, on utilisera vraisemblablement dans un premier temps une liaison série UART et dans un deuxième temps une connexion USB.

Dans l’architecture matérielle finale, les communications entre le processeur multi-core et les périphériques utilisent le protocole de communication VCI. Il faudra  donc définir deux composants : du coté du prototype matériel (c’est à dire du côté FPGA) le modèle VHDL  du bridge permettant de  convertir les transactions VCI vers le port série  du FPGA ; du côté du prototype virtuel (c’est à dire du coté PC) le modèle de simulation SystemC du bridgesymètrique permettant de convertir le le protocole VCI vers le port série du PC.

ENCADREMENT :

Ce stage sera encadré par le Professeur Alain Greiner : Alain.Greiner@lip6.fr

REMUNERATION

 

Ce stage sera rémunéré pendant toute la durée du stage.

 

LIP6 LIP6-SoC LIP6 CNRS UPMC