11
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Systèmes Superscalaires et VLIW Parallélisme des instructions: quoi d’autre? Avec le pipeline, nous avons vu une des techniques de parallélisme des instructions (ILP ou Instruction Level Parallelism). Que peut-on faire de plus? VLIW (Very Large Instruction Word) Techniques superscalaires

Systèmes Superscalaires et VLIW

  • Upload
    edward

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Systèmes Superscalaires et VLIW. Parallélisme des instructions: quoi d’autre? Avec le pipeline, nous avons vu une des techniques de parallélisme des instructions (ILP ou Instruction Level Parallelism). Que peut-on faire de plus? VLIW (Very Large Instruction Word) Techniques superscalaires. - PowerPoint PPT Presentation

Citation preview

Page 1: Systèmes Superscalaires et VLIW

Gei

431

Architecture des ordinateurs II – Frédéric Mailhot

Systèmes Superscalaires et VLIW

Parallélisme des instructions: quoi d’autre?

Avec le pipeline, nous avons vu une des techniques de parallélisme des instructions (ILP ou Instruction Level Parallelism). Que peut-on faire de plus?

•VLIW (Very Large Instruction Word)•Techniques superscalaires

Page 2: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW Limites du pipelining, et comment les

dépasser

• Pour une machine pipeline, on peut espérer au mieux l’exécution d’une instruction par coup d’horloge: il n’y a jamais plus d’une instruction lue par coup d’horloge.

• Rappel: temps CPU = IC * CPI * période de l’horloge

• Pour augmenter la performance, on peut donc: Diminuer le nombre d’instructions (IC)

Diminuer le CPI

Diminuer la période de l’horloge

Page 3: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW Limites du pipelining, et comment les

dépasser (2)

• Une question fondamentale se pose:

1. Est-il préférable de tenter de simplifier le circuit pour augmenter la fréquence de l’horloge?

2. Ou bien, doit-on rendre le circuit plus complexe pour tenter de faire plus durant la même période d’horloge?

• L’architecture RISC, avec le pipeline, procède de la première approche. Les résultats sont probants, mais il semble qu’on ne puisse réduire la période de l’horloge en dessous d’un certain seuil.

• D’où: il faut aussi considérer la deuxième approche (ce que l’on fait avec le VLIW et le superscalaire).

Page 4: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW Comment augmenter le ILP: en considérant

plus d’une instruction par coup d’horloge

• L’idée de base ici est que la fréquence de l’horloge ne peut être réduite indéfiniment, et donc que pour une certaine durée d’horloge, on doit réussir à faire plus de travail utile.

• Comment faire? Lorsque nous arrivons à traiter tout près d’une instruction par coup d’horloge, la seule chose à faire de plus est de tenter de lire, décoder et exécuter plus d’une instruction par coup d’horloge…

Page 5: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW Exécution de multiples instructions par

coup d’horloge: difficultés

• Lorsqu’on tente d’exécuter plus d’une instruction par coup d’horloge, cela implique qu’au même moment plusieurs instructions, qui ont été produites selon une certaine séquence par le compilateur et apparaissent séquentiellement en mémoire, doivent être séparées en des chemins d’exécution parallèles

• Deux façons de faire cela: Décider au moment de la compilation des instructions qui

peuvent s’exécuter en parallèle (approche VLIW, EPIC)

Décider au moment de l’exécution des séquences d’instructions qui peuvent se faire en parallèle (approche superscalaire)

Page 6: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

VLIW: qu’est-ce que c’est?

• VLIW: technique pour exécuter plusieurs opérations en parallèle

• Méthode: on définit des groupes de plusieurs instructions, qui sont lues, décodées et exécutées en parallèle. Chaque groupe devient une « super-instruction » destinée à être lue d’un bloc par le processeur VLIW

• Avantage: le compilateur décide des instructions à grouper ensemble. Ceci élimine pour le processeur VLIW le fardeau du scheduling des instructions (détermination des instructions qui peuvent être exécutées en parallèle). Le processeur est donc plus simple à concevoir, et par conséquent peut être plus rapide.

Page 7: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

Superscalaire: qu’est-ce que c’est?

• Superscalaire: technique pour exécuter plusieurs opérations en parallèle

• Méthode: lit en même temps des blocs d’instructions séquentielles (compilées de façon traditionnelle), et le processeur décide dynamiquement quelles instructions du bloc peuvent s’exécuter en parallèle

• Avantage: On utilise un compilateur traditionnel pour produire le code

exécutable

Le parallélisme est extrait de façon dynamique par le processeur, donnant une plus grande marge de manœuvre pour le scheduling des instructions

Page 8: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

VLIW vs superscalaire: les enjeux

• Le débat entre VLIW et superscalaire s’apparente au débat CISC/RISC du début des années ’80: simplicité du matériel (et performance améliorée) vs simplicité du compilateur

• Selon vous, lequel devrait gagner la bataille? VLIW?

Superscalaire?

Page 9: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

Le vainqueur apparent: le VLIW

• Comme le RISC a pris le dessus sur le CISC parce que le matériel est plus simple à réaliser et donc plus rapide, le VLIW devrait produire des systèmes plus performants

• Évidemment, les compilateurs devraient être améliorés, mais le type d’améliorations requises (détection de parallélisme au niveau des instructions) est déjà possible.

Page 10: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

VLIW: l’architecture du futur?

• Mais… il y a un problème important avec le VLIW: c’est le compilateur qui prend en charge toutes les dépendances entre les instructions, et qui les résout lors de la compilation. D’où deux constats importants:

1. Le compilateur est lié intimement à l’implémentation de l’architecture. Si celle-ci change, le compilateur (et donc le code) doit changer. Que fait-on avec nos « vieux » logiciels lorsqu’on change de machine?

2. La résolution de conflits se fait lors de la compilation. Elle doit donc être conservatrice. Dans un autre type d’architecture (i.e. le superscalaire) on fait cette résolution de façon dynamique. D’où plus de flexibilité et potentiellement une amélioration de la performance.

• Autre limitation du VLIW: puisque le code doit être libre de dépendances, il est presque impossible de l’écrire en langage assembleur

Page 11: Systèmes Superscalaires et VLIW

© 2001 Frédéric Mailhot Université de Sherbrooke

Sys

tèm

es

sup

ers

cala

ires

et V

LIW

La suite: le superscalaire

• Nous couvrirons principalement les techniques superscalaires dans ce qui suit. Pourquoi? Le VLIW est une extension relativement simple du

pipeline (en théorie, on pourrait imaginer qu’on ne fait que mettre un ensemble de machines pipelines indépendantes en parallèle).

Pour ce qui est du superscalaire, la gestion dynamique des dépendances entre instructions est beaucoup plus sophistiquée, et exige qu’on s’y arrête pour comprendre ce qui se passe.