Techniques d'amélioration de la performance
Microprocesseurs - Architecture et performances
E3555 v2 Article de référence

Techniques d'amélioration de la performance
Microprocesseurs - Architecture et performances

Auteur(s) : Dominique HOUZET

Relu et validé le 07 déc. 2017

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 - Description

2 - Performances et indicateurs de performance

3 - Techniques d'amélioration de la performance

4 - Conclusion

Sommaire

Présentation

RÉSUMÉ

Le concept de microprocesseur, qui correspond à une implémentation de la fonction unité de traitement sur un seul circuit, ne s'éloigne pas, en termes d'architecture, des processeurs au sens général. Les différents aspects de l'architecture des microprocesseurs sont le support système, le jeu d'instruction, la hiérarchie mémoire, l'architecture interne, les interfaces, le parallélisme et l'évaluation des performances. Cette présentation de l'architecture des microprocesseurs est illustrée par des exemples de ce qui se fait de mieux dans chaque domaine.

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)

  • Dominique HOUZET : Docteur de l'Institut national polytechnique de Toulouse - Professeur des universités à Grenoble-INP/PHELMA - Responsable de l'équipe CNRS AGPIG/GIPSA-Lab

INTRODUCTION

L'objectif de cet article est de donner une synthèse des éléments les plus importants en matière d'architecture des microprocesseurs. Le concept de microprocesseur, qui correspond à une implémentation de la fonction unité de traitement sur un seul circuit, ne s'éloigne pas, en termes d'architecture, des processeurs au sens général. C'est pourquoi cette introduction à l'architecture des microprocesseurs ne fait pas seulement référence aux seuls microprocesseurs, mais place ceux-ci dans le contexte plus général de l'évolution de l'architecture des processeurs.

Les microprocesseurs sont au cœur de la révolution du numérique. Ils permettent le développement d'applications et de solutions accessibles au plus grand nombre de par leur universalité et leurs performances. Leur généralisation dans les systèmes numériques fait qu'ils sont un élément incontournable. Les caractéristiques architecturales et leurs liens avec le logiciel sont des éléments fondamentaux pour estimer les performances d'une solution complète à base de microprocesseurs, aussi bien pour le développement d'un nouveau système que pour son utilisation. La variété des domaines d'application a conduit à un foisonnement de modèles de microprocesseurs, en particulier dans les systèmes mobiles. Par contre ceux-ci se basent tous sur des concepts identiques au niveau architecture. Cet article a pour objectif de parcourir ces différents concepts et de montrer comment ils se déclinent au travers d'exemples d'implémentations. On se base ici principalement sur les microprocesseurs d'ordinateurs personnels et de serveurs, ceux de systèmes embarqués reprenant de manière plus ou moins simplifiée les mêmes concepts.

Les principaux aspects développés dans l'article concernent l'architecture interne des pipelines de traitement des instructions qui extraient du programme à exécuter le maximum d'instructions à exécuter en parallèle, la hiérarchie mémoire qui permet de limiter l'impact des temps d'accès à la mémoire centrale, le support système qui permet en particulier de virtualiser la taille limitée de la mémoire centrale et gérer plusieurs applications en même temps, les jeux d'instructions qui sont le lien entre le logiciel et le matériel, les interfaces vers les périphériques qui concourent à la performance globale d'un système, le parallélisme qui est une source de performances délicate à optimiser et pour terminer quelques éléments d'évaluation des performances des microprocesseurs haut de gamme.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-e3555

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

3. Techniques d'amélioration de la performance

Rappelons l'équation de base de la performance (cf. article [E 3 550]) :

temps/tâche = instructions/tâche * cycle/instruction * temps/cycle.

La signification que l'on attribue à ces facteurs est la suivante :

  • cycle/instruction * temps/cycle : performance native (performance de base sans relation avec une quelconque application) ;

  • instructions/ tâche * cycle/instruction * temps/cycle : performance normalisée (performance vis-à-vis de l'accomplissement de la tâche considérée qui détermine le « profil » en termes d'instructions exécutées).

Avant d'aborder la présentation des techniques d'amélioration de la performance, il est intéressant d'examiner l'évolution des architectures RISC dans ce domaine. On peut distinguer six générations de RISC :

  • première génération : les pionniers (IBM 801, Ridge, Pyramid, HP...) le gain provenait surtout de la simplicité de la conception ;

  • deuxième génération (1987-) : la commercialisation des microprocesseurs RISC (R2000/R3000, SPARC...). Ces implémentations utilisent les techniques de pipeline qui avaient été introduites par IBM sur le STRETCH (en 1960 !). Le nombre moyen de cycles par instruction était de l'ordre de 1,2 à 1,6 ;

  • troisième génération (1990-) : DEC Alpha, HP7100, IBM RS/6000, PowerPC 601, MIPS R4000, SuperSPARC... Deux approches sont utilisées : superpipeline (R4000) ou superscalaire (HP7100, IBM, SuperSPARC), l'Alpha de DEC combinant les deux approches. On notera que la technique superscalaire est aussi utilisée dans le Pentium ;

  • quatrième génération (1995-) : UltraSPARC, MIPS R10000, DEC 21164, HP8000, PowerPC603e, IBM P2SC...

    L'exécution dans le désordre complète les techniques précédentes avec allongement des pipelines.

    Des techniques complémentaires sont associées à ces approches, telles que le scoreboarding introduit par CDC sur le 6600 en 1964 (que l'on retrouve sur Intel i960, Motorola 88110, DEC Alpha...) et la re-désignation...

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
Techniques d'amélioration de la performance

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) - IBM -   IBM System Journal.  -  Vol. 28, no 1 1989 Numéro consacré à Enterprise System Architecture.

  • (2) - BELL (C.-G.), SRECKER (W.-O.) -   Computer structures : What have we learned from the PDP – 11 ?  -  Proc. Thrid Annual Symposium on Computer Architecture (January).

  • (3) - ORGANICK (E.) -   The Multics System : An Examination of lts Structure.  -  The MIT Press Cambridge Massachusetts (1972).

  • (4) - ANSI/IEEE -   IEEE Standard for Floating-Point Arithmetic (Std 754-2008).  -  ISBN 978-0-7381-5753-5 (2008).

  • (5) - GOLDBERG (O.) -   What every computer scientist should know about Floating-Point Arithmetic. ACM Computing Surveys.  -  Vol. 23, no 1, p. 5-48, mars 1991.

  • (6) - AHO (A.-V.), SETHI (R.), ULLMAN (J.-D.) -   Computers Principles, Techniques...

1 Sites Internet

SPEC : http://www.spec.org

ACM : http://www.acm.org

HAUT DE PAGE

2 Événements

ACM-ISCA : International Conference on Computer Architecture

IEEE-MICRO : International Conference on Microarchitecture

HAUT DE PAGE

3 Annuaire

Intel : http://www.intel.com

Motorola : http://www.motorola.com

AMD : http://www.AMD.com

Via : http://www.via.com.tw

ARM : http://www.arm.com

MIPS : http://www.mips.com

Analog Devices : http://www.analog.com

Nvidia : http://www.nvidia.com

IEEE : Institute of Electrical and Electronics Engineers : http://www.iee.org/

ACM : Association for Computer Machinery : http://www.acm.org/

FSF :...

Logo Techniques de l'Ingenieur

Cet article est réservé aux abonnés.
Il vous reste 95 % à 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

Conception des cartes pour ordinateurs. Partie 1

Les cartes informatiques, utilisées dans les produits de bureautique, portables ou destinés à des ...

Microprocesseurs - Approche générale

Les microprocesseurs sont au cœur des systèmes numériques. Ils permettent le développement de logiciels ...

Microprocesseurs - Mise en œuvre et exemples d'application

Cet article s'organise autour de l'utilisation et de la mise en oeuvre des microprocesseurs en ...

Introduction à l'architecture des ordinateurs

L'article commence par une brève histoire des machines informatiques et introduit ensuite les principes ...