Instrukční sada je předepsaná norma instrukcí která určuje, jaké instrukce musí procesor podporovat a jak se tyto instrukce mají v procesoru chovat.
Příklad: 6 bitová instrukce 011000 v nějaké instrukční sadě “X” je interpretována jako provedení operace sečtení dvou čísel. Tatáž instrukce 011000 je v jiné instrukční sadě “Y” interpretována jako vynulování bitů na konkrétní adrese v paměti.
⚠️ Důležité k zapamatování: Každý procesor je vyrobený pro jednu konkrétní instrukční sadu. Procesory podporující více instrukčních sad se nevyrábí.
Mezi moderní a běžné instrukční sady patří:
x86
– starší počítače a procesory. 32 bitové instrukce.x86-64
(nebo jenx64
) – rozšíření x86, prakticky ve všech počítačích, notebocích a serverech všude na světě. 64 bitové instrukce.ARM
– mobilní telefony a tablety. Podvarianty ARM podporují buď 32 nebo 64 bitové instrukce.
⚠️ Některé instrukční sady lze zaměnit, některé ne.
x86
program nebude běžet naARM
a naopakx86_64
program nebude běžet naARM
a naopakx86
program bude běžet nax86_64
ale ne naopak
Proč je tak málo běžných instrukčních sad?
Obrovská složitost: moderní instrukční sady jsou obrovsky komplexní protože vznikly už hodně dávno a neustále se modifikovaly a vylepšovaly. Instrukční sada
x86
vznikla v roce 1978 a používá se dodnes. 1Zpětná kompatibilita: Instrukční sada
x86
je kritizována za spoustu historických přešlapů se kterými už nelze nic moc dělat, protože celý moderní IT svět je nax86
postavený.
Oficiální dokumentace k x86-64 má 2198 stránek a k ARM64 má 8538 stránek ↩︎