Next: Remerciements Up: Etude des Architectures des Previous: Support de mesures

Conclusion

Les trois microprocesseurs étudiés assurent une compatibilité binaire avec les générations précédentes (R3000, R4000 et R8000 pour le MIPS R10000 ; SuperSPARC pour l'UltraSPARC ; 80x86 et Pentium pour le PentiumPro). Malgré cela, des différences notables entre ces trois microprocesseurs et les générations précédentes sont à noter.

Ainsi, les pipelines des trois microprocesseurs étudiés sont plus profonds que ceux de la génération précédente, même si le pipeline du MIPS R10000 (sept étages) et celui de l'UltraSPARC (neuf étages) restent relativement proches des cinq étages classiques d'un microprocesseur RISC. L'évolution des technologies a permis aux trois microprocesseurs d'utiliser des fréquences de fonctionnement très élevées (200 MHz, 167 MHz et 200 MHz respectivement pour les microprocesseurs MIPS R10000, UltraSPARC et PentiumPro). De plus, la forte intégration a permis aux constructeurs d'augmenter non seulement le nombre d'unités fonctionnelles et le nombre de transistors de la logique de contrôle, mais aussi, la taille des différents organes de mémorisation (les caches primaires, le nombre de registres physiques, etc...).

Contrairement à son prédécesseur le MIPS R8000, le MIPS R10000 est intégré sur un seul composant. L'architecture est découplée et est construite autour de trois files d'attente et de cinq unités fonctionnelles indépendantes. Cette mise en oeuvre permet de lancer et d'exécuter plusieurs instructions dans le désordre. Ce microprocesseur superscalaire utilise de nombreux mécanismes permettant d'anticiper l'exécution du code (table de prédiction, exécution spéculative des instructions...).

Comme son prédécesseur (SuperSPARC), l'UltraSPARC utilise une architecture synchrone qui lance les instructions dans l'ordre. Par contre, le nombre d'instructions pouvant être exécutées en même temps est passé de trois à quatre instructions. L'UltraSPARC est le premier microprocesseur it Sun à mettre en oeuvre la norme SPARC V9 et donc à implémenter un jeu d'instructions 64 bits. Il inclut de plus, le jeu d'instructions it Visual Instruction Set dédié aux opérations graphiques, ainsi que deux unités fonctionnelles spécifiques pour traiter ces instructions. Cette particularité rend l'UltraSPARC très attrayant dans les domaines des applications graphiques et des applications audio et vidéo. Pour simplifier la logique de contrôle, les pipelines entiers et les pipelines flottants sont synchronisés et utilisent le même nombre d'étages. On notera le passage de la gestion de la mémoire virtuelle partagée du matériel au logiciel entre la norme SPARC V8 et la norme SPARC V9.

L'architecture interne du PentiumPro a considérablement changé par rapport à celle du Pentium. Le PentiumPro est en fait un microprocesseur superscalaire RISC dans un emballage CISC. Le PentiumPro est un microprocesseur à architecture 32 bits. Il devrait être le dernier microprocesseur xxx86 à supporter un tel espace d'adressage. Le PentiumPro intègre au sein d'un même boîtier le microprocesseur lui-même et un cache secondaire fonctionnant à la fréquence du microprocesseur. Ceci simplifie la mise en oeuvre du PentiumPro pour les intégrateurs et limite aussi le nombre de broches du boîtier. Cette technique devrait trouver de nombreux adeptes chez les fabricants de microprocesseurs.

Le jeu d'instructions CISC du PentiumPro a été contourné par la micro-architecture interne du microprocesseur. Si, au niveau des performances sur les codes entiers, le PentiumPro fait aujourd'hui jeu égal avec les microprocesseurs RISC les plus performants (DEC 21164, MIPS R10000), son jeu d'instructions ne lui permet pas d'espérer atteindre le même niveau de performance sur les codes flottants (trop peu de registres disponibles pour le compilateur). Par ailleurs, le <<coût>> du jeu d'instructions xxx86 est énorme, pour implémenter des microprocesseurs superscalaires exécutant les instructions dans le désordre et ayant à peu près le même nombre d'unités fonctionnelles. it MIPS et it Intel utilisent respectivement 2,3 et 4,4 millions de transistors de logique. Seule l'emprise totale du jeu d'instructions xxx86 sur le marché permet d'amortir ce coût.

Même si les microprocesseurs de cette génération ont des architectures différentes, ils utilisent tous des techniques très similaires pour améliorer les performances. Ainsi, le chargement des instructions est découplé de leur exécution sur les trois microprocesseurs. Les trois microprocesseurs utilisent des mécanismes de prédiction de branchement de manière à réduire l'impact des ruptures de pipeline sur les performances, et des caches primaires non-bloquants. Tous trois fonctionnent avec un cache secondaire obligatoire dont le débit potentiel est très important (un mot par cycle processeur).

On notera enfin que ces trois microprocesseurs ont été conçus pour faciliter l'intégration de petits multiprocesseurs.



Next: Remerciements Up: Etude des Architectures des Previous: Support de mesures


flloansi@IRISA.irisa.fr
Tue Jun 4 09:57:56 MET DST 1996