Ma a világot két meghatározó processzorarchitektúra-család uralja, amelyek nemcsak utasításkészletükben és tervezési filozófiájukban különböznek, hanem alkalmazási területükben is. Emellett számos más architektúra létezik: egyesek kísérleti jellegűek, míg mások a mikrokontrollerekben élnek tovább, mert beváltak és az adott feladatkörükben még mindig hasznosak.
Valódi széleskörű sikert két architektúra-család ért el. Az első a számítógép-tulajdonosok számára ismertebb x86, amelyet az Intel kezdett fejleszteni 1978-ban. Fejlődésében jelentős szerepet játszott az AMD is, amely 2003-ban bemutatta az x86-64 kiterjesztést, amelyet ma is használunk. A másik nagyon sikeres család az ARM, amelyet az Acorn Computers fejlesztett ki 1985-ben. Mindkét esetben a fejlődés a 16 bites processzoroktól indult, haladva a 32 bites és végül a modern 64 bites processzorokig – miközben az utasítások száma folyamatosan nőtt.
Ma az x86 rendkívül sok utasítással rendelkezik, mivel ez a CISC (Complex Instruction Set Computer – összetett utasításkészletű számítógép) architektúrák közé tartozik. Az utasítások és azok változatai folyamatosan nőttek, egészen hihetetlen számokig. A Nebraska Egyetem kutatása szerint az x86-64 utasításainak és változataiknak száma eléri a 3684-et. Ez a szám nemcsak magukat az utasításokat, hanem azok különböző változatait is tartalmazza, például különböző regiszterpárokkal végzett műveleteket. Sok olyan utasítást, amely a memória kezelését módosítja, ma már nem használnak, de a processzorok továbbra is támogatják őket a visszafelé kompatibilitás érdekében.
Az ARM processzorok a RISC (Reduced Instruction Set Computer) architektúrák közé tartoznak, és a műszaki dokumentációk szerint jelenleg 232 utasítást tartalmaznak. Ez jelentősen kevesebb, mint az x86 esetében, bár a gyártók – például az Apple – a saját processzoraikba további kiterjesztett utasításokat is beépítenek.
Technikailag a modern x86 processzorok is a RISC elvén működnek (x86-RISC). Bár a fordítóprogramok szempontjából CISC-nek látszanak – a processzoron belül az utasításokat mikrokód segítségével mikroutasításokká alakítják, amelyeket a RISC-architektúrákhoz hasonlóan dolgoznak fel. Ez a megoldás lehetővé teszi a visszafelé kompatibilitás megtartását anélkül, hogy a fordítóknak vagy programozóknak észrevehető lenne a különbség. Így a modern x86 processzorok hasonló hatékonyságot érnek el, mint a RISC processzorok.
A legfőbb különbség a RISC és a CISC architektúrák között az, hogy a RISC nagy hangsúlyt fektet a fordítóprogram általi optimalizációra, ami gyakran problémát okoz. A magasabb szintű nyelvek fordítói számos korlátozással szembesülnek, például nem mindig tudják előre jelezni, hogy a processzor rendelkezésre áll-e az adott pillanatban szükséges adatokkal. Ez a hiányosság számos ambiciózus architektúrát megbuktatott, például az Intel Itanium-t. Ma úgy tűnik, hogy a stratégia, amikor a processzor maga optimalizálja az utasítások végrehajtását, jobban működik a Windows világában.
Ahhoz, hogy a RISC valóban hatékony legyen, az egész operációs rendszert és az alkalmazásokat úgy kell megírni, hogy kihasználják a RISC-processzorok képességeit – ezt tette például az Apple a macOS és az Apple Silicon chipek esetében. Azokon a rendszereken, amelyek régi kódra épülnek, például a Windows, továbbra is az x86 processzorok dominálnak, mivel képesek maguk optimalizálni a végrehajtást, így biztosítva a jó teljesítményt. Az Intel és az AMD folyamatosan figyelik a fontos programokat, és elemzik, hogyan használják az utasításokat a processzoraik, hogy új architektúráikat finomhangolják és optimalizálják a teljesítményt.