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'achitecture 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’articleABSTRACT
The concept of the microprocessor, which corresponds to the implementation of the processing unit on a single circuit resembles processors, in the broad sense, in terms of architecture. The various aspects of the architecture of microprocessors are the support system, instruction set, memory hierarchy, internal architecture, interfaces, parallelism and assessment of performances. This presentation of the architecture of microprocessors is illustrated by state-of-the-art devices in each field.
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.
MOTS-CLÉS
KEYWORDS
microprocessors | architecture
VERSIONS
- Version archivée 1 de nov. 1999 par Dominique HOUZET, René J. CHEVANCE
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Électronique - Photonique > Électronique > Architecture et tests des circuits numériques > Microprocesseurs - Architecture et performances > Techniques d'amélioration de la performance
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
Présentation
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...
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
Techniques d'amélioration de la performance
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...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
SPEC : http://www.spec.org
ACM : http://www.acm.org
HAUT DE PAGE
ACM-ISCA : International Conference on Computer Architecture
IEEE-MICRO : International Conference on Microarchitecture
HAUT DE PAGE
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 :...
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