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.
x86program nebude běžet naARMa naopakx86_64program nebude běžet naARMa naopakx86program bude běžet nax86_64ale 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
x86vznikla v roce 1978 a používá se dodnes. 1Zpětná kompatibilita: Instrukční sada
x86je 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 nax86postavený.
Oficiální dokumentace k x86-64 má 2198 stránek a k ARM64 má 8538 stránek ↩︎