RISC-V

RISC-V
Tervező Kaliforniai Egyetem, Berkeley
Bitek száma 32, 64, 128
Bevezetés 2010
Verzió
  • nem privilegizált ISA 20191213,[1]
  • privilegizált ISA 20211203[2]
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
  • M: Szorzás (Multiplication)
  • A: Atomi utasítások (Atomics – LR/SC & fetch-and-op)
  • F: Lebegőpontos (Floating point) (32 bites)
  • D: FP dupla (64 bites)
  • Q: FP quad (128 bites)
  • Zicsr: vezérlő- és állapotregiszter-támogatás
  • Zifencei: Load/store fence
  • C: Tömörített utasítások (Compressed instructions)(16 bites)
  • J: Interpretált vagy JIT fordítású nyelvek támogatása
Nyílt igen, jogdíjmentes
Regiszterek  
Általános célú
  • 16
  • 32
(benne egy mindig 0 értékű regiszter)
Lebegőpontos
  • 32 (F kiterjesztés)
  • 64 (D kiterjesztés)
  • 128 (Q kiterjesztés) (opcionális)

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]

  1. a b c d e f g h Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) isa20191213 nevű lábjegyzeteknek
  2. a b Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) priv-isa nevű lábjegyzeteknek
  3. big-endian és kettős bájtsorrend támogatott a kiterjesztésekben
  4. Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) contributors nevű lábjegyzeteknek
  5. Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) isa2.2 nevű lábjegyzeteknek
  6. Forráshivatkozás-hiba: Érvénytelen <ref> címke; nincs megadva szöveg a(z) external-debug nevű lábjegyzeteknek

RISC-V

Dodaje.pl - Ogłoszenia lokalne