Amiért én hobbiból RISCV-ot csinálnék x86 helyett:
- Nyílt, szabadon felhasználható. Ha x86-ot (vagy ARM-ot, m68k-t, MIPS-et, AVR-t stb...) csinálsz, nem publikálhatod, módosíthatod szabadon.
- Az alap RV32E utasításkészlet egyszerűbb, mint a 8086-é, és modern. Ha mondjuk egy AMD64 kompatibilis x86-ot szeretnénk, kb. tovább tart elolvasni a SW developer manualt, mint csinálni egy alap RV32E-t.
- Nincs memória szegmentálás, és egyszerűbb a memória elérés is, hiszen van egy load/store utasításpárunk, az x86-nál meg mittudomén mennyi :)
- Lehet pazarlásnak mondani, hogy a RISCV minden utasítást 32 biten kódol, az x86 pedig 8...32 biten, de ennek manapság kisebb a jelentősége, mint 74'-ben, viszont egyszerűbb implementálni.
- Egy 8086 klónnal sem egyszerűbb az élet, az RV32E-re ugyanúgy van GCC. Sőt, nem is tudom, milyen ingyenes C fordító van 8086-ra. Mondjuk nekem a múltkor az RV32E-re nem fordult le a GNU toolchain, de biztos van akinek sikerült :)
- Gyakorlati haszna mindkettőnek kevés, de akkor is inkább a RISCV, mert utána azt nyugodtan felhasználhatod, az x86-ot meg... bátran :D
- Ha oktatási céllal tenném, akkor is kérdés, hogy mit akarunk oktatni. Ha általában egy CPU működését, akkor is RISCV, mert ez is elég nehéz ügy annak, aki még csak Java-t látott. Az IT szakemberek erős többsége valószínűleg soha nem nyúl assemblyhez, teljesen mindegy, melyik ISA-t mutatjuk be, a CPU és a program végrehajtásának koncepciója a lényeg. Ha meg tényleg x86 assembly oktatásra van szüksége valakinek, tehát software oldalról közelítünk, akkor a CPU felépítése kapuról kapura lényegtelen. Ha mégis kell, majd az Intelnél/AMD-nél megoldják.