Processeur superscalaire

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 9 février 2021 à 08:13 et modifiée en dernier par Groumphy (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

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 1986 1990 1992 1994
Fréquence 25-30 MHz 30 MHz 150 MHz 266-333 MHz
Degré 3 instructions/cycle, 6 unités de calcul 4 instructions/cycle (FXU, FPU, et 2 ICU) 2 instructions/cycle 4 instructions/cycle
Performances annoncées 30 MIPS 34 MIPS, 11 MFLOPS 300 MIPS (crête), 150 MFLOPS (crête)

Annexes

Notes et références

Bibliographie

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