Etude du parallélisme monolithique : cas du multiflot simultané
Auteur / Autrice : | Sébastien Hily |
Direction : | André Seznec |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1997 |
Etablissement(s) : | Université de Rennes 1 |
Mots clés
Mots clés contrôlés
Résumé
Plusieurs dizaines de millions de transistors peuvent d'ores et deja etre integrees sur un unique circuit. Parallelement, les frequences d'horloges internes des microprocesseurs augmentent rapidement. Le fosse entre horloge interne (sur le circuit integre) et horloge systeme (sur la carte) ne cesse de s'accroitre rendant de plus en plus enorme le temps d'acces relatif de la memoire principale du processeur. Pour exploiter ces donnees technologiques, plusieurs formes de parallelisme d'execution devront etre mises en uvre sur le circuit integre lui-meme. Parmi les techniques mariant a la fois le parallelisme d'instructions et le parallelisme de flots, le multiflot simultane (smt) constitue l'une des plus prometteuses. Un microprocesseur smt permet l'execution simultanee de plusieurs flots d'instructions dans un pipeline superscalaire partage. Le materiel mis en uvre dans l'architecture est ainsi utilise au maximum. L'execution simultanee de plusieurs flots implique cependant de nouvelles contraintes au niveau des mecanismes architecturaux qu'il est important d'etudier. Les travaux presentes dans cette these nous ont permis de montrer que les tables de prediction de branchements peuvent etre partagees par les differents flots, que la charge de travail soit constituee d'applications independantes ou d'une unique application parallele. La presence d'une pile d'adresses de retour par flots permet cependant d'ameliorer largement la validite des predictions. La hierarchie memoire est apparue comme un mecanisme beaucoup plus critique. Ce sont les parametres de la hierarchie memoire qui en effet vont fixer le degre multiflot maximal qu'il est raisonnable de mettre en uvre. Pour obtenir les meilleures performances, il est notamment indispensable de disposer de caches de premier niveau associatifs, avec des blocs de petites tailles. Cependant, la contention sur le cache de second niveau devrait limiter l'efficacite du multiflot a quelques flots. Nous montrons enfin qu'avec seulement 4 flots, une architecture offrant le multiflot simultane peut se contenter d'une execution des instructions dans l'ordre. Le gain en performance apporte par le lancement des instructions dans le desordre est en effet trop faible pour justifier une mis en uvre de mecanismes materiels complexes