RISC-V, le Li­nux des ar­chi­tec­tures de pro­ces­seurs?

Electronique S - - News -

Dé­ve­lop­pé à l’ori­gine dans un cadre uni­ver­si­taire, ce jeu d’ins­truc­tions open source et libre de droits com­mence à sus­ci­ter l’in­té­rêt des ac­teurs de la mi­cro­élec­tro­nique en se po­sant en al­ter­na­tive aux ar­chi­tec­tures pro­prié­taires de type ARM et x86.

La su­pré­ma­tie de l’ar­chi­tec­ture ARM ne connaît plus guère de li­mites, que ce soit par­mi les pro­ces­seurs em­bar­qués ou, de plus en plus, dans l’in­dus­trie des mi­cro­con­trô­leurs, où tous les té­nors ou presque ont lan­cé des fa­milles de com­po­sants ba­sées sur des coeurs Cor­tex. Cette qua­si-stan­dar­di­sa­tion re­lève du flair tech­no­lo­gique et mar­ke­ting du bri­tan­nique et in­duit de nom­breux avan­tages pour les dé­ve­lop­peurs, à com­men­cer par un éco­sys­tème dé­sor­mais gi­gan­tesque qui leur per­met de pou­voir choi­sir par­mi une foule d’ou­tils de dé­ve­lop­pe­ment et de rou­tines lo­gi­cielles exis­tantes. En­core ren­for­cé par les dif­fi­cul­tés ac­tuelles d’Ima­gi­na­tion Tech­no­lo­gies qui im­pactent l’ar­chi­tec­ture MIPS de ce der­nier, ce mo­no­pole de fait dans l’em­bar­qué n’est tou­te­fois pas sans in­con­vé­nients, tant la mi­cro­élec­tro­nique s’est, dans son his­toire, da­van­tage nour­rie de concur­rences saines. Or l’in­dus­trie se trouve au­jourd’hui dé­pen­dante des choix d’une seule so­cié­té, dont les dif­fé­rents coeurs sont certes deve- nus des stan­dards, mais qui de­meurent sa pro­prié­té et qui, même pour les so­cié­tés pos­sé­dant de coû­teuses li­cences ar­chi­tec­tu­rales leur per­met­tant d’en mo­di­fier en par­tie l’as­pect hard­ware, im­posent leurs jeux d’ins­truc­tions spé­ci­fiques. D’où l’in­té­rêt sus­ci­té ac­tuel­le­ment par une poi­gnée d’al­ter­na­tives, dont la plus pro­bante ré­side dans l’ar­chi­tec­ture RISC-V.

Un ISA pen­sé pour les ex­ten­sions

Au dé­part, l’idée était as­sez simple: en s’ins­pi­rant de ce qui exis­tait par exemple dans le lo­gi­ciel libre, la di­vi­sion informatique de l’Uni­ver­si­té de Ber- ke­ley (Ca­li­for­nie) a mis au point une ar­chi­tec­ture de jeu d’ins­truc­tions (ISA) 64 bits pour pro­ces­seurs Risc ou­verte et libre. À l’image d’un Li­nux dans le do­maine des sys­tèmes d’ex­ploi­ta­tion, ce jeu d’ins­truc­tions bap­ti­sé RISC-V ( pro­non­cé « Risc five ») peut donc être uti­li­sé et ma­ni­pu­lé li­bre­ment par l’en­sei­gne­ment, la re­cherche et l’in­dus­trie. RISC-V a été conçu dès l’ori­gine pour évi­ter d’être at­ta­ché à une mi­croar­chi­tec­ture par­ti­cu­lière (avec mi­cro­code, exé­cu­tion dans l’ordre ou dans le désordre) ou à un hard­ware spé­ci­fique (Asic, FPGA, pro­ces­seur…). Son jeu d’ins­truc­tions de base peut être agré­men­té d’ex­ten­sions per­son­na­li­sées afin d’ac­cé­lé­rer le trai­te­ment de cer­taines don­nées – il sup­porte par exemple

le stan­dard de cal­cul en vir­gule flot­tante IEEE-754. Sont pré­vus l’adres­sage sur 32 et 64 bits, les im­plé­men­ta­tions mul­ti­coeurs (y com­pris hé­té­ro­gènes, c’es­tà-dire avec des coeurs dif­fé­rents fonc­tion­nant de concert), les ins­truc­tions de lon­gueurs dif­fé­rentes per­met­tant d’aug­men­ter la den­si­té de code, la vir­tua­li­sa­tion, etc. Les dé­ve­lop­peurs de RISC-V ont choi­si de par­tir d’une feuille blanche plu­tôt que de se ral­lier aux ten­ta­tives si­mi­laires de jeux d’ins­truc­tions ou­verts, dont le plus po­pu­laire était alors OpenRISC. Ce der­nier pré­sen­tait en ef­fet, à leurs yeux, plu­sieurs pro­blèmes rédhi­bi­toires : des ins­truc­tions condi­tion­nelles et des dé­lais d’em­bran­che­ment dif­fi­ciles à im­plé­men­ter, un en­co­dage 32 bits fixe li­mi­tant les ex­ten­sions fu­tures, l’ab­sence de sup­port du cal­cul en vir­gule flot­tante… Concrè­te­ment, RISC-V en­globe plu­sieurs dé­cli­nai­sons d’un jeu d’ins­truc­tions de base, RV32I et RV64I, qui prennent res­pec­ti­ve­ment en charge un es­pace d’adres­sage 32 et 64 bits. Une va­riante op­ti­mi­sée pour les « pe­tits » mi­cro­con­trô­leurs et bap­ti­sée RV32E existe éga­le­ment (avec entre autres mo­di­fi­ca­tions un nombre de re­gistres en­tiers ré­duit à 16), tan­dis que les tra­vaux concer­nant une im­plé­men­ta­tion 128 bits (RV128I) sont en cours. À ces jeux d’ins­truc­tions en nombre en­tiers de base peuvent être ajou­tées des ex­ten­sions ré­pon­dant aux be­soins et à la fan­tai­sie des dé­ve­lop­peurs. Ces ex­ten­sions seront clas­sées comme stan­dards, i.e. à usage gé­né­ral et ga­ran­ties sans conflits avec l’ISA de base, ou comme non stan­dards pour des usages plus spé­ci­fiques. Par­mi les ex­ten­sions stan­dards, on re­trou­ve­ra ty­pi­que­ment des ins­truc­tions de mul­ti­pli­ca­tion et de di­vi­sion, des opé­ra­tions ato­miques ou en­core du cal­cul en vir­gule flot­tante en pré­ci­sion simple ou double. D’autres ex­ten­sions, par­fois en­core à l’état de pro­po­si­tions, per­mettent de mieux prendre en charge les opé­ra­tions vec­to­rielles, les ins­truc­tions com­pactes sur 16 bits, les ar­chi­tec­tures SIMD, les ma­ni­pu­la­tions de bits, les in­ter­rup­tions et ex­cep­tions au ni­veau uti­li­sa­teur, les ins­truc­tions VLIW, etc. Mais, dès le dé­part, le jeu d’ins­truc­tions stan­dard RV32I com­porte 47 ins­truc­tions ca­pables d’ému­ler la plu­part des ISA exis­tants.

Li­ber­té to­tale, pas de royal­ties

In­té­res­sants au ni­veau aca­dé­mique, les tra­vaux concer­nant ce jeu d’ins­truc­tions open source RISC-V com­mencent éga­le­ment à pi­quer la cu­rio­si­té

des in­dus­triels im­pli­qués dans l’in­dus­trie des se­mi-conduc

teurs. « Cet ISA libre d’ac­cès et dé­pour­vu de royal­ties crée un nou­veau mo­dèle éco­no­mique pour les concep­teurs de pro­ces­seurs, et suscite un in­té­rêt crois­sant dans l’in­dus­trie qui de­vrait abou­tir ra­pi­de­ment à plu­sieurs dé­ploie­ments com­mer­ciaux » , es­time Lin­ley Gwen­nap, ana­lyste prin­ci­pal du Lin­ley Group. De grands noms comme Google et Oracle ont, très tôt, ma­ni­fes­té leur in­té­rêt pour RISC-V (la Fon­da­tion RISC-V ras­semble éga­le­ment HP, AMD, Nvi­dia, Sams ung, Qual­comm, I BM, Mi­cro­soft et d’autres). L’un des pro­mo­teurs les plus connus de RISC-V est la start-up SiFive, dont plu­sieurs des fon­da­teurs sont à l’ori­gine du dé­ve­lop­pe­ment de RISC-V à Ber­ke­ley. SiFive a dé­ve­lop­pé deux coeurs RISC-V: le plus ré­pan­du, le E31 Co­re­plex, vise les ap­pli­ca­tions tour­nant ac­tuel­le­ment sur des coeurs Cor­tex-M3 ou Cor­tex-M4 d’ARM, tan­dis que le E51 Co­re­plex s’ap­puie sur une ar­chi­tec­ture 64 bits et vise des ap­pli­ca­tions plus com­plexes comme les in­fra­struc­tures ré­seaux et le sto­ckage de don­nées. Ces coeurs sont dis­po­nibles gra­tui­te­ment pour éva­lua­tion, sous forme de bits­tream FPGA ou de code RTL Ve­ri­log, et peuvent être per­son­na­li­sés (no­tam­ment au ni­veau des IP as­su­rant la liai­son entre le bus Ti­leLink na­tif et les bus AHB-Lite, AXI4 et APB de­ve­nus stan­dards dans l’in­dus­trie) et li­cen­ciés ra­pi­de­ment et sim­ple­ment. SiFive pro­pose éga­le­ment un « vrai » cir­cuit matériel, le Free­dom E310, qui em­barque un coeur 32 bits E31 ca­den­cé jus­qu’à 320MHz. Ex­ploi­tant le jeu d’ins­truc­tions RV32I et ses ex­ten­sions M (mul­ti­pli­ca­tions/ di­vi­sions), A (ma­ni­pu­la­tions ato­miques) et C (ins­truc­tions com­pres­sées), ce coeur est en­tou­ré de 16Ko de cache ins­truc­tions, 16 Ko de Sram don­nées et de mul­tiples blocs pé­ri­phé­riques clas­siques (hor­loge, UART, PWM, QSPI, tem­po­ri­sa­teurs...). Ce cir­cuit équipe par ailleurs le kit de dé­ve­lop­pe­ment HiFive1, qui est com­pa­tible avec le for­mat Ar­dui­no et per­met d’ap­pré­hen­der l’ar­chi­tec­ture RISC-V de ma­nière simple et éco­no­mique puis­qu’il est ven­du 59 $ pièce avec un port USB et 128 Mbits de mé­moire flash. SiFive vient en outre de lan­cer un autre kit de dé­ve­lop­pe­ment, tou­jours com­pa­tible avec l’uni­vers Ar­dui­no, mais com­pre­nant cette fois le cir­cuit d’émis­sion/ré­cep­tion Blue­tooth et Wi-Fi ESP32 du chi­nois Es­pres­sif, et ré­fé­ren­cé Ar­dui­no Cinque. En­fin, SiFive pro­pose Free­dom Stu­dio, une pla­te­forme de dé­ve­lop­pe­ment

< Cette carte HiFive1 au for­mat Ar­dui­no per­met d’ap­pré­hen­der l’ar­chi­tec­ture RISC- V de ma­nière simple et éco­no­mique.

≥ Mi­cro­se­mi a été le pre­mier four­nis­seur de FPGA à pro­po­ser des coeurs RISC- V, dits RV32IM et co­dé­ve­lop­pés avec SiFive, et les ou­tils de concep­tion at­te­nants, pour ses cir­cuits lo­giques pro­gram­mables.

Newspapers in French

Newspapers from France

© PressReader. All rights reserved.