%============================================================================== \section{Contexte et Sujet} %============================================================================== \begin{frame} \FT{Contexte} \BI \o La simulation de processeurs a acquis une importance capitale pour le développement de compilateurs et d'applications, pour bon nombre de raisons : \BI \o Il n'est pas nécessaire d'avoir à sa disposition le micro-processeur \o Elle permet un diagnostic spécifique à un processeur des performances d'un programme \EI \o Les simulateurs les plus répandus prennent en considération des détails très nombreux des processeurs, il en découle des simulations très lentes, voire inutilisables pour simuler des architectures multicoeur. \EI \end{frame} %------------------------------------------------------------------- \begin{frame} \FT{Description détaillée} \BI \o On cherche à simuler le comportement d'un programme en se focalisant sur l'aspect mémoire : \BI \o La hierarchie de cache \o La communication entre les cache \o La simulation des délais de traitement \EI \o L'objectif est donc d'obtenir des estimations suivantes : \BI \o le nombre de hit/miss \o comptabiliser ces hit/miss en tant que principaux délais induits dans la simulation \EI \EI \end{frame} \begin{frame} \FT{État de l'art} \BI \o Il existe quelques simulateurs, qui sont, pour la plupart orientés vers une simulation complète et précise, il en résulte qu'ils sont toujours relativement lents : \BI \o SimpleScalar, qui est inutilisable (sans extension), pour simuler des systèmes multi-processeurs ou multicoeurs. \o Unisim, qui est beaucoup plus modulaire, mais qui procure un framework assez important, dont il aurait fallu extraire la simple modélisation de cache. \o Simics, semble offrir des avantages considérables sur les autres, notemment quant à sa vitesse d'exécution, mais c'est un logiciel propriétaire \EI \EI \end{frame} %-------------------------------------------------------------------