Présentation

Article interactif

1 - JEUX D’INSTRUCTION

  • 1.1 - Évolution des jeux d’instructions
  • 1.2 - Jeux d’instructions propriétaires ou libres ?

2 - JEU D’INSTRUCTIONS DE BASE RV32I

3 - EXTENSIONS DE BASE

  • 3.1 - Jeu d’instructions de base RV64I
  • 3.2 - Jeu d’instructions de base RV128I

4 - EXTENSIONS STANDARDS

5 - EXTENSIONS NON STANDARDISÉES

  • 5.1 - Extensions annoncées
  • 5.2 - Extension V : vectoriel

6 - COMMUNAUTÉ RISC-V

7 - REMARQUES POUR CONCLURE

Article de référence | Réf : H1201 v1

Jeu d’instructions de base RV32I
RISC-V : un jeu d’instructions Open Source

Auteur(s) : Daniel ETIEMBLE

Relu et validé le 05 janv. 2021

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉ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’article

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.

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1201


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

ABONNEZ-VOUS

Lecture en cours
Présentation
Version en anglais English

2. Jeu d’instructions de base RV32I

Le jeu d’instructions de base, appelé RV32I, comprend 47 instructions. Il y a 32 registres 32 bits nommés x0 à x31 et un compteur de programme (pc). Le registre x0 contient 0 et peut être utilisé comme registre destination d’une instruction lorsque le résultat n’est pas utilisé.

2.1 Format des instructions

Les instructions sont de taille fixe 32 bits, avec un code opération sur 7 bits, soit 128 codes opération fondamentaux (tableau 1). Pour RV32I, les deux bits [1 :0] du code opération sont 11, ce qui signifie que les 75 % des codes opérations restants sont disponibles pour les différentes extensions présentées aux chapitres 3, 4 et 5. Par ailleurs, seuls 11 des 32 codes opérations sont réellement utilisés soit 8,6 % du nombre total de codes opérations fondamentaux.

Les numéros de registre sont codés sur 5 bits. Les instructions RV32I ont 4 formats de base présentés en figure 1 :

  • le format R correspond aux opérations de type rd ← rs1 opération rs2 (deux registres source et un registre destination) ;

  • le format I correspond aux opérations de type rd ← rs1 opération immédiat (un registre source et un registre destination, un immédiat signé sur 12 bits) et aux accès mémoire en lecture (load) : rd ← mem(rs1 + immédiat) ;

  • le format S correspond aux instructions de rangement en mémoire (store) : mem(rs1 + immédiat)←rs2. Utiliser deux formats différents pour load et store permet de simplifier le décodage des instructions : un load a un registre source et un registre destination, alors qu’un store a deux registres source ;

  • le format U permet soit de charger un immédiat 20 bits dans la partie haute d’un registre (instruction LUI), soit d’ajouter cet immédiat à la partie haute du compteur de programme (instruction AUIPC).

Comme le montre la figure 2, les formats S et U ont deux variantes SB et UJ dans lesquelles les immédiats sont disposés différemment dans l’instruction.

HAUT DE PAGE

2.2 Classes...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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.

Obtenez CerT.I., la certification
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

ABONNEZ-VOUS

Lecture en cours
Jeu d’instructions de base RV32I
Sommaire
Sommaire

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

  • ...

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

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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

ABONNEZ-VOUS

Sommaire

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 %.


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

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

ABONNEZ-VOUS