Présentation
En anglaisRÉSUMÉ
Les jeux d’instructions, qui sont l’interface entre le matériel et le logiciel, définissent les opérations que doit effectuer le matériel et sont la cible d’un compilateur. Les jeux d’instructions sont généralement propriétaires. Depuis 2010, un jeu d’instructions libre et gratuit, RISC-V, a été défini. Il est constitué d’un noyau RISC de base et d’un certain nombre d’extensions standardisées, permettant de viser l’ensemble des classes d’applications, de l’Internet des Objets au calcul haute performance en passant par le marché des mobiles, PC et serveurs. Une fondation RISC-V regroupe un grand nombre d’acteurs : fondeurs, développeurs matériels et logiciels.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
Instruction sets, which act as the interface between hardware and software, define the operations that the hardware must perform and are the target of a compiler. Instruction sets are usually proprietary. Since 2010, an open source instruction set, called RISC-V, has been defined. It consists of a simple RISC base instruction set and a number of standardized extensions to target all classes of applications, from the Internet of Things to mobiles, PCs, servers and supercomputers. A RISC-V foundation brings together a large number of actors: silicon founders, hardware designers and software environment developers.
Auteur(s)
-
Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud
INTRODUCTION
Les jeux d’instructions des processeurs constituent l’interface entre le matériel et le logiciel. L’ensemble de leurs instructions définissent les opérations que doit effectuer le matériel et sont la cible d’un compilateur. Pour des raisons historiques, les jeux d’instructions sont généralement propriétaires. Depuis 2010, un jeu d’instructions open source a été défini à l’université de Berkeley sous le nom de RISC-V. Son objectif est de jouer pour les jeux d’instructions le rôle que jouent Linux pour les systèmes d’exploitation ou OpenOffice pour les suites bureautiques.
Les conditions pour qu’un jeu d’instructions open source rencontre le succès sont définies : grand nombre d’utilisateurs potentiels, environnement logiciel existant, jeux d’instructions performant et utilisable sur une large classe d’applications.
RISC-V a pour noyau un jeu d’instructions 32 bits pour le calcul entier qui est la base pour les microcontrôleurs et les processeurs bas de gamme. S’y ajoutent un certain nombre d’extensions standardisées ou susceptibles d’être standardisées. Pour aboutir à un jeu d’instructions 32 bits ou 64 bits comparable aux jeux d’instructions propriétaires comme Intel ou ARM, des extensions pour entiers 64 bits, multiplications et divisions entières, flottants 32 bits, flottants 64 bits, instructions atomiques pour la cohérence mémoire ont été standardisées. D’autres extensions sont en cours d’élaboration et de normalisation. L’extension 16 bits est destinée à du code compact pour applications embarquées. Les extensions SIMD et vectorielles visent la haute performance, etc.
La fondation RISC-V créée en 2015 regroupe une communauté de plus de 250 acteurs (fondeurs de silicium, fournisseurs de circuits ASIC ou d’IP, développeurs logiciels). Un nombre significatif de circuits ou IP implantant le jeu d’instructions RISC-V est disponible, ainsi que l’environnement logiciel nécessaire : simulateurs, débogueurs, compilateurs et bibliothèques, chargeurs et moniteurs, noyaux de système d’exploitation, distributions Linux, systèmes d’exploitation temps réel, etc.
KEYWORDS
instruction sets | RISC-V | open source | SIMD extension | vector extension
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
1. Jeux d’instruction
1.1 Évolution des jeux d’instructions
Un jeu d’instructions constitue l’interface entre le matériel (processeur) et le logiciel. C’est la cible d’un compilateur qui génère le code binaire correspondant aux instructions assembleur définies par le jeu d’instructions. Un jeu d’instruction doit être indépendant du matériel sous-jacent afin qu’il puisse s’exécuter sur des architectures matérielles différentes, ayant différents niveaux de complexité et de performance. Cette distinction existe depuis l’IBM360 (1965) et a permis de réaliser une gamme complète de machines, de la plus petite (360-20) à la plus performante (360-195) ayant toutes ce même jeu d’instructions.
L’article [H 1 999] présente les caractéristiques générales des instructions des différents types de jeux d’instructions. L’article [H 1 200] présente les extensions SIMD de ces jeux d’instructions.
En ce début des années 2020, on peut résumer schématiquement la situation de la manière suivante :
-
il y a deux jeux d’instructions dominants :
1.1. le jeu d’instructions x86, IA-32, Intel64 utilisé par Intel et AMD qui a évolué depuis les années 1980 avec des versions successives 8, 16, 32 et 64 bits. Intel et AMD fabriquent des gammes de processeurs utilisant ce jeu d’instructions,
1.2. le jeu d’instructions ARM, longtemps 32 bits (AArch32) avec une variante 16 bits, puis 64 bits (AArch64). ARM fournit via licences son jeu d’instructions et ses architectures à des sociétés fabless, c’est-à-dire ayant par la suite recours à des fondeurs indépendants pour fabriquer leurs processeurs ;
-
des jeux d’instructions RISC subsistent avec un degré d’utilisation variable. On peut citer :
2.1. le jeu d’instructions Power d’IBM...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
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
Jeux d’instruction
BIBLIOGRAPHIE
-
(1) - HILL (M.D.), CHRISTIE (D.), PATERSON (D.), YI (J.J.), CHIOU (D.), SENDAG (R.) - Proprietary versus Open Instruction Sets, - IEEE Micro, pp 58-68, July-August 2016. https://research.cs.wisc.edu/multifacet/papers/ieeemicro16_card_isa.pdf
-
(2) - OpenRISC 1000 Architecture Manual - https://opencores.org/websvn/filedetails?repname= openrisc&path=%2Fopenrisc%2Ftrunk%2 Fdocs%2Fopenrisc-arch-1.0-rev0.pdf
-
(3) - ASANOVIC (K.), PATTERSON (D.A.) - Instruction sets should be free: The case for RISC-V, - Technical Report N°UCB/EECS-2014-146, https://people.eecs.berkeley.edu/~krste/papers/EECS-2014-146.pdf
-
(4) - WATERMAN et al - The RISC Instruction Set Manual, Volume 1: User level ISA, version 2.0. - Technical Report N°UCB/EECS-2014-54.
-
(5) - WATERMAN (A.) - Design of the RISC-V Instruction Set Architecture, - Spring (2016), https://people.eecs.berkeley.edu/~krste/papers/EECS-2016-1.pdf
-
...
DANS NOS BASES DOCUMENTAIRES
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
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
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