A RISC-V okos felépítése

Érkezik a harmadik nagy processzorarchitektúra • Szerző: Michal Rybka

A RISC-V eleganciája nem csupán abban rejlik, hogy nyílt architektúrájú, hanem abban is, hogy már a kezdetektől moduláris felépítéssel tervezték. Míg az x86 több mint ezer utasítást, az ARM több százat tartalmaz, a RISC-V alapverziója mindössze 40 utasítást foglal magában, ha pedig a gyártó többre vágyik, utasításkiegészítéseket (extensions) alkalmazhat.

RISC-V

Minimális utasításkészlet

A RISC-V utasításmagja kicsi, és csak egész számokkal (integer) végzett műveleteket támogat. A specifikáció négy különböző utasításbázist különböztet meg: RV32I, RV32E, RV64I és RV128I, ahol az „I” az egész számokkal végzett műveleteket jelöli, a szám pedig az címzési busz szélességét adja meg: 32, 64, illetve a jövőben akár 128 bitet is (a 64 bittel nagyobb memóriabuszok használata várhatóan körülbelül 2030 körül lesz szükséges). Az RV32E kifejezetten mikrokontrollerekhez (embedded) készült, még kompaktabb változat: 32 helyett csak 16 munkaregisztert tartalmaz, és nem feltétlenül támogatja az időzítőket. A cél az, hogy csak a legszükségesebb minimum legyen meg, így a tervezők csak azokat a funkciókat adhatják hozzá, amelyekre valóban szükségük van.

Kiterjesztések és rugalmasság

A mag a processzor számára csak a legszükségesebb alapfunkciókat biztosítja, amelyeket kiegészítésekkel (extensions) lehet bővíteni. A kiterjesztéseket betűkkel jelölik, amelyek a funkciójukat fejezik ki: az F (Floating Point) a lebegő tizedesvesszős számításokhoz, a D (Double-precision Floating Point) a dupla pontosságú műveletekhez, a Q pedig a négyszeres pontosságú (Quad-precision Floating Point) műveletekhez tartozik. Egyes kiterjesztések már le vannak zárva (frozen), másokon még dolgoznak, és vannak jövőbeli kiterjesztések is, például a J, amely a dinamikusan fordított nyelvek támogatását célozza. A nyíltan specifikált kiterjesztéseken (standard extensions) túl a konkrét processzormodell saját, nem standard kiterjesztéseket (non-standard extensions) is tartalmazhat, amelyek nagyon specializáltak lehetnek, és akár ütközhetnek más kiterjesztésekkel is. Ezeket a gyártók teljesen a saját igényeik szerint alakíthatják, így a processzor rugalmasan testreszabható a konkrét felhasználásra.

Minden RISC-V processzor képes jelezni a program számára, hogy mely kiterjesztéseket támogatja. A már lezárt (frozen) kiterjesztések esetén a támogatás azt jelenti, hogy a processzornak minden utasítást ismernie kell az adott osztályból. Ha a program a processzornak olyan utasítást küld, amelyet az nem tud feldolgozni (illegal instruction, unsupported instruction), akkor kivétel (trap) keletkezik, amelyet az operációs rendszer kezelhet úgy, hogy a nem kompatibilis programot leállítja, vagy a hiányzó utasítást szoftveresen emulálja. Az utasítások szoftveres emulációja lassabb ugyan, de sok alkalmazásban ennek ellenére hasznos lehet.

Az „alulról felfelé építkezés” filozófiája

A specifikáció „alulról felfelé” építkezik, és „felfújható”, ami teljesen ellentétes más architektúrák filozófiájával, ahol általában csak újabb és újabb utasításokat adnak hozzá, és nagyon ritkán távolítanak el bármit. További különbség, hogy a hagyományos rendszereknél a fejlesztő határozza meg az utasításokat, és a gyártó az architektúrát jellemzően úgy módosítja, hogy saját kiegészítéseket ad hozzá. A RISC-V esetében a gyártó teljesen maga is megtervezheti az architektúrát, akár úgy, hogy teljesen az alapoktól indul, és nem kell senkitől engedélyt kérnie.

A teljes utasításkészlet-specifikáció (User Level ISA) ingyenesen letölthető a risc.org weboldalról.

i

Az utasításkészlet specifikációja

4,9 526×
Ár/Elérhetőség figyelése
AMD Ryzen 7 7800X3D
Processzor - 8 magos, 16-szálas, 4,2 GHz (TDP 120W), Boost 5 GHz, 96 MB L3 cache, AMD Radeon Graphics 2200 MHz, AMD AM5 foglalat, Raphael
  138 190 Ft
Raktáron > 5 db
Éjfélig megrendeled, délelőtt az AlzaBoxban leled! Vagy standard kiszállítással kérheted FoxPost, Packeta, MPL boxokba is.
Infó
Termékkód: BD750k7a1
4,8 128×
Ár/Elérhetőség figyelése
Intel Core i7-12700KF
Processzor - 12 magos, 20-szálas, 3,6 GHz (TDP 125W), Boost 5 GHz, 25 MB L3 cache, Intel 1700 foglalat, Alder Lake-S
  100 890 Ft
Raktáron > 5 db
Éjfélig megrendeled, délelőtt az AlzaBoxban leled! Vagy standard kiszállítással kérheted FoxPost, Packeta, MPL boxokba is.
Infó
Termékkód: BOi712700kf
Nyomtatás
Próbáld ki a sütijeinket Mi, az naxqolviruze.shop Kft., azonosítószám: 27082440, sütiket és egyéb adatokat használunk a weboldal működésének biztosítása érdekében, valamint az Ön hozzájárulásával többek között a hirdetések és weboldalaink tartalmának személyre szabására. Az "Értem" gombra kattintva elfogadod a sütik használatát és a weboldal viselkedésével kapcsolatos adatok átadását a célzott hirdetések megjelenítésére a közösségi hálózatokon és más weboldalakon található hirdetési felületeken.
Részletes beállítások
Alzak icon
P-DC1-WEB40
30 év tapasztalat az e-kereskedelemben
3 millió megrendelés évente
a vásárlók 98% visszatérő
Több infó