1 / 44

Objectifs

Unité 10: Superordinateurs et microprocesseurs. Objectifs

oni
Télécharger la présentation

Objectifs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unité 10: Superordinateurs et microprocesseurs • Objectifs • À la fin de cette unité, vous aurez un aperçu des nouvelles techno-logies utilisées pour améliorer la performance des ordinateurs, du microprocesseur au superordinateur. Vous saurez ce qu'est un processeur RISC et comment le pipeline et la mémoire cache sont utilisés pour en augmenter la performance. • Pour y parvenir, vous devrez maîtriser les objectifs suivants : • - décrire les principes de l’architecture RISC ; • - décrire le fonctionnement d’un pipeline ; • - décrire les modèles de machine parallèle SIMD et MIMD. 311

  2. Unité 10: Superordinateurs et microprocesseurs • 9.1 Introduction • La performance des ordinateurs modernes couvre la gamme de celle des superordinateurs tels que le Cray à celle des micro-ordinateurs personnels à base de microprocesseurs. Le plus puissant des Cray actuels, le Cray T3E-1200, possède de 6 à 2048 proces-seurs, jusqu’à 2 Go de mémoire centrale par proces-seur (RAM statique!), et est capa-ble d’atteindre 2458 milliards d’opérations de virgule flottante (Gigaflops) à la seconde. La bande passante mémoire est de l’ordre de 700 Go / s. Les processeurs sont des Alpha 21164A de DEC. 312

  3. Unité 10: Superordinateurs et microprocesseurs • 9.1 Introduction • Ces performances sont nécessaires dans des disciplines ayant des problèmes nécessitant d’énormes quantités d’opérations arithmétiques, par exemple : • la météorologie, • la dynamique des fluides, • l’aérodynamique, • l’analyse des structures, • la micro-électronique, • la physique des particules, • la chimie et la biologie moléculaire, • les mathématiques appliquées, • la simulation numérique de systèmes, 313

  4. Unité 10: Superordinateurs et microprocesseurs • 9.1 Introduction • Le traitement d’images (en particulier, les images 3D), • la reconnaissance des formes, etc. • On résout ces problèmes d’abord en augmentant la vitesse du proces-seur, puis en mettant plusieurs processeurs en parallèle. 314

  5. Unité 10: Superordinateurs et microprocesseurs • 9.1 Introduction • 9.1.1 Accroissement de la puissance des ordinateurs • Une des limites à la vitesse des processeurs est le temps de propagation des signaux. • Distance parcourue Vitesse • en 1 ns en km / s • Lumière dans le vide 30 cm 300 000 • Signal électrique dans un 1 µm à 1 cm 1 à 100 000 • Semiconducteur • On a donc intérêt à réduire les dimensions physiques des processeurs. 315

  6. Unité 10: Superordinateurs et microprocesseurs • 9.1 Introduction • Une façon de contourner ce problème est d’introduire du parallélisme : • pipelines, unités d’exécution multiples, processeurs auxiliaires spéciali-sés : accélérateurs graphiques, transformée de Fourier rapide, etc. • Dans le cas de problèmes numériques, les machines vectorielles s’avèrent souvent une bonne solution. Ces machines effectuent simultanément la même instruction sur des données différentes au moyen d’UAL multiples. 316

  7. Unité 10: Superordinateurs et microprocesseurs • 9.1.2 Technologie et performance • Loi d’Amdahl • On peut définir le «speed-up» comme le rapport entre les temps d’exécution avant et après l’amélioration apportée au matériel. • Comme certains dispositifs ne sont pas nécessairement utilisés à chaque instruction du programme, le gain obtenu par une performance accrue, sur une partie de programme, diminue au fur et à mesure qu’on ajoute des améliorations. • Par exemple, un additionneur dix fois plus rapide ne produira pas un speed-up de 10 et une machine avec 1000 processeurs n’exécutera pas chaque travail 1000 fois plus vite. 317

  8. Unité 10: Superordinateurs et microprocesseurs • 9.1.2 Technologie et performance • Loi d’Amdahl • Le temps d’exécution après une amélioration d’un aspect d’une machine est donné par : • Exemple : Supposons que le temps d’exécution d’un certain programme soit 100 sec et que les multiplications représentent 80 sec de ce temps. Quel sera le temps d’exécution après avoir apporté une amélioration de 5 dans la vitesse de multiplication ? • Donc une amélioration globale de 2,77 seulement. 318

  9. Unité 10: Superordinateurs et microprocesseurs • 9.1.2 Technologie et performance • Loi d’Amdahl • On ne peut donc pas s’attendre à ce qu’une amélioration d’un aspect d’une machine apporte une amélioration proportionnelle au facteur d’amélioration. • Unités de traitement • Les technologies ULSI (Ultra Large Scale Integration) et WSI (Wafer Scale Integration), • les fréquences d’horloge ≥ 1 GHz, • la technologie RISC, • permettent aujourd’hui d’atteindre un cycle machine inférieur à 1 ns, donc plus de 1000 MIPS. 319

  10. Unité 10: Superordinateurs et microprocesseurs • Mémoires • La capacité des DRAM augmente d’un facteur 4 tous les 3 ans. • La capacité des disques durs double tous les trois ans. Avec les nouvelles têtes magnéto-résistives qui survolent la surface du disque à 0,01 microns, on s’attend à ce que l’augmentation annuelle de la densité passe de 30 à 60%. • Communications • Communications par câble, par satellite, etc. Transmission par fibre optique. Communications par infra-rouge. • Parallélisme à tous les niveaux. • Parallélisme des actions et des opérations à tous les niveaux de traitement, de stockage et de transmission des opérations. 320

  11. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • L’évaluation de la performance de traitement d’un ordinateur n’est pas simple. • Pour le processeur lui-même, on utilise comme unité de mesure les MIPS (Millions of Intructions Per Second) ou les MFLOPS (Millions of FLoating-point Operations Per Second). • Toutefois, ces unités de performance sont des indicateurs peu fiables car leur valeur varie selon l’architecture du processeur (RISC ou CISC) et son jeu d’instructions. • De la même façon, les MFLOPS peuvent induire en erreur. Par exemple, la division prend plus de temps que l’addition mais les deux sont considérées de la même façon dans le calcul de la performance. 321

  12. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • L’évaluation de la performance fait intervenir plusieurs facteurs : la vitesse du traitement proprement dit, la réponse des différents étages de la mémoire (caches), et la vitesse des entrées / sorties. Des programmes de test, appelés benchmarks, permettent d’évaluer les performances des ordinateurs, mais peu d’entre eux sont réellement utilisés de façon standard étant donné la difficulté de couvrir avec quelques tests une vaste gamme d’architectures, de machines et de problèmes à traiter. • Un certain nombre de constructeurs se sont groupés pour former un groupe appelé SPEC (System Performance Evaluation Cooperative) qui a pour but de définir des mesures standards communes. SPEC a défini une dizaine de programmes de test. On les exécute sur une machine à évaluer, puis on compare le temps d’exécution avec un temps de référence. 322

  13. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • On calcule un SPECratio pour chaque programme et on fait la moyenne de tous les programmes du test pour obtenir la valeur finale en SPECmarks. Il y a deux classements. Les SPECint, pour mesurer la performance lors de calculs sur des entiers, et les SPECfp pour mesurer la performance en virgule flottante. La dernière mise à jour de ces tests remonte à 1995, de sorte qu’on parle présentement de SPECint95 et de SPECfp95. • Il existe beaucoup d’autres benchmarks, par exemple, les Dhrystones, les Whetstones, les tests Linpack et les Livermore Loops. • On évalue avec ces tests que la croissance de la performance des microprocesseurs est de 40 % par an. 323

  14. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • Par exemple, un Pentium III à 733 MHz obtient 35,7 SPECint95 et 28,1 SPECfp95, tandis qu’un PowerPC 7400 (G4) à 450 MHz obtient 21,4 SPECint95 et 20,4 SPECfp95. Si on normalise à la fréquence de l’horloge, on peut comparer les deux processeurs et observer que le Pentium III est légèrement plus rapide pour les entiers, mais moins rapide pour la virgule flottante. 324

  15. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • La technologie actuelle fait des gains de 30 à 40 % par année, mais on approche de plus en plus des limites physiques, et les investissements nécessaires pour progresser deviennent de plus en plus prohibi-tifs. • Progression estimée de la largeur du trait et de la capacité de mémoire correspondante : • Année 1996 1999 2002 2005 2008 • Largeur trait en µm 0,35 0,25 0,18 0,13 0,1 • Capacité puce 64 256 1024 4096 16392 • DRAM en Mbits 325

  16. Unité 10: Superordinateurs et microprocesseurs • 9.1.3 Évaluation de la performance • On se rend donc compte qu’on a exploité les progrès « faciles» et que les prochains seront plus ardus. • C’est sans doute du côté de l’architecture qu’on pourra gagner des facteurs 100 ou 1000 sur les performances actuelles. • On peut construire aujourd’hui des machines parallèles perfor-mantes et fiables. Malheureusement, le logiciel avance beaucoup moins rapidement que le matériel et on sait mal exploiter ce parallélisme. • On remarque toutefois qu’on a de plus tendance à construire des superordinateurs à partir d’un grand nombre de microprocesseurs standards. 326

  17. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • Le premier superordinateur fut le Cray-1, monoprocesseur de 10 MIPS et 160 MFLOP) réalisé en 1976 par Seymour Cray (un Pentium III à 500 MHz fait environ 500 Mflops). • Dans les années 80, on retrouve le Cray-XMP et le Cray-2 avec de 1 à 4 processeurs de 450 Mflops chacun. Par la suite, le Cray-YMP et le Cray-3 font leur apparition, ainsi que la série SX de NEC, et d’autres machines par Hitachi, Fujitsu, IBM et bien d’autres. Toutes possédent de nombreux processeurs. • Le projet ASCI (Advanced Super Computing Initiative) d’Intel a amené en 1996 la construction d’une machine parallèle contenant plus de 7000 Pentium Pro interconnectés. Elle a atteint 1 Tflops (1012 opérations de virgule flottante par sec). 327

  18. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • Un autre exemple est le Cray-T3D, qui avait entre 32 et 2 048 processeurs Alpha 21064 de DEC, qui étaient des microprocesseurs RISC de 64 bits avec une fréquence d’horloge de 200 MHz. • La mémoire vive totale était de 0,5 à 128 Go et la performance de 4,8 à 307 Gflops. 328

  19. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.1 Architecture des superordinateurs • Les superordinateurs SIMD (Single Instruction stream Multiple Data streams) opérent sur des vecteurs de données. Ces machines possèdent un mélange d’instructions SISD (Single Instruction stream Single Data stream) et d’instructions SIMD. Les instructions SISD, exécutées par un processeur scalaire, effectuent les opérations séquentielles telles que les branchements et les calculs d’adresses. Les instructions SIMD sont envoyées à toutes les unités d’exécution possédant chacune de la mémoire et son propre jeu de registres. • Le SIMD fonctionne à son meilleur quand il a affaire à des tableaux dans des boucles for. Il doit donc y avoir parallélisme au niveau des données. 329

  20. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.1 Architecture des superordinateurs • Une architecture voisine du SIMD est la machine vectorielle. Elle a des instructions de haut niveau qui s’appliquent à des tableaux linéaires de nombres ou vecteurs. Les machines SIMD ont aussi de telles instructions. La différence est que le processeur vectoriel utilise des unités fonctionnelles pipelinées qui opèrent sur quelques éléments d’un vecteur, tandis que le SIMD agit sur tous les éléments à la fois. • Le Cray-J90 et le Cray-T90 sont des machines vectorielles, tandis que le Cray-T3D est une machine SIMD. 330

  21. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.1 Architecture des superordinateurs • Les avantages du traitement vectoriel sur le modèle traditionnel SISD sont les suivants : • 1. Chaque résultat est indépendant des résultats précédents, ce qui permet de longs pipelines et des fréquences d’horloge élevées. • 2. Une instruction vectorielle effectue beaucoup de travail, ce qui implique moins d’instructions en général et moins de branchements, donc moins de branchements mal prédits. • 3. Les instructions vectorielles accèdent à la mémoire par blocs, ce qui permet d’étaler la latence de la mémoire sur plusieurs éléments. • 4. Les instructions vectorielles accèdent à la mémoire selon des patrons connus, ce qui permet à des blocs de mémoire multiples de fournir des opérandes. 331

  22. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.1 Architecture des superordinateurs • Machines MIMD (Multiple Instruction Multiple Data streams). • C’est l’architecture parallèle la plus générale, dans laquelle les proces-seurs sont affectés à des tâches au fur et à mesure des besoins. C’est aussi celle qui présente le plus de problèmes théoriques au plan du logiciel. • Un exemple est le Cosmic cube, à base d’hypercubes (16 processeurs interreliés), construit à Caltech en 1985. • Un autre est la Thinking Machine CM-2 de 1987, qui pouvait avoir jusqu’à 65 536 processeurs de 1 bit avec une horloge de 7 MHz, et 2048 processeurs de virgule flottante. • Aujourd’hui, on ne trouve l’architecture MIMD que sous forme de grappes d’ordinateurs, comme la IBM RS/6000 SP2 avec 256 processeurs. 332

  23. Unité 10: Superordinateurs et microprocesseurs • 9.4 Parallélisme Machines scalaires Machines parallèles SISD SIMD MIMD Mémoire partagée (Multiprocesseur) Mémoire distribuée (Multicomputer) 333

  24. Unité 10: Superordinateurs et microprocesseurs • 9.4 Parallélisme DS PE1 LM1 IS DS CU MU PU DS PE2 LM2 SISD • IS CU • • DS Légende : CU = Control Unit IS = Instruction Stream DS = Data Stream PU = Processing Unit MU = Memory Unit PE = Processing Element LM = Local Memory PEn LMn SIMD 334

  25. Unité 10: Superordinateurs et microprocesseurs • 9.4 Parallélisme IS DS IS DS Réseau d’interconnexion CU1 PE1 CU1 PE1 LM1 DS Mémoire partagée IS DS IS CU2 PE2 CU2 PE2 LM2 • • • • • • DS IS DS IS CUn PEn CUn PEn LMn MIMD à mémoire partagée (Multiprocessor) MIMD à mémoire distribuée (Multicomputer) 335

  26. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Pipelines • Le pipelining consiste à segmenter une opération complexe en une séquence d ’actions plus simples. Chaque action simple est réalisée par un dispositif particulier. Tous les dispositifs peuvent fonctionner simultanément. • On peut segmenter l’exécution d’une instruction comme suit : • Chargement de l’instruction (instruction fetch IF) • Décodage de l’instruction (D) • Chargement des opérandes (operand fetch OF) • Exécution (E) • Écriture du résultat (W) 336

  27. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Pipelines • Sans pipeline • Avec pipeline Instruction 1 Instruction 2 IF1 D1 OF1 E1 W1 IF2 D2 OF2 E2 W2 Instruction 1 IF1 D1 OF1 E1 W1 IF2 D2 OF2 E2 W2 Instruction 2 IF3 D3 OF3 E3 W3 Instruction 3 IF4 D4 OF4 E4 W4 Instruction 4 IF5 D5 OF5 E5 W5 Instruction 5 temps 337

  28. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Pipelines • Problème des branchements • Supposons que l’instruction 1 soit un branchement conditionnel vers l’instruction n. Temps perdu IF1 D1 OF1 E1 W1 IF2 D2 OF2 E2 IF3 D3 OF3 IF4 D4 IF5 IFn Dn OFn En Wn IFn+1 Dn+1 OFn+1 En+1 Wn+1 temps 338

  29. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Pipelines • Avec un pipeline à 5 étages, on a donc accéléré le fonctionnement par un facteur 5! 339

  30. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Processeurs RISC • L’idée de l’architecture RISC (Reduced Instruction Set Computer) est de n’avoir qu’un petit nombre d’instructions simples, qui peuvent être exécutées très rapidement (1 cycle machine). • Cette approche contraste avec les machines CISC (Complex Instruction Set Computer) où le jeu d’instructions est riche et les instructions complexes afin de simplifier la tâche du compilateur. • Le concept RISC était présent dans les premières machines, et Cray l’adopta pour la conception des CDC 6000 et 7000. Il a été mis de côté par l’invasion des machines CISC, mais a repris l’avantage au début des années 80, avec l’IBM 801, le RISC-1 de Berkeley et les machines MIPS de Stanford. 340

  31. Unité 10: Superordinateurs et microprocesseurs • 9.6 RISC, CISC et architectures superscalaires • 9.6.1 RISC • Ce concept est revenu à la mode après qu’on ait eu constaté que dans 80 % des cas, un processeur n’utilise que 20 % de son jeu d’instructions. • Principales caractéristiques : • • Exécution des instructions en un cycle machine • • Format unique des instructions (généralement 32 bits) • • Utilisation intensive des registres (minimisation des accès mémoire) • • Peu de modes d’adressage • • Architecture load / store • • Séquenceur câblé • • Pipeline et architecture superscalaire 341

  32. Unité 10: Superordinateurs et microprocesseurs • 9.6 RISC, CISC et architectures superscalaires • 9.6.4 Exemples de microprocesseurs RISC • RISC-1, Berkeley, 1980 : 31 instructions, 138 registres et un seul mode d’adressage (basé). • RISC-II, 1984, 41 000 transistors. • Principaux fabricants : • MIPS, achetée par SGI • SUN • DEC • IBM • IBM-Motorola-Apple • Hewlett-Packard • Intel 342

  33. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Processeurs superscalaires • Dans un processeur ayant plusieurs unités d’exécution, on peut avoir plusieurs pipelines fonctionnant en parallèle. On donne le nom superscalaire à un processeur capables d’émettre ainsi plus d’une instruction par cycle machine (2 à 5). • Exemples : le PowerPC d’IBM/Motorola/Apple, le R10000 de SGI, l’UltraSparc de SUN, le PA 8000 de HP, le Pentium III d’Intel, le Alpha 21364 de DEC, le RS 6000 d’IBM, et bientôt l’Itanium d’Intel, etc. • Tous sont des processeurs RISC à l’exception du Pentium (du moins vu de l’extérieur). 343

  34. Unité 10: Superordinateurs et microprocesseurs • 9.2 Superordinateurs • 9.2.2 Évolution de l’architecture du CPU • Approche VLIW • L’approche VLIW (Very Long Instruction Word) consiste à placer dans un mot de taille assez grande (> 100 bits) plusieurs instructions prêtes à être exécutées en parallèle par des unités fonctionnelles multiples indépendantes. Un exemple de proces-seur de ce type est le i860 d’Intel (mots de 128 bits) • Le parallélisme est ici géré par le compilateur et non par le processeur. • On trouvera une extrapolation de ce concept dans le Itanium d’Intel, qui utilise la technologie EPIC (Explicitly Parallel Instruction Computer). Des mots de 128 bits contiennent 3 instructions de 40 bits + des prédicats indiquant lesquelles peuvent être exécutées en parallèle. 344

  35. Unité 10: Superordinateurs et microprocesseurs • 9.5 Microprocesseurs • 9.5.1 Microprocesseur et micro-ordinateur • Microprocesseur = circuit intégré réalisant une unité de traitement complète • Micro-ordinateur = microprocesseur + mémoire + entrées / sorties + périphériques • 9.5.2 Évolution des microprocesseurs • 1971 Intel 4004, 4 bits • 1972 Intel 4008, 8 bits • 1975 Intel 8008 Motorola M6800, 8 bit • 1978 Intel 8088 et 8086, 8 / 16 bits • 1979 Motorola MC68000, 16 bits • 1982 Motorola MC68010, 32 bits 345

  36. Unité 10: Superordinateurs et microprocesseurs • 9.5 Microprocesseurs • 9.5.2 Évolution des microprocesseurs • 1984 Motorola MC68020, 32 bits • 1985 Intel 80386 • 1987 Motorola MC68030, 32 bits + mémoire virtuelle • 1989 Intel 80486 • 1990 Motorola MC68040, 32 bits + coprocesseur • 1993 Intel Pentium • 1995 Intel Pentium Pro, 32 bits + cache L2 • 1996 Intel Pentium MMX • 1997 Intel Pentium II, 32 bits + cache L2 • 1999 Intel Pentium III, ajout du SIMD 346

  37. Unité 10: Superordinateurs et microprocesseurs • 9.6 RISC, CISC et architectures superscalaires • 9.6.5 Importance du logiciel • Optimisation du code par les compilateurs : • • Allocation optimale des registres pour minimiser les accès à la mémoire • • Élimination des redondances • • Optimisation des boucles • • Remplacement d’opérations lentes par des opérations rapides • • Optimisation des pipelines 347

  38. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.4 Exemple d’architecture RISC superscalaire : le PowerPC 7400 (G4) d’IBM-Motorola-Apple • Horloge : 400 MHz, 450 MHz, 500 MHz • Instructions par horloge : 3 (2+branch) • Cache L1 : 32 Ko inst • 32 Ko data • Cache L2 : 512 Ko, 1 Mo, ou 2 Mo • Transistors : 6,5 million • SPECint95 : 21,4 @ 450 MHz • SPECfp95 : 20,4 @ 450 MHz • MIPS 825 MIPS @ 450 MHz • Unités d’exécution : Integer (2) • Virgule flottante • Vecteur • Branchement • Load / Store 348

  39. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.4 Exemple d’architecture RISC superscalaire : le PowerPC 7400 (G4) d’IBM-Motorola-Apple • Registres : 32 registres d’entiers de 32 bits • 32 registres de virgule flottante de 64 bits • 32 registres de vecteurs de 128 bits. 349

  40. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • PowerPC 7400 Unité de complétion Unité de branchement Unité de dispatch Unité d’entiers Registres d’entiers Unité de VF Registres de VF Unité vectorielle Registres de vecteurs Unité load / store I MMU D MMU Cache de données Cache d’instructions Tags L2 Unité d’interface de bus Port de cache L2 de 64 bits Adresses 32 bits Données 64 bits FSRAM Bus 60xMPS 350

  41. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.5 Exemple de compromis RISC-CISC-superscalaire :le Pentium III • Horloge : 450 à 733 MHz • Instructions par horloge : 3 • Cache L1 : 16 Ko inst • 16 Ko data • Cache L2 : 256K avec ECC ou 512 Ko • SPECint95 : 35,7 @ 733 MHz • SPECfp95 : 28,1 @ 733 MHz • Unités d’exécution : Integer (2) • Virgule flottante • MMX • Registres : 8 registres d’entiers de 32 bits • 8 registres de SIMD/MMX/virgule flottante de 128/80/64 bits 351

  42. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.5 Exemple de compromis RISC-CISC-superscalaire : le Pentium III Bus système Cache L2 Bus de cache Unité d'interface de bus Cache d'ins- Cache de données L1 tructions L1 Fetch Load Store Unité de Unité de Unité de sortie Registres de recherche et dispatch des instructions l'architecture décodage des et exécution complétées Intel instructions Pool d'ins- tructions 352

  43. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.6 Le Itanium d’Intel. • Horloge : ? • Transistors : 15 M • Unités d’exécution : 4 unités d’entier + 4 unités MMX • 2 unités de virgule flottante • 2 unités Load / Store • Registres : 128 registres d’entiers (64 bits) • 128 registres de virgule flottante (82 bits) • 128 registres d’application (64 bits) • 64 registres de prédicats • Trois niveaux de cache, L1, L2 et L3 • Pipeline de 10 stages • ALAT (Advanced Load Address Table) de 32 entrées 353

  44. Unité 10: Superordinateurs et microprocesseurs • 9.8 Nouvelles architectures • 9.8.6 Le Itanium d’Intel. Cache d'instructions L1 ITLB et moteur fetch / prefetch Décodage et contrôle IA-32 Prédiction des branchements File d'ins- tructions M M F F I B B B I Register stack engine / remapping Registres de Cache L2 Cache L3 branchement Scoreboard et de prédicat 128 registres d'entiers 128 registres de VF Unités Unités de branchement Cache d'entiers de Unités et MM données de L1 et virgule DTLB flottante Contrôleur de bus 354

More Related