467
Fonctionnement d'un ordinateur depuis zéro Par Lucas Pesenti (Lucas-84) et Guy Grave (Mewtow) www.siteduzero.com Licence Creative Commons 6 2.0 Dernière mise à jour le 6/01/2013

509203 Fonctionnement d Un Ordinateur Depuis Zero

Embed Size (px)

Citation preview

  • Fonctionnement d'unordinateur depuis

    zroPar Lucas Pesenti (Lucas-84)

    et Guy Grave (Mewtow)

    www.siteduzero.com

    Licence Creative Commons 6 2.0Dernire mise jour le 6/01/2013

  • Sommaire 2Sommaire ........................................................................................................................................... 7Lire aussi ............................................................................................................................................ 9 Fonctionnement d'un ordinateur depuis zro ..................................................................................... 9Partie 1 : Tout a rien qu'avec des 0 et des 1 ! ...................................................................................

    10Un ordinateur, c'est trs bte : a ne sait pas compter jusqu' deux ! ........................................................................... 10Nombres entiers ........................................................................................................................................................................................................ 10Diffrentes bases ...................................................................................................................................................................................................... 11Le binaire, la base 2 .................................................................................................................................................................................................. 12Reprsentation en signe-valeur absolue ................................................................................................................................................................... 13Codage en complment 1 ...................................................................................................................................................................................... 14Complment deux .................................................................................................................................................................................................. 16Nombres virgule ..................................................................................................................................................................................................... 16criture scientifique ................................................................................................................................................................................................... 17Formats de flottants .................................................................................................................................................................................................. 18Exceptions et arrondis ............................................................................................................................................................................................... 19Codage du texte ........................................................................................................................................................................................................ 19Standard ASCII .......................................................................................................................................................................................................... 20Unicode .....................................................................................................................................................................................................................

    20Nos bits prennent la porte ! ............................................................................................................................................. 21Codage NRZ ............................................................................................................................................................................................................. 21Codage NRZ ............................................................................................................................................................................................................. 21Tensions de rfrence ............................................................................................................................................................................................... 22Transistors ................................................................................................................................................................................................................. 22Transistors CMOS ..................................................................................................................................................................................................... 23Loi de Moore ............................................................................................................................................................................................................. 24Portes logiques ......................................................................................................................................................................................................... 25La porte NON ............................................................................................................................................................................................................ 27La porte ET ................................................................................................................................................................................................................ 28Porte NAND ............................................................................................................................................................................................................... 30La porte OU ............................................................................................................................................................................................................... 30Porte NOR ................................................................................................................................................................................................................. 32Porte XOR ................................................................................................................................................................................................................. 33Porte NXOR ..............................................................................................................................................................................................................

    34Crons nos circuits ! ........................................................................................................................................................ 34Circuits combinatoires ............................................................................................................................................................................................... 34Tables de vrit ......................................................................................................................................................................................................... 35quations logiques .................................................................................................................................................................................................... 36Mthode des Minterms .............................................................................................................................................................................................. 38Simplifications du circuit ............................................................................................................................................................................................ 39Mais ........................................................................................................................................................................................................................... 39Circuits squentiels ................................................................................................................................................................................................... 39Comment donner de la mmoire nos circuits ? ...................................................................................................................................................... 41Bascules .................................................................................................................................................................................................................... 46Mmoires ................................................................................................................................................................................................................... 46Tic, Tac, Tic, Tac : Le signal d'horloge ....................................................................................................................................................................... 46Temps de propagation ............................................................................................................................................................................................... 47Circuits synchrones ................................................................................................................................................................................................... 49Et dans nos PC ? ......................................................................................................................................................................................................

    50Partie 2 : Architecture de base .......................................................................................................... 50C'est quoi un ordinateur ? ............................................................................................................................................... 50Numrique versus analogique .................................................................................................................................................................................. 50Analogique versus numrique ................................................................................................................................................................................... 50L'immunit au bruit .................................................................................................................................................................................................... 52Architecture de base ................................................................................................................................................................................................. 52I/O et traitement ......................................................................................................................................................................................................... 53Automates ................................................................................................................................................................................................................. 54Programme ............................................................................................................................................................................................................... 54Ordinateurs ................................................................................................................................................................................................................ 54Organisation .............................................................................................................................................................................................................. 55Mmoire .................................................................................................................................................................................................................... 57Bus de communication .............................................................................................................................................................................................. 58Processeur ................................................................................................................................................................................................................

    63La gestion de la mmoire ................................................................................................................................................ 63Deux mmoires pour le prix d'une ............................................................................................................................................................................. 63Sparation matrielle des mmoires ......................................................................................................................................................................... 65Architecture modifie ................................................................................................................................................................................................ 66L'organisation de la mmoire et la pile ...................................................................................................................................................................... 66Pile, Tas et Mmoire Statique .................................................................................................................................................................................... 67La pile ........................................................................................................................................................................................................................ 68Last Input First Output ............................................................................................................................................................................................... 69Machines pile et successeurs ................................................................................................................................................................................ 69Machines pile ......................................................................................................................................................................................................... 72Machines accs alatoire ....................................................................................................................................................................................... 73Les hybrides ..............................................................................................................................................................................................................

    2/468

    www.siteduzero.com

  • 75Partie 3 : Processeur et Assembleur ................................................................................................. 76Langage machine et assembleur .................................................................................................................................... 76Instructions ................................................................................................................................................................................................................ 76C'est quoi une instruction ? ....................................................................................................................................................................................... 77Type des donnes et instructions .............................................................................................................................................................................. 78Longueur des donnes traiter ................................................................................................................................................................................ 78Jeux d'instruction ....................................................................................................................................................................................................... 78RISC vs CISC ............................................................................................................................................................................................................ 80Jeux d'instructions spcialiss .................................................................................................................................................................................. 81Et pour nos ordinateurs ? .......................................................................................................................................................................................... 81Registres architecturaux ............................................................................................................................................................................................ 81A quoi servent ces registres ? ................................................................................................................................................................................... 83Registres architecturaux ............................................................................................................................................................................................ 858, 16, 32, 64 bits : une histoire de taille des registres ............................................................................................................................................... 85Reprsentation en binaire ......................................................................................................................................................................................... 86Opcode ...................................................................................................................................................................................................................... 86Oprandes ................................................................................................................................................................................................................. 86Modes d'adressage ................................................................................................................................................................................................... 96Encodage du mode d'adressage ............................................................................................................................................................................... 98Jeux d'instructions et modes d'adressages ............................................................................................................................................................... 98Longueur d'une instruction ........................................................................................................................................................................................ 99Classes d'architectures ............................................................................................................................................................................................. 99A accs mmoire strict .............................................................................................................................................................................................. 99A pile .......................................................................................................................................................................................................................... 99A accumulateur unique ..............................................................................................................................................................................................

    100Architectures registre-mmoire ............................................................................................................................................................................... 101Load-store ...............................................................................................................................................................................................................

    101Un peu de programmation ! .......................................................................................................................................... 102C'est un ordre, xecution ! ...................................................................................................................................................................................... 102Program Counter ..................................................................................................................................................................................................... 103Les exceptions ........................................................................................................................................................................................................ 103Et que ca saute ! ..................................................................................................................................................................................................... 103Instructions de test .................................................................................................................................................................................................. 104Branchements ......................................................................................................................................................................................................... 106Structures de contrle, tests et boucles .................................................................................................................................................................. 106Le Si...Alors ............................................................................................................................................................................................................. 107Si...Alors...Sinon ...................................................................................................................................................................................................... 108Boucles ................................................................................................................................................................................................................... 110Sous-programmes : c'est fait en quoi une fonction ? .............................................................................................................................................. 110A quoi a sert ? ........................................................................................................................................................................................................ 113Retour vers la future (instruction) ! .......................................................................................................................................................................... 113Paramtres et arguments ........................................................................................................................................................................................ 114Une histoire de registres .......................................................................................................................................................................................... 115Valeur de retour ....................................................................................................................................................................................................... 116Variables automatiques ........................................................................................................................................................................................... 116Plusieurs piles .........................................................................................................................................................................................................

    117Il y a quoi dans un processeur ? ................................................................................................................................... 118Execution d'une instruction ...................................................................................................................................................................................... 118Instruction Cycle ...................................................................................................................................................................................................... 118Micro-instructions .................................................................................................................................................................................................... 120L'intrieur d'un processeur ...................................................................................................................................................................................... 121Les units de calcul ................................................................................................................................................................................................. 122Vu de lextrieur ...................................................................................................................................................................................................... 123A l'intrieur d'une unit de calcul ............................................................................................................................................................................. 126Units annexes ........................................................................................................................................................................................................ 127Registres et interface mmoire ............................................................................................................................................................................... 127Registres simples .................................................................................................................................................................................................... 128Registres non-rfrencables ................................................................................................................................................................................... 128Register File ............................................................................................................................................................................................................ 131Register Files spars ............................................................................................................................................................................................ 131Fichier de registre Unifi ......................................................................................................................................................................................... 134Communication avec la mmoire ............................................................................................................................................................................ 136Le chemin de donnes ............................................................................................................................................................................................ 136Une histoire de connexion ....................................................................................................................................................................................... 137Chemin de donne un seul bus ........................................................................................................................................................................... 138Et avec plusieurs bus ? ........................................................................................................................................................................................... 142Conclusion .............................................................................................................................................................................................................. 142Le squenceur ......................................................................................................................................................................................................... 143Squenceurs cbls ................................................................................................................................................................................................ 145Squenceur micro-cod .......................................................................................................................................................................................... 148Squenceurs hybrides ............................................................................................................................................................................................. 148Les transport triggered architectures ....................................................................................................................................................................... 149L'tape de fetch ....................................................................................................................................................................................................... 149Registre pointeur instruction ................................................................................................................................................................................... 149Compteur ordinal ..................................................................................................................................................................................................... 151Le calcul de l'adresse suivante ............................................................................................................................................................................... 152Les branchements ................................................................................................................................................................................................... 154Lexception qui confirme la rgle .............................................................................................................................................................................

    154Les circuits d'une ALU entire ....................................................................................................................................... 155Dcalages et rotations ............................................................................................................................................................................................ 155Dcalages et rotations ............................................................................................................................................................................................ 157Multiplexeurs ...........................................................................................................................................................................................................

    Sommaire 3/468

    www.siteduzero.com

  • 158Dcaleur logique ..................................................................................................................................................................................................... 160Dcaleur arithmtique ............................................................................................................................................................................................. 161Rotateur ................................................................................................................................................................................................................... 162Barell shifter ............................................................................................................................................................................................................ 162Addition ................................................................................................................................................................................................................... 162Additionneur propagation de retenue ................................................................................................................................................................... 164L'additionneur slection de retenue ..................................................................................................................................................................... 165Additionneurs anticipation de retenue .................................................................................................................................................................. 167Les Overflows .......................................................................................................................................................................................................... 167Entiers strictement positifs, non signs ................................................................................................................................................................... 168Complment deux et complment un ............................................................................................................................................................... 170Soustraction ............................................................................................................................................................................................................ 170Complment deux et complment un ............................................................................................................................................................... 172Signe-magnitude ..................................................................................................................................................................................................... 173Comparaison ........................................................................................................................................................................................................... 173Multiplication ............................................................................................................................................................................................................ 174Entiers non-signs .................................................................................................................................................................................................. 180Entiers signs .......................................................................................................................................................................................................... 183Array Multipliers ....................................................................................................................................................................................................... 187Tree Multipliers ........................................................................................................................................................................................................ 187Division .................................................................................................................................................................................................................... 187Division restauration ............................................................................................................................................................................................. 190Division sans restauration ....................................................................................................................................................................................... 190La division SRT .......................................................................................................................................................................................................

    192Partie 4 : Mmoires ......................................................................................................................... 192Mmoires ....................................................................................................................................................................... 192Des mmoires en veux-tu, en voil ! ....................................................................................................................................................................... 192Capacit mmoire ................................................................................................................................................................................................... 193Mmoires volatiles et non-volatiles ......................................................................................................................................................................... 194RWM ou ROM ......................................................................................................................................................................................................... 195Le temps d'accs .................................................................................................................................................................................................... 195Mmoires RAM ........................................................................................................................................................................................................ 196Donne, o es-tu ? .................................................................................................................................................................................................. 196Mmoires Squentielles .......................................................................................................................................................................................... 196Mmoires accs alatoire .................................................................................................................................................................................... 197Mmoires FIFO ....................................................................................................................................................................................................... 197Mmoires LIFO ........................................................................................................................................................................................................ 198Content Adressables Memories .............................................................................................................................................................................. 199Une histoire de bus ................................................................................................................................................................................................. 199Bus de commande .................................................................................................................................................................................................. 200Bus d'adresse .......................................................................................................................................................................................................... 201Connexion du bus sur la mmoire .......................................................................................................................................................................... 203Toutes les mmoires ne se valent pas ! .................................................................................................................................................................. 203Une histoire de vitesse ............................................................................................................................................................................................ 205Registres ................................................................................................................................................................................................................. 207Cache ...................................................................................................................................................................................................................... 207Local Stores ............................................................................................................................................................................................................ 208Mmoires principales .............................................................................................................................................................................................. 208Mmoires de masse ................................................................................................................................................................................................

    209Mmoriser un bit ............................................................................................................................................................ 209Mmoire SRAM ....................................................................................................................................................................................................... 209Avec des portes logiques ........................................................................................................................................................................................ 213Avec des transistors ................................................................................................................................................................................................ 215Mmoire DRAM ....................................................................................................................................................................................................... 2153T-DRAM ................................................................................................................................................................................................................. 2181T-DRAM ................................................................................................................................................................................................................. 220Correction d'erreurs ................................................................................................................................................................................................. 220Correction et dtection d'erreurs ............................................................................................................................................................................. 220Bit de parit ou d'imparit ........................................................................................................................................................................................ 221Mmoires ECC ........................................................................................................................................................................................................

    221Contrleur et plan mmoire ........................................................................................................................................... 222Mmoires adressage linaire ............................................................................................................................................................................... 222Plan mmoire linaire ............................................................................................................................................................................................. 223Connectons le tout au bus ...................................................................................................................................................................................... 224Dcodeurs ............................................................................................................................................................................................................... 227Circuit complet ........................................................................................................................................................................................................ 228Mmoires adressage par coicidence ................................................................................................................................................................... 228Principe ................................................................................................................................................................................................................... 229Adressage par concidence ..................................................................................................................................................................................... 230Adresses hautes et basses ..................................................................................................................................................................................... 232Mmoire Row Buffer ............................................................................................................................................................................................. 232Principe ................................................................................................................................................................................................................... 233Plan mmoire .......................................................................................................................................................................................................... 234Row Buffer ............................................................................................................................................................................................................... 235Slection de colonnes ............................................................................................................................................................................................. 236Avantages et inconvnients .................................................................................................................................................................................... 236Interfacage avec le bus ........................................................................................................................................................................................... 236Circuits 3-tats ........................................................................................................................................................................................................ 238Mmoires ports de lecture et criture spars ..................................................................................................................................................... 239Assemblages de mmoires ..................................................................................................................................................................................... 239Arrangement horizontal ........................................................................................................................................................................................... 241Arrangement vertical ...............................................................................................................................................................................................

    Sommaire 4/468

    www.siteduzero.com

  • 243Mmoires DDR, SDRAM et leurs cousines .................................................................................................................. 244Les mmoires RAM asynchrones ........................................................................................................................................................................... 244Format des mmoires FPM et EDO ........................................................................................................................................................................ 245RAS et CAS ............................................................................................................................................................................................................. 248Rafraichissement mmoire ..................................................................................................................................................................................... 249Mmoires FPM et EDO ........................................................................................................................................................................................... 250EDO-RAM ............................................................................................................................................................................................................... 252Les mmoires SDRAM ............................................................................................................................................................................................ 252Pipelining des requtes mmoires .......................................................................................................................................................................... 253Timings mmoires ................................................................................................................................................................................................... 254Mode Burst .............................................................................................................................................................................................................. 255Les mmoires DDR ................................................................................................................................................................................................. 255Principe ................................................................................................................................................................................................................... 257DDR1 ....................................................................................................................................................................................................................... 258DDR2 ....................................................................................................................................................................................................................... 258DDR3 ....................................................................................................................................................................................................................... 259GDDR ...................................................................................................................................................................................................................... 259Format DIMM et SO-DIMM ......................................................................................................................................................................................

    262Mmoires non-volatiles ................................................................................................................................................. 262Le disque dur ........................................................................................................................................................................................................... 262C'est fait en quoi ? ................................................................................................................................................................................................... 264Adressage d'un disque dur ...................................................................................................................................................................................... 265Requtes d'accs au disque dur ............................................................................................................................................................................. 266Mmoires FLASH .................................................................................................................................................................................................... 266Cellule mmoire de FLASH ..................................................................................................................................................................................... 267Mmoires FLASH MLC ........................................................................................................................................................................................... 268Les mmoires FLASH ne sont pas des RAM ! ........................................................................................................................................................ 269FLASH NAND et NOR ............................................................................................................................................................................................. 269Les SSD ..................................................................................................................................................................................................................

    269Partie 5 : Priphriques, bus, et entres-sorties ............................................................................. 270Bus, cartes mres, chipsets et Front Side Bus ............................................................................................................. 270Un bus, c'est rien qu'un tas de fils... ........................................................................................................................................................................ 271Bus srie et parallles ............................................................................................................................................................................................. 273Simplex, Half duplex ou Full duplex ........................................................................................................................................................................ 273Bus synchrones et asynchrones ............................................................................................................................................................................. 275Va falloir partager ! .................................................................................................................................................................................................. 276Conflit d'accs ......................................................................................................................................................................................................... 276Arbitrage par multiplexage temporel ....................................................................................................................................................................... 276Arbitrage par requte .............................................................................................................................................................................................. 276Chipset, back-plane bus, et autres .......................................................................................................................................................................... 277Premire gnration ................................................................................................................................................................................................ 277Seconde gnration ................................................................................................................................................................................................ 278De nos jours ............................................................................................................................................................................................................ 280Architectures sans Front side bus ...........................................................................................................................................................................

    281Communication avec les Entres-Sorties ..................................................................................................................... 282Interfacage Entres-sorties ..................................................................................................................................................................................... 282Interfaage .............................................................................................................................................................................................................. 282Registres d'interfaage ............................................................................................................................................................................................ 283Contrleur de priphrique ...................................................................................................................................................................................... 285Problmes ............................................................................................................................................................................................................... 286Interruptions ............................................................................................................................................................................................................ 286Droulement d'une interruption ............................................................................................................................................................................... 287Les diffrents types d'interruptions .......................................................................................................................................................................... 289Direct Memory Access ............................................................................................................................................................................................. 289Arbitrage du bus ...................................................................................................................................................................................................... 289Direct Memory Acces ..............................................................................................................................................................................................

    293Adressage des priphriques ....................................................................................................................................... 293Connexion directe ................................................................................................................................................................................................... 293Bus multiples ........................................................................................................................................................................................................... 293Bus d'entres-sorties multiplex ............................................................................................................................................................................. 294Espace d'adressage spar .................................................................................................................................................................................... 295Partage d'adresse ................................................................................................................................................................................................... 296IO Instructions ......................................................................................................................................................................................................... 296Entres-sorties mappes en mmoire .................................................................................................................................................................... 296Memory Mapped I/O ................................................................................................................................................................................................ 298Bus unique .............................................................................................................................................................................................................. 299Et pour le CPU ? .....................................................................................................................................................................................................

    300Partie 6 : Hirarchie mmoire ......................................................................................................... 300La mmoire virtuelle ...................................................................................................................................................... 300Solutions matrielles ............................................................................................................................................................................................... 300Mmoire virtuelle ..................................................................................................................................................................................................... 301La MMU ................................................................................................................................................................................................................... 301Segmentation .......................................................................................................................................................................................................... 302Principe ................................................................................................................................................................................................................... 303Relocation ............................................................................................................................................................................................................... 306Protection mmoire ................................................................................................................................................................................................. 309Allocation dynamique .............................................................................................................................................................................................. 310Partage de segments .............................................................................................................................................................................................. 311Pagination ................................................................................................................................................................................................................ 312Swapping ................................................................................................................................................................................................................. 312Remplacement des pages mmoires ......................................................................................................................................................................

    Sommaire 5/468

    www.siteduzero.com

  • 313Translation d'adresse .............................................................................................................................................................................................. 315Allocation dynamique .............................................................................................................................................................................................. 315Protection mmoire .................................................................................................................................................................................................

    316Les mmoires caches ................................................................................................................................................... 316Accs au cache ....................................................................................................................................................................................................... 316Accs au cache ....................................................................................................................................................................................................... 317criture dans un cache ........................................................................................................................................................................................... 319Cache bloquant et non-bloquant ............................................................................................................................................................................. 319Localit spatiale et temporelle ................................................................................................................................................................................. 319Localit temporelle .................................................................................................................................................................................................. 320Localit spatiale ...................................................................................................................................................................................................... 320L'influence du programmeur .................................................................................................................................................................................... 321Correspondance Index - Adresse ............................................................................................................................................................................ 321Tag d'une ligne de cache ......................................................................................................................................................................................... 321Adresses physiques ou logiques ? .......................................................................................................................................................................... 323Les caches direct mapped ...................................................................................................................................................................................... 326Les caches Fully associative ................................................................................................................................................................................... 327Les caches Set associative ..................................................................................................................................................................................... 329Remplacement des lignes de cache ....................................................................................................................................................................... 330Remplacement des lignes de cache ....................................................................................................................................................................... 330Alatoire .................................................................................................................................................................................................................. 331FIFO : First Input First Output ................................................................................................................................................................................. 332MRU : Most Recently Used ..................................................................................................................................................................................... 333LFU : Last Frquently Used .................................................................................................................................................................................... 334LRU : Last Recently Used ....................................................................................................................................................................................... 334Approximations du LRU .......................................................................................................................................................................................... 335LRU amlior .......................................................................................................................................................................................................... 335On n'a pas qu'un seul cache ! ................................................................................................................................................................................. 335Caches L1, L2 et L3 ................................................................................................................................................................................................ 337Caches d'instruction ................................................................................................................................................................................................ 338Caches spcialiss .................................................................................................................................................................................................

    338Le Prefetching ............................................................................................................................................................... 339Array Prefetching ..................................................................................................................................................................................................... 339Prefetchers squentiels ........................................................................................................................................................................................... 342History based prefecther ......................................................................................................................................................................................... 343Le Futur ................................................................................................................................................................................................................... 343Linked Data Structures Prefetching ........................................................................................................................................................................ 343Linked Data Structures ............................................................................................................................................................................................ 345Dependance Based Prefetching ............................................................................................................................................................................. 347Runahead Data Prefetching .................................................................................................................................................................................... 347Instruction Prefetching ............................................................................................................................................................................................ 347Prefetching squentiel, le retour ! ............................................................................................................................................................................ 348Target Line Prefetching ........................................................................................................................................................................................... 349Wrong Path Prediction ............................................................................................................................................................................................ 350Autres ......................................................................................................................................................................................................................

    351Partie 7 : Le paralllisme d'instruction et les processeurs modernes .............................................. 351Le pipeline : qu'est-ce que c'est ? ................................................................................................................................. 351Un besoin : le paralllisme d'instruction .................................................................................................................................................................. 352Le pipeline : rien voir avec un quelconque tuyau ptrole ! ................................................................................................................................ 353Sans pipeline ........................................................................................................................................................................................................... 353Et dieu inventa le pipeline ....................................................................................................................................................................................... 354Etages, circuits et frquence ................................................................................................................................................................................... 354Un besoin : isoler les tages du pipeline ................................................................................................................................................................. 356Comment on fait ? ................................................................................................................................................................................................... 357Une histoire de frquence... .................................................................................................................................................................................... 359Implmentation hardware ........................................................................................................................................................................................ 360Pipeline 7 tages .................................................................................................................................................................................................. 360Datapath .................................................................................................................................................................................................................. 362Signaux de commandes .......................................................................................................................................................................................... 363Branchements ......................................................................................................................................................................................................... 366Pipelines complexes ............................................................................................................................................................................................... 366Micro-oprations ...................................................................................................................................................................................................... 370Instructions multicyles .............................................................................................................................................................................................

    372Interruptions et Pipeline ................................................................................................................................................ 373NOP Insertion .......................................................................................................................................................................................................... 374In-Order Completion ................................................................................................................................................................................................ 374Ordre des critures .................................................................................................................................................................................................. 375Result Shift Register ............................................................................................................................................................................................... 376Speculation Recovery ............................................................................................................................................................................................. 377Out Of Order Completion ........................................................................................................................................................................................ 377Register Checkpointing ........................................................................................................................................................................................... 377Re-Order Buffer ....................................................................................................................................................................................................... 378History Buffer ........................................................................................................................................................................................................... 380Future File ...............................................................................................................................................................................................................

    382Les branchements viennent mettre un peu d'ambiance ! ............................................................................................. 382Solutions non-spculatives ..................................................................................................................................................................................... 382Dlai de branchements ........................................................................................................................................................................................... 383Branch Free Code ................................................................................................................................................................................................... 383Instructions prdicats ........................................................................................................................................................................................... 384Les processeurs malins .......................................................................................................................................................................................... 384Conclusion .............................................................................................................................................................................................................. 384Prdiction de branchement .....................................................................................................................................................................................

    Sommaire 6/468

    www.siteduzero.com

  • 385Erreurs de prdiction ............................................................................................................................................................................................... 388Prdiction de direction de branchement .................................................................................................................................................................. 390Prdiction de branchement ..................................................................................................................................................................................... 398Eager execution ...................................................................................................................................................................................................... 398Quelques limites pratiques ...................................................................................................................................................................................... 400Disjoint Eager Execution .........................................................................................................................................................................................

    401Dpendances de donnes ............................................................................................................................................ 402Dpendances d'instructions .................................................................................................................................................................................... 402Dpendances structurelles ...................................................................................................................................................................................... 403Dpendances de donnes ...................................................................................................................................................................................... 405Que faire ? ............................................................................................................................................................................................................... 405Pipeline Bubble / Stall ............................................................................................................................................................................................. 405Principe ................................................................................................................................................................................................................... 407Processeurs In-order ............................................................................................................................................................................................... 408Implmentation ........................................................................................................................................................................................................ 408Bypass et Forwarding .............................................................................................................................................................................................. 409Effet des dpendances RAW .................................................................................................................................................................................. 409Bypass ..................................................................................................................................................................................................................... 410Implmentation ........................................................................................................................................................................................................ 413Clusters ...................................................................................................................................................................................................................

    414Execution Out Of Order ................................................................................................................................................. 414Principe ................................................................................................................................................................................................................... 414Une ide gniale ..................................................................................................................................................................................................... 415Deux types d'Out Of Order ........................................................................