AccueilđŸ‡«đŸ‡·Chercher

Processeur superscalaire

Un processeur est dit superscalaire s'il est capable d'exécuter plusieurs instructions simultanément parmi une suite d'instructions. Pour cela, il comporte plusieurs unités de calcul, et est capable de détecter l'absence de dépendances entre instructions.

Objectifs

Un processeur superscalaire cherche Ă  exploiter le parallĂ©lisme entre instructions pour accĂ©lĂ©rer l'exĂ©cution des programmes. Cette approche Ă©vite de modifier les programmes pour exploiter le parallĂ©lisme : le processeur dĂ©tecte lui-mĂȘme les instructions pouvant ĂȘtre exĂ©cutĂ©es en parallĂšle, contrairement Ă  d'autres approches, comme le VLIW. Cependant, cette approche augmente aussi la complexitĂ© et la consommation d'Ă©nergie du matĂ©riel, ce qui limite les processeurs actuels Ă  quelques instructions par cycle. Pour exploiter encore mieux le parallĂ©lisme disponible, on utilise donc des instructions vectorielles et des processeurs multithreads ou multicƓurs.

SĂ©quençage des instructions dans un processeur superscalaire de degrĂ© 2. Il faut 9 cycles pour exĂ©cuter 10 instructions. À t = 5, toutes les unitĂ©s du processeur sont sollicitĂ©es.

Exemples

Exemples sur des processeurs d'architecture RISC des années 1980 et 90.

Intel i960CA IBM RS/6000 POWER DEC Alpha 21064 DEC Alpha 21164
Année 1986199019921994
FrĂ©quence 25-30 MHz30 MHz150 MHz266-333 MHz
Degré 3 instructions/cycle, 6 unités de calcul4 instructions/cycle (FXU, FPU, et 2 ICU)2 instructions/cycle4 instructions/cycle
Performances annoncĂ©es 30 MIPS34 MIPS, 11 MFLOPS300 MIPS (crĂȘte), 150 MFLOPS (crĂȘte)

Annexes

Notes et références

    Articles connexes

    • Pipeline : pour une illustration et comparaisons entre architecture basĂ©es sur les pipelines.
    • Very Long Instruction Word, un autre type d'architecture exploitant le parallĂ©lisme entre instructions
    Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.