Présentation

Article

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

Article de référence | Réf : H1011 v1

Remarques pour conclure
Processeurs superscalaires « flot de données »

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

Relu et validé le 03 août 2022

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais En anglais

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

ABSTRACT

Out-of-order superscalar processors

This article describes the main features of “out-of-order superscalar processors" which implement a restricted form of data-flow execution. To make the best use of the parallelism between the instructions of a sequential code, these processors fetch and decode the instructions in-order, execute them according to the data flow rules, and terminate them in-order to allow exceptions to be treated strictly as for a sequential execution. To the features of "in-order" superscalars are added new features to allow the "data flow" execution and the in-order termination. These processors are now the cores of most multi-core processors.

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.

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

KEYWORDS

register renaming   |   superscalar   |   instruction level parallelism   |   data flow   |   reservation station   |   reorder buffer

DOI (Digital Object Identifier)

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


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Version en anglais En anglais

6. Remarques pour conclure

L'exécution dirigée par les données peut être vue comme duale du modèle de la chaîne de montage qui semble avoir inspiré l'architecture des processeurs pipeline. Dans une chaîne de montage, les objets à construire (les instructions à exécuter) défilent devant les postes de travail (opérateurs) fixes. Les processeurs à exécution dirigée par les données fonctionnent d'une manière qui peut être comparée à l'organisation des halls de montage. Les objets à construire (les instructions à exécuter) restent à poste fixe (dans le ROB et dans les stations de réservation) où ils sont visités par des ouvriers spécialisés (les opérateurs) qui effectuent la tâche qui leur est assignée. Une fois terminés, les objets sont retirés du hall de montage (terminaison) pour laisser leurs places libres pour la construction de nouveaux objets.

Le lecteur intéressé trouvera dans l’article [H 1 010] des comparaisons de performance entre l’exécution superscalaire dans l’ordre et l’exécution « flot de données ». Les processeurs « non ordonnés » sont plus performants que les processeurs « dans l’ordre » au prix d’une surface de puce et d’une consommation énergétique plus grande.

Les processeurs à « flot de données restreint » constituent la microarchitecture de référence pour les monoprocesseurs performants ou les cœurs des processeurs multicœurs. Il n’y a pas un modèle unique, mais des variantes selon la manière d’effectuer le renommage de registres et le démarrage des instructions (une ou plusieurs stations de réservation). Les implantations Intel et AMD du jeu d’instructions Intel 64 conduisent à des solutions proches. Il semble que le démarrage simultané de plus d’instructions pour plus d’unités fonctionnelles, notamment pour des cœurs multithreads simultanés, implique un travail plus important de pré-décodage et de groupement des instructions comme le montrent les choix d’IBM pour les processeurs Power.

Les...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Remarques pour conclure
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...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(239 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

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

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS