Tervező | Kaliforniai Egyetem, Berkeley |
---|---|
Bitek száma | 32, 64, 128 |
Bevezetés | 2010 |
Verzió | |
Kialakítás | RISC |
Típus | load-store |
Kódolás | változó, 32 bites, 16 bites tömörített |
Elágazás | Compare-and-branch |
Bájtsorrend | little-endian[1](p9)[3] |
Utasításkészlet- kiterjesztések |
|
Nyílt | igen, jogdíjmentes |
Regiszterek | |
Általános célú |
|
Lebegőpontos |
|
A RISC-V (angolul „risk-five”[1](p1), azaz „ötös számú RISC”) egy nyílt szabványú utasításkészlet-architektúra (ISA), amely a modern, megalapozott RISC elveken alapul. A legtöbb más ISA-tervezettel ellentétben a RISC-V nyílt forráskódú licencek alatt áll, amelyek használatáért nem kell fizetni. Számos cég kínál vagy jelentett be RISC-V hardvert, elérhetőek RISC-V támogatással rendelkező nyílt forráskódú operációs rendszerek, és az utasításkészletet számos népszerű szoftver eszközlánc is támogatja.
A RISC elveknek megfelelően a RISC-V ISA egy load-store (betöltő-tároló) architektúra, tehát a memória csak a betöltő és tároló utasításokon keresztül elérhető. Lebegőpontos utasításai az IEEE 754 szabványnak megfelelőek. A RISC-V ISA tervezésében több teljesítményfokozó fogást alkalmaztak, például az utasításkészlet kódolásában az utasítás részeit kódoló bitmezőket úgy választották meg, hogy architekturálisan semleges módon minimalizálják a multiplexerek használatát a CPU dekódoló hardverében,[1](p17) és a közvetlen értékek legmagasabb helyiértékű bitjei is úgy lettek elhelyezve, hogy gyorsítsák az előjelkiterjesztést.[1](p17)
Az utasításkészletet a felhasználás széles skálájára tervezték. Az alap utasításkészlet 32 bites, azonos hosszú, 4 bájtos határra igazított utasításokból áll, de az ISA támogatja a változó utasításhosszú kiterjesztéseket is, amelyekben minden utasítás tetszőleges számú 16 bites csomagból állhat.[1](pp7-10) Az utasításkészlet részhalmazai támogatják a kis beágyazott rendszereket, a személyi számítógépeket, a vektorprocesszoros szuperszámítógépeket és az adattárházakat kiszolgáló, 19 hüvelykes rackbe szerelt párhuzamos számítógépeket.
Az utasításkészlet specifikációja 32 bites és 64 bites címtartomány-változatokat definiál. A specifikáció tartalmaz egy 128 bites folytonos (lapos, flat) címtér-változatot, a 32 és 64 bites változatok kiterjesztéseként, de a 128 bites ISA továbbra is szándékosan "nem befagyasztott" állapotban maradt, mert még igen kevés gyakorlati tapasztalat van az ilyen nagy memóriarendszerekkel kapcsolatban.[1](p41)
A projekt 2010-ben indult a Kaliforniai Egyetemen, Berkeleyben, de jelenleg több közreműködő az egyetemhez nem kötődő önkéntes.[4] Más akadémiai tervekkel ellentétben, amelyek jellemzően csak az egyszerűségre optimalizáltak, itt a tervezők célja az volt, hogy a RISC-V utasításkészlet a gyakorlatban alkalmazható számítógépek számára is megfelelő legyen.
2019 júniusi állapot szerint a felhasználói tér ISA 2.2-es verziója[5] és a privilegizált ISA 1.11-es verziója[2] befagyasztásra került, lehetővé téve a szoftver- és hardverfejlesztés folytatását. A felhasználói tér ISA-t, amelyet ekkor nem-privilegizált ISA-ra (Unprivileged ISA) neveztek át, frissítették, ratifikálták és a 20191213-as verzióban befagyasztották.[1] A külső hibakeresési specifikáció 0.13.2 verziójú tervezetként áll rendelkezésre.[6]
<ref>
címke; nincs megadva szöveg a(z) isa20191213
nevű lábjegyzeteknek<ref>
címke; nincs megadva szöveg a(z) priv-isa
nevű lábjegyzeteknek<ref>
címke; nincs megadva szöveg a(z) contributors
nevű lábjegyzeteknek<ref>
címke; nincs megadva szöveg a(z) isa2.2
nevű lábjegyzeteknek<ref>
címke; nincs megadva szöveg a(z) external-debug
nevű lábjegyzeteknek