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

Extensions non standardisées
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

5. Extensions non standardisées

Un certain nombre d’extensions sont listées en vue d’une possible standardisation.

Alors que les instructions RVG sont toutes de longueur fixe 32 bits, d’autres extensions peuvent nécessiter des instructions de longueurs différentes, par exemple :

  • 16 bits pour un codage compact des instructions réduisant la taille du code ;

  • plus de 32 bits pour des extensions particulières.

La figure 3 montre comment sont codées les différentes longueurs d’instructions dans RISC-V. Les cinq bits de poids faible du code opération bbb11 avec bbb≠111 définissent les instructions de taille 32 bits. Les deux bits de poids faible différents de 11 codent les instructions 16 bits. Puis les cinq bits de poids faible 11111 servent à coder les tailles supérieures à 32 bits, par incréments de 16 bits (figure 3)

5.1 Extensions annoncées

  • Extension C (compressé) : instructions 16 bits

    Un ensemble d’instructions 16 bits est défini pour réduire la taille du code pour les applications à espace mémoire réduit. Ces instructions peuvent être mélangées avec des instructions RV32I qui peuvent maintenant démarrer sur toute frontière de 16 bits (adresses paires). Les principes présentés en sont les suivants :

    • disposer dans cette extension des 33 instructions RV32I les plus fréquemment utilisées ;

    • réduire à 8 le nombre de registres de travail ;

    • avoir des instructions à 2 opérandes registres (rd ←rd opération rs) ;

    • limiter les immédiats à 5 ou 6 bits ;

    • le code opération est alors codé sur 5 bits.

    Cette extension n’est pas encore standardisée.

    Dans sa thèse, A. Waterman ...

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.

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
Extensions non standardisées
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