Successfully reported this slideshow.

Chapitre i architectures des processeurs récents

2,605 views

Published on

Published in: Education
  • Be the first to comment

Chapitre i architectures des processeurs récents

  1. 1. Université Saad Dahlab de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatiques (GSI) Semestre 4 (2ème année) ARCHITECTURE DES ORDINATEURS 2 S. AROUSSI Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  2. 2. PRÉAMBULE  Pré-requis: Cours (Archi1, S3).  UEF: ARchitecture et VLSI (ARVL)  Volume horaire hebdomadaire: 3H Cours + 1H30 TD  Évaluation: Continu + Examen.  Coefficient 1, Crédit 5 2
  3. 3. CONTENU DE LA MATIÈRE I. Architectures des Processeurs récents II. Mémoires III. Entrées/Sorties et Interruptions 3
  4. 4. CHAPITRE I: ARCHITECTURES DES PROCESSEURS RÉCENTS
  5. 5. PLAN DU CHAPITRE I  Introduction  Fréquence  CISC  versus RISC Pipeline  Super Scalaire  Hyper Threading  Multi Cœurs  Multi Processeurs 5
  6. 6. INTRODUCTION  Recherche permanente de l'augmentation des performances des processeurs: Évolution des architectures  Points principaux de cette évolution  Fréquence de fonctionnement  Jeu d'instructions  Mémoire cache  Parallélisation et optimisation des séquences d'instructions (Pipeline, Superscalaires)  Chaque point influence en bien ou en mal un autre: Recherche du meilleur compromis 6
  7. 7. FRÉQUENCE  Exprimé en Herts (Hz), la fréquence du processeur désigne le nombre d’opérations effectuées en une seconde par le processeur. Une horloge lui définit sa cadence.  Idée: Augmenter la fréquence du fonctionnement (plus d'instructions exécutées en moins de temps)  Problèmes technologiques et physiques:  Temps de propagation des signaux électriques  Dégagement de chaleur 7
  8. 8. FRÉQUENCE  Solutions aux problèmes technologiques et physiques:  Diminuer la finesse de gravure    Conducteurs plus courts, propagation plus rapide Diminue le dégagement de chaleur Chercher d'autres technologies de réalisation de transistors et des conducteurs  Les processeurs actuels ont une fréquence d’horloge autour de 3 GHz (3 milliards d’opérations à la seconde) avec une finesse de gravure de l’ordre de 20 nanomètres. 8
  9. 9. CISC VERSUS RISC  Les processeurs se répartissent en deux grandes catégories:  Processeurs à jeu d'instruction étendu ou CISC (Complex Instruction Set Computing)  Processeurs à jeu d'instructions réduit ou RISC (Reduced Instruction Set Computing) 9
  10. 10. ARCHITECTURE CISC  Le processeur CISC possède un jeu étendu d’instructions complexes et puissantes.  Le processeur CISC réduit le nombre d'instructions écrites dans un programme et facile ainsi sa compilation.  Une instruction CISC peut effectuer plusieurs opérations élémentaires (Chargement, Rangement, Arithmétique, ….).  Exemple (Assembleur 8086): ADD [200h], 125  Charger la valeur du mot mémoire 200h  Faire l’addition ([200h]+125)  Ranger le résultat dans le mot mémoire 200h 10
  11. 11. ARCHITECTURE CISC  Plusieurs étapes d’exécution (1 à plus de 100 cycles) sont nécessaires pur exécuter une instruction CISC.  Exemple (Processeur 8088): l’instruction MUL nécessite 133 cycles pour multiplier deux entiers de 16 bits alors que l’instruction MOV nécessite 2 cycles.  La longueur des instructions CISC sont variables (1 à 10 octets), ce qui ralentit le processus de décodage.  Plus de modes d’adressage mémoire, dont certains complexes. 11
  12. 12. ARCHITECTURE RISC  Lorsque le jeu programmeurs d’instructions. ou Ils d’instructions est compilateurs se contentent complexe, n’utilisent souvent la pas d’un plupart tout nombre le des jeu réduit d’instructions:  80 % des programmes n’utilisent que 20 % du jeu d’instructions.  Les instructions les plus utilisées sont les instructions de chargement et de rangement  L’apparition de l’architecture RISC vint de la volonté de favoriser au maximum les instructions simples qui constituent la grande partie des programmes. L’idée est de supprimer les instructions complexes et les modes d’adressage élaborés afin d’augmenter la fréquence 12 d’horloge et d’augmenter ainsi la vitesse d’exécution de toutes les instructions.
  13. 13. ARCHITECTURE RISC  La philosophie essentielle des processeurs RISC est d’avoir un nombre important de registres. Des instructions de chargement et de rangement avec quelques modes d’adressage sont les seules à faire les échanges avec la mémoire. Toutes les autres instructions travaillent uniquement avec les registres. 13
  14. 14. ARCHITECTURE RISC  Les principales caractéristiques des processeurs RISC sont les suivantes:  Codage uniforme des instructions. Toutes les instructions sont codées avec un même nombre de bits. Le code d’opération se trouve à la même position pour toutes les instructions. Ceci facilite le décodage des instructions.  Registres indifférenciés et nombreux. Tous les registres peuvent être utilisés dans tous les contextes. Il n’y a par exemple pas de registre spécifique pour la pile. Les processeurs 14 séparent cependant les registres pour les valeurs flottantes des autres registres.
  15. 15. ARCHITECTURE RISC  Les principales caractéristiques des processeurs RISC sont les suivantes.  Limitation des accès mémoire. Les seules instructions ayant accès à la mémoire sont les instructions de chargement et de rangement. Toutes les autres instructions opèrent sur les registres. Il en résulte une utilisation intensive des registres.  Nombre réduit de modes d’adressage. Il n’y pas de mode d’adressage complexe. Les modes d’adressages possibles sont généralement immédiat, direct, indirect et relatifs.  Nombre réduit de types de données. Les seuls types de données supportés sont les entiers de différentes tailles (8, 16, 32 et 64 bits) et des nombres flottants en simple et double précision. Certains processeurs CISC comportent des instructions pour le traitement des chaînes 15 de caractères, des polynômes ou des complexes
  16. 16. EXEMPLE D’INSTRUCTIONS RISC 16
  17. 17. EXEMPLE D’INSTRUCTIONS RISC  Ecrire le programme suivant en utilisant le jeu d’instructions CISC (par exemple INTEL 8086) et RISC. 17
  18. 18. EXEMPLE D’INSTRUCTIONS RISC 18
  19. 19. CISC VERSUS RISC CISC RISC Complex Instruction Set Computing Reduced Instruction Set Computing Instructions complexes prenant plusieurs cycles Instructions simples ne prenant qu’un seul cycle Format variable Format fixe Décodage complexe et lent Décodage simple et rapide Peu de registres Beaucoup de registres Toutes les instructions sont susceptibles d’accèder à la Mémoire Seules les instructions de chargement et de rangement ont accès à la mémoire Beaucoup de mode d’adressage Peu de mode d’adressage Plus d'instructions disponibles : programmation plus simple et souple Peu d’instructions disponibles: programmation difficile Compilateur simple Compilateur complexe 19
  20. 20. CISC VERSUS RISC  L'architecture RISC a montré qu'elle était plus performante  Tous les processeurs fonctionnent en RISC de nos jours  Pour un processeur avec un jeu d'instruction CISC: Traduction interne des instructions CISC en microopérations de type RISC 20
  21. 21. PIPELINE  Machine sans pipeline  Processeur conventionnel: exécute les instructions une à la fois.  En générale, l‘exécution d’une instruction est décomposée en phases:  Recherche: Lire l'instruction en mémoire.  Décodage: Déterminer l'opération à réaliser;  Exécution: Effectuer l'opération.  L’enchaînement des phases est cadencé par les tops d'horloge. 21
  22. 22. PIPELINE Machine sans pipeline Inst. 2 3 4 Inst. 1 5 Inst. 2 3 4 Inst. 1 5 Inst. 2 3 4 Inst. 1 5 Etape 1 Etape 2 Etape 3 2 1 Nombre de cycles: 11 3 7 13 6 9 5 8 15 16 10 12 14 4 Nombre d’instructions terminées: 1 0 4 3 2 5 22
  23. 23. PIPELINE Machine avec pipeline 5 4 Inst. 2 3 1 5 4 Inst. 2 3 1 5 4 Inst. 2 3 1 Etage 1 Etage 2 Etage 3 8 7 2 1 4 Nombre de cycles: 6 3 5 Nombre d’instructions terminées: 5 0 1 2 4 3 23
  24. 24. PIPELINE  Inspiration du Pipeline:  Inspiré des chaînes industrielles d’assemblage (ex: chaîne d’assemblage d’automobiles);  Dans une chaîne d'assemblage d'automobiles, il y a beaucoup d'étapes;  Chaque étape contribue à une partie de la construction de l'automobile;  Chaque étape opère en parallèle avec les autres étapes, mais sur une autre voiture. 24
  25. 25. PIPELINE  Historique du Pipeline:  Terme introduit au début des années 80;  Mise en œuvre pour l’amélioration des performances.  Premier processeur avec la technique pipeline: INTEL 8086.  Basé sur le fait qu'un processeur peut exécuter plus d'une seule instruction à la fois si les instructions sont divisés en étapes;  Premiers processeurs divisaient les instructions 25en respectant les 3 étapes d’exécution;
  26. 26. PIPELINE  Principe du Pipeline:  Le pipeline est divisé en étages (soit n: le nombre de ces étages);  Chaque étage correspond à une étape d’exécution;  Les instructions rentrent à une extrémité, progressent à travers les étages et sortent à l'autre extrémité. Ainsi, plusieurs instructions peuvent se recouvrir durant l'exécution.  Une instruction est terminée à chaque cycle, au lieu d'une 26 instruction tous les n cycles.
  27. 27. PIPELINE  Pipeline RISC (basique):  Etapes d’exécution d’une instruction RISC sont: 1. Recherche de l'instruction; 2. Décodage de l'instruction; 3. Recherche des opérandes; 4. Exécution de l’instruction; 5. Sauvegarde des résultats. 27
  28. 28. PIPELINE  Pipeline RISC (basique):  Exécution à 5 phases  5 étages dans le pipeline : programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 Inst n° 4 Inst n° 5 2 3 4 5 6 7 8 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 9 S5 28
  29. 29. PIPELINE  Pipeline RISC (basique):  Pour 5 instructions, réduit le temps d'exécution de 25 unités de temps à 9 unités de temps.  Supposition : chaque instruction traverse les 5 étages;  Ce n’est pas toujours le cas; par exemple: chargement en mode immédiat ne nécessite pas d'étage de recherche de l'opérande en mémoire (Ox).  Pour simplifier le hardware du pipeline, le temps est calculé en supposant que chaque instruction nécessite les cinq étages. 29
  30. 30. PIPELINE  Exécution dans le pipeline: passe par trois phases 1. Amorçage du pipeline; 2. Exécution normale; 3. Vidage du pipeline. programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 Inst n° 4 Inst n° 5 2 3 4 5 6 7 8 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 9 S5  Pendant les deux dernières phases, une instruction 30 se termine à chaque cycle d’horloge
  31. 31. PIPELINE  Déséquilibre entre les étages:  Les étages n’ont pas les mêmes temps de traitement; Il est nécessaire donc d’utiliser des buffers (files d’attentes) entre les étages.  Exemple: Si Temps d'exécution > Temps de recherche  L'étage de recherche devra attendre avant de vider son (3) UAL (4) Buffer (2) RO Buffer (1) DI Buffer RI Buffer buffer; SR 31 (5)
  32. 32. PIPELINE  Déséquilibre entre les étages:  Temps de passage d’un étage à l’autre pour une instruction est appelé cycle machine.  Cycle machine inclut le temps de traitement de l’étage + temps de traversée des buffers  L’étage le plus lent détermine la longueur d'un cycle (3) UAL (4) Buffer (2) RO Buffer (1) DI Buffer RI Buffer machine SR 32 (5)
  33. 33. PIPELINE  Aléas du pipeline:  Le bon fonctionnement du pipeline peut être perturbé par plusieurs événements appelés aléas (pipeline hazard en anglais). Ces événements sont classés en trois catégories. 1. aléas structurels qui surviennent lorsque deux instructions dans des étages différents du pipeline nécessitent la même ressource. 2. aléas de données qui surviennent lorsqu’une instruction nécessite une donnée qui n’a pas encore été calculée par une instruction précédente. Ceci provient du fait que les instructions lisent leurs arguments dans les premiers étages du pipeline alors qu’elles produisent leur résultat dans les derniers étages. 33
  34. 34. PIPELINE  Aléas du pipeline:  Le bon fonctionnement du pipeline peut être perturbé par plusieurs événements appelés aléas (pipeline hazard en anglais). Ces événements sont classés en trois catégories. 1. aléas structurels 2. aléas de données 3. aléas de contrôle qui surviennent dès qu’une instruction de branchement est exécutée. Si le branchement est effectué, les instructions qui suivent dans le pipeline ne doivent pas être exécutée. Ceci provient du fait que la nouvelle adresse est calculée 34 alors que les instructions qui suivent ont déjà été chargées.
  35. 35. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Exemple : la machine a une seule mémoire pour les données et les instructions, alors que deux étages du pipeline veulent faire des opération simultanées (I3 et O1 par exemple). programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 Inst n° 3 2 3 4 5 6 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 7 S3 35
  36. 36. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Solutions: 1. Suspendre (ou bloquer) une des instructions jusqu'à ce que l'unité demandée soit disponible. On voit alors apparaître des bulles dans le pipeline. 2. Multiplier les ressources; par exemple, séparer entre mémoire d’instruction et mémoire de programme. 36
  37. 37. PIPELINE  Aléas Structurels: interviennent lors de conflits de ressources:  Solution 1: Suspendre (bloquer) une des instructions jusqu'à ce que l'unité demandée soit disponible. programme Cycles d’Horloge 1 Inst n° 1 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 BULLE I3 D3 O3 Inst n° 2 Inst n° 3 6 7 8 E3 S3  Problème: l'introduction de suspensions dégrade les performances. 37
  38. 38. PIPELINE  Aléas de Données:  Interviennent lorsque deux instructions sont liées par des dépendances de données: Une instruction a besoin du résultat d'une instruction précédente;  Considérons ce code: c=b+a e=c+d  En langage d’assembleur: Inst1: add R4 , R3, R2 Inst2: add R6, R4 , R5 38  Dépendance: Inst 2 a besoin du résultat dans le registre R4
  39. 39. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Exemple: Inst1: add R4 , R3, R2 Inst2: add programme R6, R4 , R5 Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 O2 E2 R4 6 est écrit 7 R4 doit être lu mais n'est pas encore écrit S2 39
  40. 40. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solutions: 1. Suspendre une des instructions jusqu'à ce que la donné soit disponible (calculé). 2. Envoyer au plus tôt la donnée (lorsqu’elle soit disponible) au pipeline. 3. Réordonnancer (changer l'ordre de) l'exécution des instructions pour éviter ou réduire le problème 40
  41. 41. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 1: Suspendre une des instructions jusqu'à ce que la donné soit disponible (calculé). Inst1: add R4 , R3, R2 Inst2: add R6, R4 , R5 programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 Bulle 6 O2 7 E2 8 S2 41
  42. 42. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 2: Envoyer au plus tôt la donnée (lorsqu’elle soit calculé) au pipeline. Inst1: add R4 , R3, R2 Inst2: add programme R6, R4 , R5 Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 S1 I2 D2 Bulle O2 6 E2 7 S2 42
  43. 43. PIPELINE  Aléas de Données: interviennent lorsque deux instructions sont liées par des dépendances de données.  Solution 3: Réordonnancer l'exécution des instructions. Inst1: add Inst2: add Inst3: mul Inst4: div Inst1: add Inst3: mul Inst4: div Inst2: add R4, R3, R2 R6, R4, R5 R7, R8, R9 R1, R8, R3 R4, R3, R2 R7, R8, R9 R1, R8, R3 R6, R4, R5 43
  44. 44. PIPELINE  Aléas de Contrôle: interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Fonctionnement du saut conditionnel  En fonction du résultat du test, le contenu de CO est modifié avec l'adresse de la prochaine instruction  Phase Ex : exécution de la comparaison par l'UAL  Phase Sx : écriture de CO en fonction du résultat du test  Problème: On doit connaître la valeur du test de valeur de 44 R1 pour savoir quelle est l'instruction suivante à exécuter
  45. 45. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Solutions: 1. Attendre que le bon CO soit connu : peu efficace 2. Réordonnancer le code : pas toujours suffisant et possible 3. Prédire quelle sera la valeur de R1 et commencer le calcul suivant selon cette prédiction 45
  46. 46. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Exemple: Si (R1 > 30) alors R3  10 + R1 Sinon R3  20 + R1  Solution avec attente: programme Cycles d’Horloge 1 Inst n° 1 Inst n° 2 2 3 4 5 I1 D1 O1 E1 CO 6 est7écrit S1 Bulles I2 D2 O2 E2 S2 Lecture du CO 46  Attendre le Sx précédent avant de faire le Ix : on passe en exécution purement séquentielle !
  47. 47. PIPELINE  Aléas de Contrôle: interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédictions:  A l'aide de tables statistiques dynamiques, le résultat d'un test est prédit. On commence ensuite l'instruction suivante prédite.  Problème si prédiction erronée  On a commencé des calculs inutiles  Vidage du pipeline pour reprendre dans un état correct  Très couteux en temps  Très pénalisant pour des pipelines profonds 47
  48. 48. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédiction: 1 Inst 1 Branchement à l’instruction 15 Inst 2 Inst 3 Inst 4 Inst 5 Inst 6 Inst 7 Inst 8 2 3 4 5 6 7 8 9 10 11 12 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 I3 D3 O3 E3 S3 I4 D4 O4 E4 S4 I5 D5 O5 E5 S5 I6 D6 O6 E6 S6 I7 D7 O7 E7 S7 I8 D8 O8 E8 S8 48
  49. 49. PIPELINE  Aléas de Contrôle: Interviennent lorsque qu’une instruction de branchement est exécutée.  Solution avec prédiction: 1 Inst 1 Inst 2 2 3 4 5 6 7 8 9 10 11 12 I1 D1 O1 E1 S1 I2 D2 O2 E2 S2 Inst 3 I3 D3 O3 E3 S3 Inst 4 I4 D4 O4 E4 Inst 5 I5 D5 O5 Inst 6 I6 D6 Inst 7 I7 Inst 15 Nettoyage du pipeline I15 D15 O15 E15 S15 49
  50. 50. PIPELINE  Aléas de Contrôle: Solution avec prédiction: 1 2 3 4 5 6 7 8 9 10 11 12 13 I Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 D Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 O Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 E Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 Branchement non pris S Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst8 Inst9 1 2 3 4 5 6 7 8 9 10 11 12 13 I Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst7 Inst15 Inst16 D O Inst1 Inst2 Inst3 Inst4 Inst5 Inst6 Inst1 Inst2 Inst3 Inst4 Inst5 E S Inst1 Inst2 Inst1 Inst3 Inst2 Inst4 Inst3 IInst15 IInst16 IInst15 IInst16 IInst15 IInst16 IInst15 IInst16 Branchement pris 50 Nettoyage du pipeline
  51. 51. SUPER-SCALAIRE  Cette approche consiste à ajouter des unités (unités de calculs, de commandes, ….) ou même un pipeline complet.  FPU (Floating Point Unit): Unité de calcul en virgule flottante  ALU (Arithmetic Logic Unit): Unité Arithmétique et Logique 51
  52. 52. SUPER-SCALAIRE  Cette approche consiste à ajouter des unités (unités de calculs, de commandes, ….) ou même un pipeline complet. 52
  53. 53. SUPER-SCALAIRE  Intérêt: Cette approche permet l'exécution complète ou partielle de plusieurs instructions en parallèle.  Problèmes:  Nécessite plus de synchronisation entre les unités et les pipelines  Les unités dupliquées ne sont pas toujours en pleine utilisation 53  Coût important en terme de transistors et de place
  54. 54. HYPER-THREADING  Un programme peut être découpé en plusieurs sousprogrammes indépendants, appelé threads, qu'on peut faire exécuter en parallèle.  Hyper-Threading, ou HT, est l’implémentation par l'entreprise Intel de la technique SMT (Simultaneous Multi Threading) à deux voies qui permet le partage des ressources entre deux threads. 54
  55. 55. MULTITHREADING VS HYPER-THREADING 55
  56. 56. HYPER-THREADING  Schématiquement, l’Hyper-Threading consiste à créer deux processeurs logiques au sein d'un processeur physique.  Un processeur logique est doté de ses propres registres de données, de contrôle et d’état, et d’un contrôleur d’interruptions particulier.  Les deux processeurs logiques partagent les éléments du cœur de processeur (unités de traitement), le cache (mémoire) et le bus système. Ainsi, ces deux sous- processus peuvent être traités simultanément par 56 le même processeur.
  57. 57. HYPER-THREADING  Néanmoins, seul un processeur super scalaire, doté d’une grande puissance de calcul, peut réellement effectuer un multi-threading.  Le premier processeur super scalaire capable d’exécuter plusieurs instructions simultanément a été le Pentium 4 cadencé à 3,6 GHz. 57
  58. 58. MULTI-CŒUR  Un processeur est appelé multi-core ou multi-cœur quand il est doté d’un microprocesseur qui intègre au moins deux CPU (Central Processing Unit) ou cores indépendants dans une seule puce.  Le CPU constitue en effet le seul élément capable d’exécuter un programme ou processus. Il comporte des unités de calcul, des mémoires caches, des registres, des ordonnanceurs ainsi que tous les autres circuits électroniques qui lui permettent d’effectuer des opérations arithmétiques et logiques. 58
  59. 59. MULTI-CŒUR VS HYPER-THREADING 59
  60. 60. MULTI-CŒUR VS HYPER-THREADING  La technologie multi-cœur est assez similaire à la technologie hyper-threading qui consiste en l’exécution en parallèle des instructions élémentaires de deux threads différents.  La nouveauté réside dans le fait qu’il existe plusieurs cores qui fonctionnent chacun en hyper-threading.  Le but du processeur multi-cœur est donc d’augmenter le nombre d’opérations élémentaires exécutées simultanément en un cycle d’horloge. Cette technique a aussi l’avantage de réduire les réchauffements du CPU. 60
  61. 61. MULTIPROCESSEURS  Un ordinateur multiprocesseur est doté de plusieurs processeurs, permettant un parallélisme de tâches, où un processus peut être exécuté sur chaque processeur.  La différence entre le multiprocesseur et le multi-cœur tient au fait qu'il ne s'agit plus d'une division du nombre d'unités de calcul mais d'une multiplication de celles existantes. Ainsi, cette technologie permet une plus grande puissance (vitesse) de calcul. 61
  62. 62. MULTIPROCESSEURS 62
  63. 63. 63
  64. 64. MULTIPROCESSEURS  Grace à sa haute performance, l’architecture multiprocesseur, est utilisée pour construire ou fabriquer des supercalculateurs ou superordinateurs.  Les supercalculateurs sont déployés pour toutes les tâches qui nécessitent une très forte puissance de calcul comme les prévisions météorologiques, la modélisation moléculaire (calcul des structures et propriétés de composés chimiques…), les simulations physiques (simulations aérodynamiques, calculs de résistance des matériaux, simulation d’explosion d’arme nucléaire, étude de la fusion nucléaire…), la cryptanalyse, les simulations en finance et assurance (Calcul stochastique), etc. 64
  65. 65. SOURCES DE CE COURS  M. Koudil, Cours Approches de conception des systèmes, Partie 2: Accélération des calculs, Ecole nationale Supérieure d’Informatique (ESI), 2004.  E. Cariou, Fonctionnement et performance des processeurs, Université de Pau et des Pays de l'Adour, Disponible sur web.univ-pau.fr/~ecariou/cours/archi/cours-7-cpu.pdf‎  Theoris, Architecture Matérielle des Ordinateurs, Quatrième Partie : Architectures évoluée, 2004, disponible sur repo.mynooblife.org/Materiel/archi%20materielle%20-%20part4.pdf‎.  P. Michaud, Architecture des processeurs généralistes haute performance, disponible sur www.lirmm.fr/archi07/archi07-michaud.pdf‎  Ivan Boule, Rappels Architecture des Ordinateurs, 2008, disponible sur deptinfo.cnam.fr/new/spip.php?pdoc7559  G. Grave, Multicoeurs, Hyperthreading, GPGPU : les Architectures modernes, 2012. 65

×