thesis

Modélisation de processeurs et de systèmes

Defense date:

Jan. 1, 2004

Edit

Institution:

Paris 11

Disciplines:

Directors:

Abstract EN:

The development of a new microarchitectural simulator is painstaking and time-consuming because of a long modeling, debugging and validation process. Existing processor simulators are slightly modular, and their modeling level of detail is limited. Because of the increasing modeling complexity of architectures, these simulators are no more appropriate and practical solutions for simulation. SystemC is rapidly gaining wide acceptance as a modular simulation framework for modeling systems on chip. We propose a design methodology for building instruction set emulators and microarchitectural simulators in SystemC. This methodology defines one interface and a communication protocol between the simulation components. Our methodology was applied to build a generic superscalar processor simulator (OoOSysC), and allowed to build a library of modular simulation components (MicroLib). The migration to modular simulation environments induced a simulation speed-down. We propose a new fast SystemC simulation engine, called FastSysC, which in our experiments, can speed-up cycle-level simulators of 2. 13 to 3. 56 over SystemC 2. 0. 1. We also present DiST, a practical distributed simulation scheme where, unlike other simulation techniques that trade accuracy for speed, the user is relieved from most accuracy issues. DiST obtains an average speed-up of 7. 35 on 10 machines with an average IPC error of 1. 81%.

Abstract FR:

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%.