Présentation
En anglaisRÉSUMÉ
Les processeurs VLIW s'appuient sur le compilateur pour utiliser le parallélisme entre les instructions d'un code séquentiel et lancer l'exécution de plusieurs instructions indépendantes à chaque cycle d'horloge. Cet article décrit trois exemples. Les processeurs successifs de la famille TMS320Cx de Texas Instruments, les plus proches de l'approche VLIW pure. Le processeur Tiger Sharc d'Analog Device ayant des caractéristiques VLIW et superscalaires. L'architecture EPIC implantée dans les processeurs Itanium distingue les instructions parallèles définies par le compilateur et les instructions VLIW, et décide des instructions à exécuter à chaque cycle d'horloge. Les processeurs VLIW sont utilisés dans les processeurs de traitement du signal (DSP), ou dans les multi-coeurs et «many core» pour la faible consommation.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
VLIW processors rely on the compiler to exploit the parallelism between the instructions of a sequential code to launch multiple independent instructions at each clock cycle. Three examples are detailed. Successive processors of the TMS320Cx family of Texas Instruments come close to the pure VLIW approach. The Analog Device Tiger Sharc processor has both VLIW and superscalar features. The EPIC architecture implemented in Itanium processors distinguishes parallel instructions defined by the compiler and VLIW instructions: the hardware decides which instructions are executed at each clock cycle. The VLIW processors are widely used in DSP or multi-core and manycore processors for low power consumption.
Auteur(s)
-
Daniel ETIEMBLE : Ingénieur INSA Lyon - Professeur émérite à l'université Paris Sud
INTRODUCTION
Cet article examine les caractéristiques principales des processeurs à mots d'instructions très longs, généralement appelés VLIW (Very Long Instruction Word). Un processeur VLIW utilise le parallélisme d'instructions existant dans un programme séquentiel pour démarrer à chaque cycle d'horloge l'exécution de plusieurs instructions élémentaires qui constituent le mot d'instruction très long. Contrairement aux processeurs superscalaires pour lesquels le matériel détermine dynamiquement les instructions exécutables simultanément, les processeurs VLIW s'appuient totalement ou principalement sur le compilateur pour constituer le mot d'instruction très long. Cette caractéristique permet de comprendre pourquoi ces processeurs ont leurs meilleures performances lorsque le comportement du programme est connu à la compilation, ce qui est souvent le cas pour le traitement du signal et des images (DSP).
Après un bref historique des processeurs VLIW, l'article présente les principes de l'exécution VLIW. Un processeur « pédagogique », proche des caractéristiques des VLIW existants, permet d'illustrer les caractéristiques essentielles facilitant l'utilisation du pipeline logiciel pour exécuter à chaque cycle d'horloge des instructions élémentaires appartenant à des itérations différentes d'une boucle de calcul. La manière de rendre conditionnelle l'exécution des instructions élémentaires et la manière de traiter les instructions de calcul multi-cycles, sans et avec « registres tournants », sont détaillées.
Trois exemples de processeurs VLIW sont ensuite présentés, de l'approche VLIW pure où le compilateur contrôle toutes les dépendances à des approches mêlant les caractéristiques VLIW avec un contrôle matériel des dépendances. Le premier exemple est la famille TMS320C6x des processeurs de traitement du signal de Texas Instruments, avec successivement C62 et C67, C64, C64+ et C674, puis C66x. Ces processeurs sont très utilisés comme processeurs DSP avec de très bonnes performances et une consommation réduite. Le second exemple est le TigerSharc qui combine des caractéristiques VLIW et superscalaires. Concurrent des TMS320C6x au début des années 2000, ce processeur n'a pas eu de successeur depuis. Le troisième exemple est celui de l'architecture EPIC implantée dans les processeurs Itanium. Cette architecture distingue les instructions exécutables en parallèle définies par le compilateur et l'instruction longue de 128 bits (3 instructions élémentaires). Le matériel décide quelles instructions parallèles peuvent effectivement démarrer à chaque cycle. Les caractéristiques VLIW (instructions prédiquées, registres tournants...) et les caractéristiques faisant intervenir le matériel (prédiction de branchement, accès mémoire anticipés) sont détaillées. Conçus par Intel et HP pour supplanter les processeurs superscalaires à exécution non ordonnée, EPIC et les processeurs Itanium n'ont pu réaliser cet objectif et sont maintenant abandonnés par Intel.
L'approche VLIW connaît un grand succès avec les processeurs DSP. Elle est aussi beaucoup utilisée pour les coprocesseurs de traitement du signal dans les systèmes sur puce. Elle est également une solution viable pour les architectures multi-cœurs ou « many-core » à faible consommation. Elle est généralement supplantée par les processeurs superscalaires exécutant les jeux d'instructions IA-32, Intel64 ou ARM pour les processeurs d'usage général.
KEYWORDS
instruction level parallelism | VLIW processor | software pipelining | Computer | signal processing
DOI (Digital Object Identifier)
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
5. Conclusion
L'approche VLIW, basée sur un ordonnancement statique par le compilateur d'instructions dans une instruction très longue favorise l'utilisation du pipeline logiciel, généralement combinée avec le déroulage de boucles pour exécuter le maximum d'instructions en parallèle dans les différentes unités fonctionnelles. Si le contrôle des dépendances de données et de contrôle uniquement par le logiciel simplifie l'implémentation matérielle, des variantes utilisent un contrôle matériel des dépendances et des techniques comme les prédicteurs de branchement pour prendre en compte à l'exécution ce qui n'est pas connu à la compilation.
L'approche VLIW a connu et connaît de grands succès dans les processeurs spécialisés pour le traitement du signal : le meilleur exemple est la série TMS320C6x de Texas Instruments. Elle est aussi beaucoup utilisée dans des coprocesseurs de systèmes sur puce (SoC) pour la partie traitement du signal. Dans ce domaine, elle combine haute performance et faible consommation.
Pour les processeurs d'usage général, l'histoire du Transmeta et des processeurs Itanium a plutôt montré la supériorité des processeurs superscalaires multi-pipelines et encore plus superscalaires de type « flot de données restreint » aussi appelés à exécution non ordonnée exécutant les jeux d'instructions IA-32 et Intel64.
Pour des architectures multi-cœurs ou à très grand nombre de cœurs faible consommation, les processeurs VLIW peuvent être une solution viable. Ils bénéficient de la simplification de la partie contrôle par rapport aux processeurs gérant les dépendances par matériel. Cette simplification réduit à la fois la surface du processeur et la consommation énergétique.
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
Conclusion
BIBLIOGRAPHIE
-
(1) - CHARLESWORTH (A.E.) - An approach to scientific array processing: the architectural design of the AP-120B/FPS-164 family. - Computer, sept. 1981.
-
(2) - FISHER (J.A.) - Very long instruction word architectures and the ELI-512. - Proceeding of the 10th annual international symposium on Computer architecture (ISCA '83), p. 140-150 (1983).
-
(3) - FISHER (J.A.) - Trace scheduling : a technique for global microcode compaction. - IEEE Transactions on Computers, c-30(7), p. 478-490, juil. 1981.
-
(4) - BESK (G.R.), YEN (D.W.L.), ANDERSON (T.L.) - The Cydra 5 minisupercomputer: architecture and implementation. - The Journal of Supercomputing, 7(1/2) (1993).
-
(5) - COLWELL (R.P.), NIX (R.P.), O'DONNELL (J.J.), PAPWORTH (D.B.), RODMAN (P.K.) - A VLIW architecture for a trace scheduling compiler. - IEEE Transactions on Computers, vol. 37, no 8, p. 967-979, août 1988.
-
...
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