Co je instrukční sada?

Jakýkoli CPU je od základu navržen tak, aby podporoval konkrétní sadu instrukcí. Instrukční sada je sada pevně zakódovaných operací, které může CPU provádět. Těmito operacemi může být například sečtení dvou čísel, skok do jiné části programu nebo porovnání dvou hodnot. Každá operace, kterou může počítač provést, je jednoznačně reprezentována operačním kódem.

Operační kódy

Při provádění programu CPU používá programový čítač ke sledování, která instrukce musí být provedena jako další. Když je instrukce vyzvednuta, programový čítač se zvýší o délku instrukce tak, aby ukazoval na začátek další instrukce. Každá instrukce se skládá z operačního kódu. V závislosti na instrukci může nebo nemusí obsahovat operandy. Operandy mohou být konstantní hodnota nebo ukazatel na umístění hodnoty v registru CPU nebo v systémové RAM.

Jakmile je načtena kompletní instrukce, je třeba ji dekódovat. Toto je proces, kdy CPU odděluje operační kód a jakékoli operandy. Dekódovaný operační kód se používá k povolení nebo zakázání specifických elektrických cest v CPU, které povedou ke správné činnosti.

Jakmile je instrukce dekódována, bude provedena. Přesné chování CPU bude záviset na operaci. Operace sčítání sečte dvě hodnoty dohromady. Operace skoku vypočítá, kam v programu skočit. Operace porovnání porovná dvě hodnoty. Operace NOP bude nečinná, protože NOP znamená No Operation.

Většina instrukcí pak vypíše výsledek operace. Tento výstup může jít do registrů procesoru a v případě potřeby do systémové RAM. Každá z těchto operací trvá jeden hodinový cyklus.

Nelegální operační kódy

Každá architektura CPU má svůj specifický seznam operačních kódů zveřejněný výrobcem. Hodnoty těchto operačních kódů nemusí být nutně stejné napříč platformami, a proto je třeba software kompilovat pro různé architektury. V některých případech výrobce zahrnuje také nezdokumentované operační kódy. Tyto kódy se označují jako „nelegální operační kódy“. Nelegální operační kódy, i když nejsou zdokumentovány, budou provádět stejnou funkci pokaždé, když jsou volány. Jako nedokumentované a nestandardní funkce je však aktualizace architektury CPU mohou jednoduše odstranit.

Některé rané počítačové hry na Apple II se spoléhaly na specifické nelegální operační kódy. Poté utrpěli problémy s výkonem a stabilitou v pozdější revizi procesoru Apple IIc, protože IIc odstranil nelegální operační kódy, které hry vyžadovaly. Nelegální operační kódy byly také používány v kruzích ochrany autorských práv jako bezpečnostní metoda prostřednictvím utajení v boji proti pirátům, kteří prolomili jejich obsah. Některé nelegální operační kódy jsou jednoduše myšleny jako nástroje pro ladění a obsluhu chyb.

Instrukční sada x86 obsahuje velké množství nezdokumentovaných nelegálních operačních kódů. Je zajímavé, že některé z nich jsou sdíleny mezi procesory Intel a AMD, což naznačuje, že obě společnosti jsou si veřejně vědomy jejich účelu, i když nejsou zdokumentovány.

Kompilátory a montáž

Většina programů je napsána v jazycích vyšší úrovně. Jsou poměrně snadno čitelné, často používají anglická slova nebo těsnopis, aby se minimalizovaly křivky učení. Aby počítač mohl tyto programy spustit, musí být zkompilovány. Kompilátor je v podstatě překladač. Vezme kód vysoké úrovně a převede ho na počítačový kód, instrukce, kterým CPU rozumí.

V některých jazycích je také možné spouštět nekompilovaný kód prostřednictvím dříve zkompilovaného programu, který generuje strojový kód za běhu. Assembly je nízkoúrovňový programovací jazyk, který používá zkratku, která umožňuje vývojářům přímou viditelnost a kontrolu nad prováděnými operacemi. NOP je příklad montážní zkratky.

Závěr

Instrukční sada je seznam oficiálních funkcí, které může architektura CPU spustit. Je to seznam operací, které lze provést. Tyto operace jsou pevně zakódovány do CPU a volány pomocí příslušných operačních kódů.

Software obecně používá kompilátor k překladu z člověkem čitelného vysokoúrovňového kódu do strojového kódu, který může CPU číst. Někdy může mít architektura CPU nezdokumentované operační kódy, nazývané nelegální operační kódy. Nelegální operační kódy jsou technicky součástí instrukční sady. V budoucích iteracích platformy však nemusí být spolehlivě dostupné. Nezapomeňte zanechat své myšlenky v komentářích níže.


Jak klonovat pevný disk

Jak klonovat pevný disk

V moderním digitálním věku, kde jsou data cenným aktivem, může být klonování pevného disku v systému Windows pro mnohé zásadním procesem. Tento komplexní průvodce

Jak opravit selhání načtení ovladače WUDFRd v systému Windows 10?

Jak opravit selhání načtení ovladače WUDFRd v systému Windows 10?

Setkáváte se při spouštění počítače s chybovou zprávou, která říká, že se nepodařilo načíst ovladač WUDFRd do vašeho počítače?

Jak opravit kód chyby NVIDIA GeForce Experience 0x0003

Jak opravit kód chyby NVIDIA GeForce Experience 0x0003

Máte na ploše zkušenosti s chybovým kódem 0x0003 NVIDIA GeForce? Pokud ano, přečtěte si blog a zjistěte, jak tuto chybu rychle a snadno opravit.

Co je SMPS?

Co je SMPS?

Než si vyberete SMPS pro svůj počítač, zjistěte si, co je SMPS, a význam různých hodnocení účinnosti.

Proč se můj Chromebook nezapne

Proč se můj Chromebook nezapne

Získejte odpovědi na otázku Proč se můj Chromebook nezapíná? V této užitečné příručce pro uživatele Chromebooků.

Jak nahlásit phishingové podvody společnosti Google

Jak nahlásit phishingové podvody společnosti Google

V této příručce se dozvíte, jak nahlásit podvodníka společnosti Google a zabránit mu v podvádění ostatních.

Roomba se zastaví, přilepí a otočí – oprava

Roomba se zastaví, přilepí a otočí – oprava

Vyřešte problém, kdy se váš robotický vysavač Roomba zastaví, zasekne a stále se otáčí.

Jak změnit nastavení grafiky na Steam Deck

Jak změnit nastavení grafiky na Steam Deck

Steam Deck nabízí robustní a všestranný herní zážitek přímo na dosah ruky. Chcete-li však optimalizovat své hraní a zajistit to nejlepší možné

Co je zabezpečení založené na izolaci?

Co je zabezpečení založené na izolaci?

Chtěli jsme se ponořit do tématu, které je ve světě kybernetické bezpečnosti stále důležitější: zabezpečení založené na izolaci. Tento přístup k

Jak používat Auto Clicker pro Chromebook

Jak používat Auto Clicker pro Chromebook

Dnes jsme se chtěli ponořit do nástroje, který dokáže automatizovat opakované klikání na vašem Chromebooku: Auto Clicker. Tento nástroj vám může ušetřit čas a