Modélisation de processeurs et de systèmes
Auteur / Autrice : | Gilles Mouchard |
Direction : | Olivier Temam |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2004 |
Etablissement(s) : | Paris 11 |
Partenaire(s) de recherche : | Autre partenaire : Université de Paris-Sud. Faculté des sciences d'Orsay (Essonne) |
Mots clés
Mots clés libres
Résumé
Le développement d'un nouveau simulateur de micro-architecture est un investissement conséquent en temps à cause d'un long processus de modélisation, de débogage et de validation. Les simulateurs existants de processeur sont faiblement modulaires, et leur finesse de modélisation limitée. A cause de la complexité croissante des architectures à modéliser, ces simulateurs sont des solutions de moins en moins adaptées et pratiques pour la simulation. SystemC s'impose de plus en plus largement en tant qu'environnement de simulation modulaire pour les systèmes sur puce. Nous proposons une méthodologie de conception d'émulateurs du jeu d'instructions et de simulateurs de microarchitectures en SystemC. Cette méthodologie définit une interface et un protocole de communication entre les composants de simulation. La méthodologie a été appliquée à la conception d'un simulateur de processeur superscalaire générique (OoOSysC), et a permis de mettre en place une librairie de composants de simulation modulaires (MicroLib). Le passage aux environnements de simulation modulaires induit un ralentissement de la simulation par rapport aux simulateurs existants. Nous proposons un nouveau moteur de simulation rapide SystemC, appelé FastSysC, qui dans nos expériences, peut accélérer les simulations au niveau cycle d'un facteur 2,13 à 3,56 par rapport à SystemC 2. 0. 1. Nous proposons également DiST, une méthode de distribution de la simulation où, à la différence d'autres qui sacrifient la précision au profit de la vitesse, l'utilisateur est délesté de la plupart des problèmes de précision. DiST obtient une accélération moyenne de 7,35 pour 10 machines avec une erreur moyenne sur l'IPC de 1,81%.