| Tervező | Altera / Intel |
|---|---|
| Bitek száma | 32 bites |
| Bevezetés | 2004 |
| Kialakítás | RISC |
| Bájtsorrend | little-endian |
| Nyílt | nem |
| Regiszterek | |
| |
A Nios II egy 32 bites beágyazott processzorarchitektúra, amelyet specifikusan az Altera család FPGA integrált áramkörei számára terveztek. A Nios II számos fejlesztést tartalmaz az eredeti Nios architektúrához képest, amelyekkel a beágyazott számítástechnikai alkalmazások szélesebb körében alkalmazható, a digitális jelfeldolgozástól (DSP) a rendszervezérlésig.
A Nios II a 2000-ben bevezetett Nios szoft processzor utódja, amely az Altera első konfigurálható 16 bites beágyazott processzora volt.
Az Intel 2023-ban bejelentette a Nios II gyártásának megszüntetését, azzal, hogy utódja a RISC-V architektúrán alapuló Nios V lesz.
Az eredeti Nios-hoz hasonlóan, a Nios II architektúra egy RISC lágy magos architektúra, amelyet teljes egészében Altera FPGA-k programozható logikájában és memóriablokkjaiban valósítottak meg. Elődjével ellentétben ez egy teljesen 32 bites kialakítás:
A Nios II processzor lágymagos (soft core) természete lehetővé teszi a rendszertervező számára egyedi Nios II mag specifikálását és létrehozását, a kívánt egyedi alkalmazás követelményeire szabott módon. A rendszertervezők kiterjeszthetik a Nios II alap funkcionalitását például előre meghatározott memóriakezelő egység hozzáadásával, vagy új egyedi utasítások és egyéni perifériák definiálásával.
A natív Nios II utasításokhoz hasonlóan, a felhasználó által definiált utasítások három operandusúak, legfeljebb két 32 bites forrásregiszterből fogadhatnak értékeket és opcionálisan visszaírják az eredményt egy 32 bites célregiszterbe. Egyedi utasítások használatával a rendszertervezők finomhangolhatják a rendszer hardverét a teljesítménycélok eléréséhez és az utasítások könnyen kezelhetők makróként C nyelven.
A teljesítménykritikus rendszerek számára, amelyek a CPU-ciklusok legnagyobb részét valamely meghatározott kódszakasz végrehajtásával töltik, egy felhasználó által definiált periféria potenciálisan tehermentesítheti a processzort, úgy, hogy a szoftveres feladat végrehajtásának egy részét vagy egészét felhasználó által definiált hardveres logikára helyezi át, ami javíthatja az energiahatékonyságot vagy az alkalmazás feldolgozási képességét.
Az Altera Quartus 8.0 verziójával bevezetett opcionális MMU lehetővé teszi a Nios II számára hardveres lapozást és védelmet igénylő operációs rendszerek futtatását, mint például a Linux kernel. MMU nélkül a Nios olyan operációs rendszerekre korlátozódik, amelyek egyszerűsített védelmet és virtuális memóriamodellt használnak: ilyenek a μClinux és a FreeRTOS.
A Quartus 8.0 szoftverrel bevezetett opcionális MPU az MMU-hoz hasonló memóriavédelmet biztosít, ám egyszerűbb programozási modellel és az MMU-val járó teljesítményveszteség (terheléstöbblet) nélkül.
A klasszikus Nios II 3 különböző konfigurációban kapható: Nios II/f (f mint fast, gyors), Nios II/s (standard), és Nios II/e (e mint economy, gazdaságos). Nios II gen2 két különböző konfigurációban kapható: Nios II/f (gyors), és Nios II/e (gazdaságos).
A Nios II/f magot a maximális teljesítmény elérésére tervezték, a mag méretének rovására. A Nios II/f főbb jellemzői a következők:
A Nios II/s magot úgy tervezték, hogy egyensúlyt tartson fenn a teljesítmény és a költségek között. Ez a magimplementáció már nem támogatott az Altera Quartus II v.17 és újabb verziókban. A Nios II/s jellemzői a következők:
A Nios II/e magot az FPGA-k lehető legkisebb logikai kihasználására tervezték. Ez különösen hatékony az alacsony költségű Cyclone II FPGA alkalmazásoknál. A Nios II/e jellemzői a következők:
A Nios II az Avalon kapcsolóhálózatot használja kapcsolószövet interfészként a beágyazott perifériáihoz. A processzoralapú rendszerek hagyományos buszaival összehasonlítva, amelyek egyszerre csak egy buszmester számára teszik lehetővé a hozzáférését a buszhoz, az Avalon kapcsolóhálózat (switch fabric), szolga-oldali arbitrációs sémát használva, több mester egyidejű működését teszi lehetővé.
A Nios II-re történő fejlesztés két külön lépésből áll: a hardvergenerálás és a szoftverkészítés lépéseiből.
A fejlesztés az Altera Embedded Design Suite (EDS) elnevezésű alkalmazáson belül történik. Az EDS tartalmaz egy teljes integrált fejlesztői környezetet, amely két külön lépésben kezeli a hardvert és a szoftvert.
A Nios II hardvertervezők a Nios rendszer konfigurálásához és generálásához a Qsys rendszerintegrációs eszközt használják, amely a Quartus-II csomag része. A konfigurációs grafikus felhasználói felület (GUI) lehetővé teszi a felhasználók számára a Nios-II funkciókészletének kiválasztását, valamint a perifériák és be-/kimeneti blokkok hozzáadását (időzítők, memóriavezérlők, soros interfész, stb.) a beágyazott rendszerhez. Mikor a hardverspecifikáció elkészült, a Quartus-II elvégzi a szintézist, az elhelyezést és az útvonalválasztást (place & route) a teljes rendszer megvalósításához a megcélzott FPGA-n.
A Qsys felváltja a régebbi SOPC (System-on-a-Programmable-Chip) Buildert, ami szintén használható Nios II rendszer építésére, és amelyet még mindig ajánlanak az új projektekhez.
Egy külön csomag, az úgynevezett Embedded Design Suite (EDS), kezeli a szoftverfejlesztést. Az Eclipse IDE-n alapuló EDS tartalmaz egy C/C++ fordítót (amely a GNU eszközkészleten alapul), nyomkövető debuggert, és egy utasításkészlet-szimulátort. Az EDS lehetővé teszi a programozók számára, hogy alkalmazásukat szimulációban teszteljék, vagy letöltsék és futtassák a lefordított alkalmazást a tényleges FPGA hoszton.
Mivel a C/C++ fejlesztőlánc a GCC-n alapul, a Linuxra írt nyílt forráskódú szoftverek túlnyomó többsége lefordul és fut, minimális vagy semmi módosítással. Harmadik féltől származó operációs rendszereket is portoltak Nios II-re. Ezek közé tartozik a Micrium MicroC/OS-II, eCos (beágyazott valósidejű operációs rendszer), a Segger Microcontroller embOS, a ChibiOS/RT, a μCLinux és a FreeRTOS.
A GCC-ből a 15-ös verziótól kezdve kikerült a Nios II processzorok támogatása, a Nios II megszűnése miatt.
Nios II összehasonlítható a MicroBlaze-zel, egy konkurens lágymagos CPU-val a Xilinx FPGA-családban. A MicroBlazével ellentétben, a Nios II licencelhető standard cellás ASIC-ekhez egy harmadik féltől származó IP-szolgáltatón, a Synopsys Designware-en keresztül. A Designware licenc birtokában a tervezők FPGA-platformról tömeggyártású ASIC-eszközre portolhatják a Nios-alapú terveket.
Ez a szócikk részben vagy egészben a Nios II című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.