A Shakti (stilizáltan SHAKTI) egy nyílt forráskódú hardver létrehozására irányuló kezdeményezés, az IIT Madras egyetem Reconfigurable Intelligent Systems Engineering (RISE) csoportjának vezetésével, melynek célja az első teljes mértékben hazai fejlesztésű, ipari felhasználású processzor kifejlesztése Indiában. A Shakti kezdeményezés céljai közé tartozik egy nyílt forráskódú ipari felhasználásra alkalmas processzor kifejlesztése, és a processzort használó kész egylapkás rendszerek (system on a chip, SoC), mikroprocesszoros fejlesztőkártyák és egy Shakti alapú szoftverplatform létrehozása. A csoport elsősorban a számítógép-architektúra kutatására fókuszál, olyan SoC-k fejlesztésére, melyek versenyképesek a piacon lévő kereskedelmi ajánlatokkal szemben a (lapka)terület, az energiafelhasználás és a teljesítmény tekintetében. A Shakti processzorok forráskódja nyílt, Módosított BSD licenc alatt tették közzé.
V. Kamakoti, az IIT Madras igazgatója vezette a Shakti mikroprocesszor projektet, az IIT Madras Számítástechnikai és Mérnöki Tanszékének Prathap Subrahmanyam Digitális Intelligencia és Biztonságos Hardverarchitektúra Központjában. Ezt az indiai Elektronikai és Informatikai Minisztérium támogatta a ‘Digital India RISC-V’ kezdeményezésen keresztül.
Processzorok A Shakti processzorok a RISC-V utasításkészlet-architektúrán alapulnak. A processzorokat úgy tervezték, hogy több eltérő gyártástechnológiával is gyárthatók legyenek, ami lehet akár 22 nm-es FinFET vagy 180 nm-es CMOS technológiai folyamat, a gyártó félvezetőgyártó üzemtől (foundry) függően.
A Shakti egy processzorcsaládot tervez fejlesztési terve részeként, a piac különböző szegmenseinek kiszolgálására. A család tagjait nagy vonalakban az „alapprocesszorok”, „többmagos processzorok” és „kísérleti processzorok” kategóriákba sorolják, a kategóriákban pedig betűkkel jelölt osztályokba.
Az E és C osztályú magok a dolgok internete (IoT), beágyazott rendszerek és asztali számítógépek piacát célozzák. A processzor-kialakítások teljesen jogdíjmentesek és nyílt forráskódú licenc hatálya alá esnek, azaz a módosított BSD licenc alatt vannak közzétéve.
Az E és C osztályú magok megvalósítása Bluespec SystemVerilog (BSV) nyelven történt, ami a Haskell egyik dialektusa.
A Shakti projekt célja hat különböző, RISC-V utasításkészlet-architektúrájú processzorváltozat megépítése.
Alapszintű processzorok
E osztály Az E osztályú processzorok 32 és 64 bites mikrovezérlők, melyek képesek támogatni az RISC-V ISA összes kiterjesztését, kis fogyasztású és teljesítményű számítógépes alkalmazásokhoz. Az E osztály egy sorrendi 3 fokozatú futószalagot tartalmaz, melynek működési frekvenciája -nél alacsonyabb a szilíciumon. Szerepe az ARM architektúra M osztályú (Cortex-M sorozat) magjaihoz hasonlítható. Képes valós idejű operációs rendszerek futtatására, mint például a FreeRTOS, Zephyr, és eChronos. Az E osztályú processzorok piaci szegmense az intelligens kártyák, IoT-eszközök, motorvezérlők és robotikai platformok támogatása.
Az E-arty35T egy E osztályú mag köré épített SoC. Az E-arty35T egylapkás rendszer (SoC) egy egycsipes 32 bites E osztályú mikrovezérlő RAM-mal. 32 db. általános célú bemenet/kimeneti (GPIO) csatlakozással rendelkezik (melyek közül a felső 16 GPIO érintkező a kártyára szerelt LED-ekhez és kapcsolókhoz van rendelve), emellett található rajta egy platform szintű megszakításvezérlő (PLIC), egy számláló, 2 Serial Peripheral Interface (SPI), 2 univerzális aszinkron adóvevő (UART), 1 I²C soros sín, 6 impulzusszélesség-modulátor (PWM) és egy beépített Xilinx analóg-digitális átalakító (X-ADC).
C osztály A C osztály egy 64 bites vezérlő típusú processzor, középkategóriás beágyazott alkalmazásokhoz. A mag egy nagymértékben optimalizált, 6 fokozatú sorrendi kialakítás, MMU-támogatással és olyan operációs rendszerek futtatásának képességével, mint Linux és Sel4. Nagy mértékben konfigurálható a szabványos RV64GC ISA kiterjesztések támogatásával. 200– felett futó középkategóriás számítási rendszerekhez készült. -ig testre szabható. Az ARM Cortex A35/A55 processzorokkal szemben pozicionálható. Ennek az osztálynak az alkalmazási területe a beágyazott rendszerek, motorvezérlés, IoT, tárolási és ipari alkalmazások, az alacsony költségű, nagy teljesítményű Linux-alapú alkalmazások, például hálózatkezelés, átjárók vezérlése stb.
A C-arty100T a C osztály köré épített SoC. A C-arty100T egylapkás rendszer (SoC) egy egycsipes 64 bites C osztályú mikrovezérlő DDR3 RAM-mal, 16 általános célú be-/kimeneti (GPIO) porttal, egy platformszintű megszakításvezérlővel (PLIC), egy számlálóval, 1 univerzális aszinkron adóvevővel (UART) és 1 I²C sínnel. Közepes szintű alkalmazási feladatokhoz készült, nagyon alacsony energiafogyasztással és opcionális memóriavédelmi támogatással.
I osztály Az I osztály egy 64 bites processzor számítási, mobil-, tárolási és hálózati platformok számára. Jellemzői közé tartozik a sorrenden kívüli végrehajtás, többszálas programfuttatás (multithreading), agresszív elágazásjóslás, nem blokkoló gyorsítótárak és mély, sok fokozatú futószalagok használata. A processzor működési órajelfrekvenciája –. 2020 áprilisától a fejlesztőcsapat a megvalósítás fizikáján dolgozott, továbbá a memóriafüggőség előrejelzésén, utasításablak/ütemező optimalizálások, egyes funkcionális egységek megvalósításán, a teljesítményelemzésen és -előrejelzéseken, és az optimalizáláson, hogy a 22 nm-es technológiához tervezett processzor elérje az első kitűzött célfrekvenciát, az -et.
Többmagos processzorok
M osztály Mobil osztályú processzor legfeljebb nyolc maggal, C és I osztályú magok kombinációit alkalmazva. Az M osztályú processzorok általános célú számítási célokra, alsókategóriás/belépő szintű szerver és mobil alkalmazásokhoz készülnek. A működési órajel-frekvencia -ig terjed. Támogatja a nagy utasításkibocsátási méretet, a négyszálas és opcionális NoC (network-on-chip) összekapcsolási technológiát. Az M osztályú processzorok különböző energia- és teljesítménycélokra vannak optimalizálva.
S osztály Az S osztály egy 64 bites szuperskalár, többszálas változat, asztali és vállalati szerverekben történő felhasználásra. 2–16 magot támogat, körülbelül –-es órajellel.
H osztály A H osztály egy 64 bites processzor a nagymértékben párhuzamos vállalati, HPC, és analitikai alkalmazásokhoz. A magok lehetnek a C vagy I osztály kombinációi, a kívánt egyszálas teljesítmény határozza meg a magok választását. A H osztályú akár 128 maggal rendelkezhet, magonként több gyorsítóval.
Kísérleti processzorok Ezek olyan kísérleti és kutatási projektek, amelyek egy magas biztonságú és hibatűrő processzor kifejlesztését célozzák.
T osztály A T osztály célja, hogy további hardveres támogatást nyújtson az információk védelméhez a memóriaalapú támadásokkal szemben. Tervezése egy egységes hardveres keretrendszerre fókuszál, amely a tér- és időbeli memóriatámadások kivédését és a hatások mérséklését célozza.
F osztály Az F osztály az alaposztályú processzor hibatűrő változata. Jellemzői közé tartoznak a redundáns számítási blokkok (mint a DMR és TMR),DMR: ‘double modular redundant’, TMR: ‘triple modular redundant’ (circuits) – kétszeres és háromszoros moduláris redundancia, áramkörök többszörözése a single event upset (SEU, sugárzás által kiváltott egyszeri hibaesemény), single event transient (SET, egyszeri tranziens) és single event latchup (SEL, egyszeri kiülés) hibaesemények kivédésére. temporális redundancia modulok az állandó hibák detektálására, lock-step magkonfigurációk, hibalokalizációs áramkörök, ECC a kritikus memóriablokkokhoz és redundáns szövevényes összekötő hálózatok.
Tapeoutok Eddig két C osztályú processzor (kódnevükön RIMO és Risecreek) és egy E osztályú processzor (Moushik) volt gyártásra bocsátva (tape-out).
RIMO A RIMO egy Shakti C osztályú SoC kódneve, amely a gyártási fázisba lépett (tape-out) 2018 októberében, és 180 nm-es technológiával gyártották a mohali Semi-Conductor Laboratory kutatóintézetben. A -es csip a tesztek során elérte a -es működési frekvenciát. A chip 208 tűs CQFP (Ceramic Quad Flat Pack) kerámia tokba volt szerelve.
Risecreek A CREEK egy Shakti C osztályú SoC, amely 2018 júliusában jutott el a gyártási fázisba. Az Intel oregoni IC gyárában gyártják, -es FinFET folyamattal. A -es csip a tesztek során elérte a -es működési frekvenciát. A csip 324 érintkezős BGA (Ball Grid Array) tokozásba van szerelve.
Moushik A Moushik egy Shakti E osztályú SoC, amelyet az SCL gyárt -es technológiájú folyamattal, 2020-tól kezdve. -es frekvencián működik és az Ardonyx 1.0 nevű alaplappal együtt fejlesztették ki.
IRIS Az IIT Madras és az ISRO Inertial Systems Unit kutatóközpont 2025 februárjában sikeresen megtervezte és kibocsátotta a 64 bites IRIS („Indigenous RISC-V Controller for Space Applications”, belső fejlesztésű RISC-V vezérlő űrtechnikai alkalmazásokhoz) csipet, amely a Shakti alapkiépítésű processzoron alapul. A csip konfigurációja figyelembe veszi az ISRO küldetésekben használt eszközök és érzékelők feldolgozási teljesítményét és funkcionális igényeit. A megbízhatóság javítására hibatűrő belső memóriát illesztettek az Shakti maghoz.
Az IRIS a harmadik csip, amit a SCL kutatóintézet gyárt, -es folyamattal, a 2018-as RIMO és a 2020-as Moushik után. A csip csomagolási folyamatát a Tata Advanced Systems végezte. A Syrma SGS véglegesítette a telepítést és az összeszerelést, az alaplapot a PCB Power fejlesztette. A csip tervezése, gyártása, tokozása, az alaplap kialakítása és gyártása, a szoftver és rendszerbetöltő mind Indiában készült el, ami igazolja a szakértelem és a teljes félvezető-ökoszisztéma meglétét. A csip teljesítményét éles alkalmazásban, repülési teszten tervezik értékelni.
A RIMO és a Risecreek jellemzői A RIMO és Risecreek néhány jellemzője: Sorrendi (in-order) 5 fokozatú 64 bites mikrovezérlő, támogatja a stabil teljes RISC-V ISA-t (RV64IMAFD). Kompatibilis a RISC-V ISA privilegizált utasításkészlet-specifikációjával (v1.10), és támogatja az sv39 virtualizációs sémát. Tartalmaz egy elágazás-előrejelzőt (branch predictor) Return-Address-Stack használatával. Futószalagos IEEE-754 kompatibilis egy- és kétszeres pontosságú lebegőpontos egységek és többcsatornás DMA támogatása. Perifériák: 2 × I²C soros sín, 2 × UART, 2 × QSPI, egy hibakereső szoftver (debugger), -os szorosan csatolt memória, 32 bites GPIO-k és egy bővítősín, ami FPGA-hoz csatlakoztatható.
Fejlesztőkártyák Mind az E, mind a C osztályú processzorokhoz készültek fejlesztőkártyák. A különböző processzorosztályok alaplapi támogatásának egyes részletei:
E-arty35T Az E-arty35T egy Shakti E osztályon alapuló egylapkás rendszer. Az E-arty35T csipet az Artix 7 35T kártya támogatja. Van egy korlátozott, 32 bites E osztályú változata. Tartalmazza az I, M, A és C (kiterjesztéseket).
C-arty100T A C-arty100T egy Shakti C osztályon alapuló egylapkás rendszer. A C-arty100T csipet az Artix 7 100T kártya támogatja. Van egy korlátozott, 64 bites C osztályú változata. Tartalmazza az I, M, A, F, D és C (kiterjesztéseket).
Kereskedelmi támogatás Az Altair Engineering 2021 júliusában az E osztályú processzort felvette a beágyazott rendszerek firmware-támogatási portfóliójába, globális ügyfelei számára.
Swadeshi Microprocessor Challenge A Swadeshi Microprocessor Challenge egy indiai kezdeményezés, melyet az Elektronikai és Informatikai Minisztérium indított. Célja a hazai mikroprocesszorok köré épülő innovatív megoldások fejlesztése. A kihívás nagy díjakkal jár, diákok és startupok versenyeznek különböző hardveres megoldások kifejlesztésével.