Présentation
EnglishRÉ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’articleAuteur(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.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 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
4. Extensions standards
Un certain nombre d’extensions standards ont été définies
4.1 Extension M : multiplication et division sur des entiers
La version RV32M définit des instructions de multiplication et de division opérant sur les registres entiers 32 bits et fournissant un résultat sur 32 bits :
-
quatre instructions de multiplication : mul délivre les 32 bits de poids faible. Les trois autres délivrent les 32 bits de poids fort (mulh avec des données signées, mulhu avec des données non signées et mulhsu avec des données signées et non signées) ;
-
quatre instructions de division 32 bits par 32 bits : div et divu pour des données signées et non signées, rem et remu pour les restes signés et non signés.
RV64M étend à 64 bits les opérations de RV32M et ajoute 5 instructions pour des données 32 bits avec extension de signe sur 64 bits : mulw, divw, divwu, remw et remuw.
HAUT DE PAGE4.2 Extension F : flottants en simple précision
L’extension F ajoute 32 registres 32 bits f0 à f31 pour les données en représentation flottante en simple précision et un registre de contrôle et d’état fcar.
Le registre fcar est manipulable via six instructions système.
Les instructions RV32 se décomposent en un certain nombre de classes :
-
les instructions d’accès mémoire flw et fsw ont le même mode d’adressage que les load et store sur les données entières. Elles transfèrent un mot de 32 bits entre la mémoire et un registre flottant ;
-
les instructions de calcul utilisent le format R : on trouve fadd.s, fsub.s, fmul.s, fdiv.s, fmin.s, fmax.s, fsqrt.s dont la signification est évidente ;
-
les instructions de conversion et de transfert. Les instructions de conversion convertissent des données flottantes en données entières 32 ou 64 bits, et réciproquement. Les instructions de manipulation de bit de signe copient le contenu d’un registre source rs1 dans un registre destination rd en positionnant le bit...
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
(240 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
Extensions standards
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
(240 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
(240 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