Próbáld ki a sütijeinket Mi, az Alza.hu Kft., azonosítószám: 27082440, sütiket használunk a weboldal működőképességének biztosításához, és a beleegyezéseddel weboldalunk tartalmának személyre szabásához is. 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.
Alzak icon

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

Nyomtatás
P-DC1-WEB05
30 év tapasztalat az e-kereskedelemben
3 millió megrendelés évente
a vásárlók 98% visszatérő
Több infó