Exemples de processeurs « flot de données restreint »
Processeurs superscalaires « flot de données »
H1011 v1 Article de référence

Exemples de processeurs « flot de données restreint »
Processeurs superscalaires « flot de données »

Auteur(s) : François ANCEAU, Daniel ETIEMBLE

Relu et validé le 03 août 2022 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

1 - D’une instruction à plusieurs instructions par cycle

2 - Bref historique du concept « flot de données restreint »

3 - Principe de l’exécution dirigée par les données

4 - Composantes de l’exécution « flot de données restreint »

5 - Exemples de processeurs « flot de données restreint »

6 - Remarques pour conclure

Sommaire

Présentation

RÉSUMÉ

Cet article décrit les processeurs superscalaires «flot de données restreints», le plus souvent appelés superscalaires à exécution non ordonnée (out-of-order). Pour utiliser au mieux le parallélisme existant entre les instructions d’un code séquentiel, ce type de processeurs démarre l’acquisition et le décodage des instructions dans l’ordre, exécute les instructions selon le flot de données, puis termine les instructions dans l’ordre pour permettre de traiter les exceptions comme pour exécution strictement séquentielle. Aux caractéristiques des superscalaires «dans l’ordre» s’ajoutent de nouvelles caractéristiques pour permettre une exécution «flot de données» et la terminaison dans l’ordre. Ces processeurs sont maintenant les cœurs de la plupart des processeurs multicœurs.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • François ANCEAU : Ingénieur INPG Grenoble, - Professeur CNAM retraité, Chercheur au LIP6, UPMC

  • Daniel ETIEMBLE : Ingénieur INSA Lyon - Professeur émérite à l’université Paris Sud

INTRODUCTION

Cet article examine les caractéristiques principales des processeurs superscalaires « flot de données », souvent appelés superscalaires à exécution non ordonnée (out-of-order). Comme tous les superscalaires, ces processeurs utilisent le parallélisme d’instructions existant dans un programme séquentiel pour exécuter en parallèle, sous contrôle du matériel, les instructions pouvant s’exécuter simultanément. Alors que les superscalaires dans l’ordre ne peuvent démarrer l’exécution que d’un nombre réduit d’instructions (2 à 4) dans les pipelines des différents opérateurs, les superscalaires flot de données considèrent un nombre beaucoup plus élevé d’instructions pour tirer parti au mieux du flot de données entre instructions. Les instructions sont lues et décodées dans l’ordre, exécutées en flot de données, et terminées dans l’ordre pour permettre le traitement des exceptions comme dans le cas d'une exécution strictement séquentielle.

Cet article présente les mécanismes et structures permettant à la fois le « flot de données » et la terminaison ordonnée. Le tampon de réordonnancement (ROB) reçoit les instructions décodées et garantit la terminaison ordonnée. La gestion des dépendances de données est traitée par le renommage des registres, qui peut être partiel (via les entrées du ROB) ou total (via des registres physiques et une correspondance entre ces registres physiques et les registres architecturaux). Les « stations de réservation » alimentent les opérateurs, permettant de réinjecter au plus tôt les résultats des opérateurs dans les entrées des stations qui attendent ces résultats. Les problèmes de reprise après une exécution spéculative erronée, des interruptions, de l’exécution multithread et des tampons de rangement mémoire sont aussi présentés.

Après un bref historique, les concepts introduits sont illustrés via des exemples de processeurs d’Intel, du Pentium Pro aux cœurs des multicœurs Core, dont certains utilisent le renommage partiel et d’autres le renommage total. L’exemple du Power 4 d’IBM, qui fournit à la partie « flot de données » des groupes d’instructions et termine les instructions par groupe, est également détaillé.

Les limites du parallélisme d’instructions dans un code séquentiel, le mur de la chaleur et un faible gain de performance résultant d’une augmentation importante de la complexité matérielle ont fait que les processeurs superscalaires « flot de données » sont les derniers monoprocesseurs haut de gamme. Mais ils sont maintenant les cœurs de la plupart des processeurs multicœurs.

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1011

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

5. Exemples de processeurs « flot de données restreint »

Nous présentons quelques exemples de processeurs à exécution « non ordonnée » pour mettre en évidence quelques grandes caractéristiques permettant de comprendre les évolutions sous plusieurs aspects :

  • les relations entre les choix architecturaux et les supports matériels sous-jacents. Cela s’illustre notamment par la limitation des tailles des mémoires associatives utilisées pour implanter le « flot de données », voire leur remplacement par des mécanismes d'adressage pour les machines comportant un faible nombre d'entrées dans les stations de réservation ;

  • la faible évolution de ces processeurs depuis leur apparition vers la fin des années 1990. L’évolution principale a été le développement plus ou moins poussé de l’exécution multi-thread simultanée. Ils sont également devenus les cœurs des processeurs multicœurs, mais sans que la microarchitecture d’un cœur change fondamentalement.

5.1 Architecture Metaflow

L’architecture Metaflow  proposée au début des années 1990 par Popescu et al, est l’une des premières tentatives d’implantation du concept « flot de données restreint ». Elle est basée sur une table unique, appelée DRIS, dont le contenu d’une entrée a été présenté en figure 8. Une entrée du DRIS comprend :

  • les champs d’état que l’on trouve normalement dans un ROB ;

  • les champs opérande source que l’on trouve normalement dans une entrée de station de réservation ;

  • le champ opérande destination de l’approche renommage partiel ;

  • les numéros de registres architecturaux des opérandes sources parce qu’il n’y a pas de RAT.

Dans cette approche, les instructions attendent la disponibilité de leur opérande dans le DRIS....

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 94 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Exemples de processeurs « flot de données restreint »

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - THORNTON (J.) -   Design of a Computer.  -  The Control Data 6600.

  • (2) - TOMASULO (R.M.) -   An efficient algorithm for exploiting multiple arithmetic unit.  -  IBM Journal Research and Development, pp. 25-33 (January 1967).

  • (3) - HENNESSY (J.L.), PATERSON (D.) -   Architecture des ordinateurs, une approche quantitative (3ème édition).  -  Vuibert Informatique (2003).

  • (4) - DESPAIN (A.), PATT (Y.) -   The Aquarius Project.  -  COMPCON84 (Feb. 1984).

  • (5) - PATT (Y.N.), HWU (W.), SHEBANOW (M.C.) -   HPS, a New Microarchitecture : Rationale and Introduction.  -  The 18th International Microprogramming Workshop, pp. 103-108 (December 1985).

  • (6) - PATT (Y.N.), HWU (W.), SHEBANOW (M.C.), MELVIN (S.) -   Critical Issues regarding...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 93 % à découvrir.

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques.

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Hiérarchie mémoire : les caches

Entre le ou les processeurs d'un ordinateur et les organes de stockage existe une hiérarchie de ...

Processeurs superscalaires multi-pipelines

Cet article décrit les caractéristiques principales des processeurs superscalaires multi-pipelines, ...

Processeurs VLIW

Les processeurs VLIW s'appuient sur le compilateur pour utiliser le parallélisme entre les instructions ...

Processeurs graphiques totalement programmables (GPU)

Après avoir rappelé les différentes étapes qui ont mené des cartes graphiques des années 1980 aux ...