1 | %============================================================================== |
---|
2 | \section{Contexte et Sujet} |
---|
3 | %============================================================================== |
---|
4 | |
---|
5 | \begin{frame} \FT{Contexte} |
---|
6 | \BI |
---|
7 | \o La simulation de processeurs a acquis une importance capitale pour le |
---|
8 | développement de compilateurs et d'applications, pour bon nombre de raisons : |
---|
9 | \BI |
---|
10 | \o Il n'est pas nécessaire d'avoir à sa disposition le micro-processeur |
---|
11 | \o Elle permet un diagnostic spécifique à un processeur des performances |
---|
12 | d'un programme |
---|
13 | \EI |
---|
14 | \o Les simulateurs les plus répandus prennent en considération des détails |
---|
15 | très nombreux des processeurs, il en découle des simulations très lentes, |
---|
16 | voire inutilisables pour simuler des architectures multic\oe ur. |
---|
17 | \EI |
---|
18 | \end{frame} %------------------------------------------------------------------- |
---|
19 | \begin{frame} \FT{Description détaillée} |
---|
20 | \BI |
---|
21 | \o On cherche à simuler le comportement d'un programme en se focalisant sur |
---|
22 | l'aspect mémoire : |
---|
23 | \BI |
---|
24 | \o La hierarchie de cache |
---|
25 | \o La communication entre les cache |
---|
26 | \o La gestion de la cohérence entre les caches partagés |
---|
27 | \o La simulation des délais de traitement |
---|
28 | \EI |
---|
29 | \o L'objectif est donc d'obtenir des estimations suivantes : |
---|
30 | \BI |
---|
31 | \o le nombre de hit/miss |
---|
32 | \o comptabiliser ces hit/miss pour chaque c\oe ur et pour chaque cache, |
---|
33 | \EI |
---|
34 | \EI |
---|
35 | \end{frame} |
---|
36 | |
---|
37 | \begin{frame} \FT{État de l'art} |
---|
38 | \BI |
---|
39 | \o Il existe quelques simulateurs, qui sont, pour la plupart orientés vers |
---|
40 | une simulation complète et précise, il en résulte qu'ils sont toujours |
---|
41 | relativement lents : |
---|
42 | \BI |
---|
43 | \o SimpleScalar, qui est inutilisable (sans extension) pour simuler |
---|
44 | des systèmes multi-processeurs ou multic\oe urs. |
---|
45 | \o Unisim, qui est beaucoup plus modulaire, mais qui procure un |
---|
46 | framework assez important, dont il aurait fallu extraire la |
---|
47 | simple modélisation de cache. |
---|
48 | \o Simics, semble offrir des avantages considérables sur les autres, |
---|
49 | notemment quant à sa vitesse d'exécution, mais c'est un logiciel |
---|
50 | propriétaire que nous n'avons pas testé |
---|
51 | \EI |
---|
52 | \EI |
---|
53 | |
---|
54 | \end{frame} %------------------------------------------------------------------- |
---|