La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles.

Présentations similaires


Présentation au sujet: "INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles."— Transcription de la présentation:

1 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles pour améliorer la performance d’un processeur à usage général

2 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

3 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pourquoi parler d’amélioration de performance des processeurs à usage général en INF8505?  Pour pouvoir configurer un processeur (paramètres, extensions, outils), il est utile de bien connaître les différentes approches de réalisation d’un jeu d’instruction (la microarchitecture).  Les différentes techniques d’amélioration de performance de processeurs à usage général peuvent nous inspirer dans notre tâche. 3

4 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Amélioration des performances des processeurs Intel W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006 Microarchitecture Réalisation Techniques vues aujourd’hui

5 Jeu d’instructions vs microarchitecture vs réalisation … ?  Architecture du jeu d’instructions (Instruction Set Architecture – ISA)  Le contrat avec le programmeur et le compilateur.  Définit l’apparence fonctionnelle du processeur  Opérations, types de données, modes d’adressage, registres visibles, etc.  Implémentation ou microarchitecture  Point de vue du concepteur du processeur  Circuits logiques qui implémentent l’architecture  Pipelines, unités fonctionnelles, registres physiques  Réalisation  Point de vue du concepteur de circuit ou de la puce  Réalisation physique des circuits logiques  Portes, cellules, transistors, fils, etc. INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Une ISA peut avoir plusieurs implémentations, et chaque implémentation peut avoir plusieurs réalisations. 5

6 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

7 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline: quoi et pourquoi  Un pipeline permet d’augmenter (significativement) le débit en exploitant le parallélisme inhérent dans un processus.

8 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline idéal  On peut définir la performance par BW = délai -1.  Dans un monde idéal:  la tâche se décompose en sous-tâches de même latence;  on peut décomposer la tâche indéfiniment;  les éléments à mémoire sont gratuits;  les éléments à mémoire n’introduisent pas de délai additionnel. J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

9 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline en pratique  k: nombre d’étages  G: coût du système sans pipeline  C: coût du système avec pipeline  P: performance du système avec pipeline = (T/k + S) -1  L: coût d’un loquet  T: période d’horloge du système sans pipeline  S: délai ajouté par un loquet  on peut démontrer que k opt = (GT/LS) 0.5 J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

10 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Exemple: multiplicateur à virgule flottante (sans pipeline)  Algorithme:  calculer le signe du produit  additionner les exposants  multiplier les mantisses  normaliser le produit des mantisses et incrémenter l’exposant résultant si nécessaire  arrondir le produit et normaliser de nouveau si nécessaire J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

11 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Exemple: multiplicateur à virgule flottante (avec pipeline) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

12 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline (idéal) d’un processeur (1)  Le ‘calcul’ à pipeliner est le cycle des instructions du processeur. W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

13 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline (idéal) d’un processeur (2)  Le cas présenté ici correspond grosso modo à une architecture CISC (accès mémoire pour les opérandes).  Chaque instruction passe à travers le pipeline au complet même si certaines étapes ne sont pas nécessaires (e.g. load ne fait rien à l’étape WO).  On suppose qu’il n’y a pas de conflit d’accès à la mémoire entre FI, FO et WO (facilité pour une architecture Harvard).  Et les branchements?  Et les dépendances de données? W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  FI: lire la prochaine instruction à exécuter  DI: décoder l’opération à exécuter  CO: calculer l’adresse des opérandes (selon le mode d’adressage)  FO: lire les opérandes de la mémoire  EI: effectuer le calcul  WO: écrire le résultat en mémoire

14 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline d’un processeur (3): les branchements W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  FI: lire la prochaine instruction à exécuter  DI: décoder l’opération à exécuter  CO: calculer l’adresse des opérandes (selon le mode d’adressage)  FO: lire les opérandes de la mémoire  EI: effectuer le calcul  WO: écrire le résultat en mémoire  L’instruction 3 est un branchement conditionnel vers l’instruction 15.  À t = 8, l’instruction 15 entre dans le pipeline.  Il n’y a pas d’instruction complétée pour les temps 9, 10, 11 et 12: c’est la pénalité de branchement.

15 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline d’un processeur (4) unification du jeu d’instructions, le cas RISC  Comment répartir les différents types d’instructions dans un pipeline?  Quels sont les avantages et désavantages de l’arrangement présenté ici? J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005  pipeline ‘implémenté’  IF: lire la prochaine instruction à exécuter  ID: décoder l’opération à exécuter  RD: lire un registre interne  ALU: opération arithmétique ou logique  MEM: lecture ou écrite de la mémoire  WB: écrire un résultat dans un registre interne  pipeline ‘conceptuel’  IF: instruction fetch  ID: instruction decode  OF: operand fetch  EX: execute  OS: operand store

16 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline: les problèmes (1)  Conflits structurels (deux opérations ne peuvent être faites en même temps):  dus à manque de ressources (e.g. une seule mémoire pour les données et les instructions, ou bien utilisation de l’ALU pour les opérations arithmétiques et pour le calcul d’une adresse)  Conflits de données  si deux instructions successives produisent des résultats interdépendants  Conflits de contrôle  causés par les branchements

17 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline: les problèmes (2) Conflits de données J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005  RAW est le plus commun. Deux solutions:  insérer une bulle  ‘forwarding’ du résultat  WAR possible seulement si le pipeline permet l’écriture dans deux étages différents.  WAW possible seulement si les lectures se font à la fin du pipeline et les écritures au début.  WAR et WAW sont plus fréquents pour les processeurs superscalaires (à venir).

18 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline: les problèmes (3) Conflits de contrôle  Le problème vient surtout des branchements conditionnels; l’instruction doit être complétée avant de savoir si le branchement aura lieu ou non.  Option 1: Bloquer le pipeline quand un branchement conditionnel est détecté.  Option 2: Supposer que le branchement ne sera pas fait et continuer à charger le pipeline. Il faut renverser les instructions si le branchement est fait.  Option 3: Supposer que le branchement sera fait et charger cette instruction dans le pipeline. Il faut renverser les instructions si le branchement est fait.  Option 4: Doubler le pipeline et exécuter les deux instructions, puis choisir quand on a déterminé si le branchement se fait ou non.  Option 5: Prédire dynamiquement si le branchement sera fait ou non, selon le code d’opération (e.g. BEQ: prédire oui; BPL: prédire non).  Option 6: Prédire dynamiquement si le branchement sera fait ou non, selon les caractéristiques du programme exécuté à ce moment.  Option 7: Utiliser un tampon de boucle qui contient toutes les instructions d’une boucle. Réduit les pénalités de branchement parce que les instructions sont disponibles.

19 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline: les problèmes (4) Prédiction de branchement W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

20 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

21 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeur super-pipeliné (1) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005  Un processeur superpipeliné contient un nombre élevé d’étages de pipeline. Certaines des étapes ‘traditionnelles’ du pipeline sont décomposées en plusieurs étapes.  C’est une façon de mieux répartir la latence des différentes étapes du cycle des instructions sur plusieurs étages. Pipeline Superpipeline

22 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeur super-pipeliné (2) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005  Exemple: MIPS R4000 (1991)

23 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

24 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs superscalaires  Un processeur scalaire peut lancer une seule instruction à la fois (mais plusieurs peuvent être en cours d’exécution grâce à un pipeline).  Un processeur superscalaire peut:  lancer plusieurs instructions simultanément;  exécuter plusieurs instructions de façon concurrente et indépendante dans plusieurs pipelines;  exécuter des instructions dans un ordre différent de l’ordre prescrit par le programme;  L’approche superscalaire s’adapte aux modèles CISC et RISC.

25 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs superscalaires: comment (1) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005 a.Processeur scalaire sans pipeline b.Processeur scalaire avec pipeline c.??? d.Processeur superscalaire Résultat:

26 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Processeurs superscalaires: comment (2) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005 Exemple de réalisation pratique

27 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Potentiel d’accélération grâce à l’approche superscalaire  YMMV (Your Mileage May Vary)! W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

28 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Exemple d’organisation d’un processeur superscalaire  Deux unités fonctionnelles (ALU+) à virgule flottante  Deux unités (ALU+) à virgule fixe  Un accès mémoire (load ou store)  Le tout est pipeliné. W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

29 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Pipeline, super-pipeline, superscalaire W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

30 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conditions pour (et entraves à) un fonctionnement superscalaire (1)  L’approche superscalaire dépend de la possibilité d’exécuter plusieurs instructions en parallèle (instruction-level parallelism – ILP).  L’ILP peut être amélioré par des techniques matérielles ainsi que lors de la compilation.  Il y a une différence entre l’ILP et le parallélisme matériel. J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

31 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conditions pour (et entraves à) un fonctionnement superscalaire (2)  Quel code exhibe un bon ILP? Code #1 Load R1, R2 Add R3, R3, 1 Add R4, R4, R2 Code #2 Add R3, R3, 1 Add R4, R3, R2 Store [R4], R0

32 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conditions pour (et entraves à) un fonctionnement superscalaire (3)  Quelques facteurs qui affectent l’ILP:  fréquence des dépendances (de données et de contrôle) dans le code  ‘latence’ des opérations: combien de temps est nécessaire avant qu’une instruction soit complétée

33 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conditions pour (et entraves à) un fonctionnement superscalaire (3)  Le parallélisme matériel est une mesure de l’habileté du processeur à exécuter des instructions indépendantes.  Le parallélisme matériel dépend:  du nombre d’instructions qui peuvent être chargées simultanément;  du nombre de pipelines parallèles;  des mécanismes présents pour détecter le parallélisme dans les opérations.  Exemple: instructions de taille variable? mauvais: complique la décomposition des instructions

34 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conditions pour (et entraves à) un fonctionnement superscalaire (4)  Cinq entraves fondamentales à l’ILP:  ‘vraies’ dépendances de données (RAW);  dépendances procédurales;  conflits de ressources;  dépendances de sortie (WAW);  anti-dépendances (WAR). J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

35 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Effet des dépendances W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006 ix: une instruction

36 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Politiques pour l’émission des instructions  L’émission des instruction (instruction issue) est le processus d’initiation de l’exécution d’une instruction juste après son décodage.  Le processeur doit déterminer dans quel ordre exécuter les instructions à sa disposition.  Le processeur doit produire des résultats corrects!  Il y a trois choix:  émission dans l’ordre et complétion dans l’ordre;  émission dans l’ordre mais complétion hors d’ordre;  émission hors d’ordre et complétion hors d’ordre.

37 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Émission des instructions: comment? (1) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005 Flexibilité totale!

38 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Émission des instructions: comment? (2) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005 Un premier tampon reçoit les opérandes et les instructions à effectuer. Les opérations sont émises aux unités fonctionnelles. Un deuxième tampon reçoit les résultats et les retransmet dans l’ordre. (Ce n’est qu’une possibilité parmi plusieurs!)

39 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Émission des instructions: comment? (3) J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005 Approche plus sophistiquée, avec émission distribuée

40 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Émission des instructions: comment? (4) Ce qui se passe à l’intérieur des unités fonctionnelles … Les pointillés indiquent un étage de pipeline. a.Opération combinée à 5 opérandes et trois résultats, sur deux cycles, plusieurs opérations possibles en activant ou non les différents blocs. b.Opération à 3 opérandes et 1 résultat, avec mémoire d’une instruction à l’autre (registre spécial). Plusieurs variations possibles. Excellents exemples d’instructions spécialisées pouvant être ajoutées à un processeur! J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

41 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel émission et complétion dans l’ordre W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  Suppositions:  ordre du programme: I1, I2, …, I6  trois unités fonctionnelles  décodage de deux instructions à la fois  I1 nécessite 2 cycles (CISC)  I3 et I4 utilisent la même unité fonctionnelle  I5 et I6 utilisent la même unité fonctionnelle  I5 dépend du résultat produit par I4

42 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel émission dans l’ordre et complétion dans le désordre W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  Suppositions supplémentaires:  I1: R3 ← R3 op R5  I2: R4 ← R8 + 1  I3: R3 ← R5 + 1  I4: R7 ← R3 + R4 attention: WAW  Suppositions:  ordre du programme: I1, I2, …, I6  trois unités fonctionnelles  décodage de deux instructions à la fois  I1 nécessite 2 cycles (CISC)  I3 et I4 utilisent la même unité fonctionnelle  I5 et I6 utilisent la même unité fonctionnelle  I5 dépend du résultat produit par I4

43 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel émission et complétion dans le désordre W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  Suppositions supplémentaires:  I1: R3 ← R3 op R5  I2: R4 ← R8 + 1  I3: R3 ← R5 + 1  I4: R7 ← R3 + R4 attention: WAR  fenêtre d’instructions:  liste d’instructions décodées, prêtes à être exécutées si une unité fonctionnelle se libère et qu’aucune dépendance de données ne l’interdit  Suppositions:  ordre du programme: I1, I2, …, I6  trois unités fonctionnelles  décodage de deux instructions à la fois  I1 nécessite 2 cycles (CISC)  I3 et I4 utilisent la même unité fonctionnelle  I5 et I6 utilisent la même unité fonctionnelle  I5 dépend du résultat produit par I4

44 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel duplication de registres (register renaming)  Cette technique permet d’éviter les dépendances de sortie (WAW) et les anti-dépendances (WAR).  Des registres supplémentaires sont alloués dynamiquement pendant l’exécution.  Modification de l’exemple précédent:  WAW entre I1 et I3; WAR entre I2 et I3 Code modifié: I1: R3b ← R3a - R5a I2: R4a ← R3b + 1 I3: R3c ← R5a + 1 I4: R7a ← R3c + R4a Code original: I1: R3 ← R3 - R5 I2: R4 ← R3 + 1 I3: R3 ← R5 + 1 I4: R7 ← R3 + R4

45 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel un sommaire d’accélération W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006  Suppositions:  1 = processeur scalaire  machine de base superscalaire avec émission hors d’ordre  + ld/st: 2 e unité load/store  + alu: 2 e alu  + both: 2 e unité load/store et 2 e alu  fenêtre d’instructions:

46 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel un sommaire d’exécution W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

47 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Quelques caractéristiques de jeux d’instructions W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006

48 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

49 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW: Very Long Instruction Word Pourquoi?  Désavantages de l’approche superscalaire:  beaucoup d’efforts à ordonner les instructions  beaucoup d’efforts pour assigner une instruction à une unité fonctionnelle  Une solution: laisser le compilateur régler ces problèmes en combinant plusieurs instructions dans un seul (très loooooooonnng) mot (48, 64 ++ bits).  On ne fait que déplacer le problème, mais le compilateur a beaucoup plus de temps pour effectuer une organisation du programme ‘optimale’.

50 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW vs SIMD add r1,r2,r3 FU add r1,r2,r3 FU load r4,r5+4mov r6,r2mul r7,r8,r9 J.C. Hoe, Carnegie Mellon U., notes de cours 18-747, © 2001 SIMD: une seule instruction effectuée simultanément par plusieurs unités fonctionnelles, sur des données différentes VLIW: plusieurs unités fonctionnelles parallèles exécutant des instructions différentes. Le processeur ne s’inquiète pas de dépendances de données ni de contrôle. Opération peut être NOP.

51 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW: un chemin de données possible J.C. Hoe, Carnegie Mellon U., notes de cours 18-747, © 2001 Bloc de registres à plusieurs ports lecture et écriture Unités fonctionnelles variées.

52 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW: exemple de programme J.C. Hoe, Carnegie Mellon U., notes de cours 18-747, © 2001 Bloc de registres à plusieurs ports lecture et écriture programme original code à 3 addresses graphe de dépendances instructions VLIW e = (a + b) * (c + d) b++; A: r1 = a + b B: r2 = c + d C: r3 = r1 * r2 D: r4 = r4 + 1 B C A D 00:add a,b,r1add c,d,r2add r4,1,r4 01:mul r1,r2,r3nop

53 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW: avantages  Peut exploiter le parallélisme d’instructions, même pour instructions vectorielles.  Chemin des données est simple; son contrôle l’est encore plus.  L’architecture donne intrinsèquement beaucoup de flexibilité au compilateur.  Il est facile de prévoir le déroulement du programme dans le temps (vs superscalaire).

54 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW: désavantages  Le code compilé est restreint à la machine.  Le code prend beaucoup de mémoire (les ‘bulles’ du pipeline [NOP] sont insérées dans les instructions).  Le compilateur est très complexe.  L’accès (parallèle) à la mémoire est très complexe.  Toutes les applications ne bénéficient pas également des avantages VLIW.

55 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW vs superscalaire quoisuperscalaireVLIW plusieurs instructions par cycleoui plusieurs opérations par instructionnonoui analyse dynamique des dépendances de données ouinon ordonnancement dynamique des instructions ouinon allocation dynamique de registresoui (register renaming) possible

56 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW vs superscalaire: une photo vaut 1000 mots … J.C. Hoe, Carnegie Mellon U., notes de cours 18-747, © 2001 point de vue intéressant pour processeurs configurables

57 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel VLIW et la complexité du jeu d’instructions  DEL: Directly Executable Language machine (théorique)  DSI: Dynamic-Static Interface J.P. Shen & M.H. Lipasti, « Modern Processor Design. », © McGraw-Hill, 2005

58 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Survol de la présentation  Introduction  Pipeline d’instructions  Superpipeline  Processeurs superscalaires  Processeurs VLIW  Processeurs multifil

59 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Traitement multifil (multithreading)  Un processeur à traitement multifil :  a au minimum un compteur de programme séparé pour chaque fil;  peut avoir des blocs de registres et des registres d’états différents;  peut partager ses unités fonctionnelles entre chaque fil d’exécution.  Quatre approches:  1. multifil intercalé: le processeur passe d’un fil à l’autre à après un nombre fixe de coups d’horloge  2. multifil par blocs: le fil est exécuté tant qu’il ne bloque pas (par exemple à cause d’un échec de la cache)  3. multifil simultané: instructions de divers fils émises à différentes unités fonctionnelles d’un processeur superscalaire  4. multiprocesseur: évidemment!

60 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Multifil simultané (SMT) FMult (4 cyc) FAdd (2 cyc) ALU1 ALU2 Load/Store (variable) Fdiv, unpipe (16 cyc) Reorder Buffer A Reorder Buffer Z Fetch Unit A OOO Dispatch A Fetch Unit Z OOO Dispatch Z Context A Context Z J.C. Hoe, Carnegie Mellon U., notes de cours 18-747, © 2001

61 INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel En résumé … W. Stallings, « Computer Organization and Architecture, 7th Ed. », © Pearson, 2006 identificateurs de processus


Télécharger ppt "INF8505: processeurs embarqués configurables Département de génie informatique et génie logiciel Conception de processeurs – partie 2 Approches traditionnelles."

Présentations similaires


Annonces Google