Co je to instrukční registr?
Pokud jde o počítačový hardware, registr instrukcí je prvek v centrální procesorové jednotce (CPU) počítače nebo jiného zařízení, které drží programovací instrukci, která bude provedena na začátku následujícího hodinového cyklu, jak je diktováno jinými částmi PROCESOR. Jiné prvky CPU, jako je dekodér instrukcí, spoléhají na registr instrukcí, aby tyto informace uchovávaly, aby mohly být dekódovány, vyřešeny a případně provedeny. U některých typů architektury mikroprocesorů může existovat více než jeden registr instrukcí, takže může být zpracováno více instrukcí najednou, čímž se vytvoří logika stylu sestavení, která je známa jako potrubí. Obecně jsou nové instrukce dány registru instrukcí prostřednictvím jiné části CPU známého jako programové čítače, který slouží velmi podobnému účelu, ale může se posunout vpřed k další instrukci, zatímco se provádí informace, kterou drží registr instrukcí.
Registr je řada fyzických přepínačů na mikroprocesoru nebo desce plošných spojů, které lze zapnout nebo vypnout, takže každý přepínač odpovídá bitu. Když je spojeno několik přepínačů, nazývaných také zámky, jsou schopny ukládat binární data, jako jsou čísla, která lze převést na paměťové adresy nebo kódy instrukcí. V CPU může registr instrukcí uchovávat buď adresu prováděné instrukce v paměti počítače, nebo pro efektivitu může držet samotnou instrukci. Tato informace je předána do registru prostřednictvím jiného registru známého jako programové čítač, který ve většině případů přeskočí na další instrukci, která má být provedena po předání aktuální instrukce.
Typy instrukcí zpracovaných registry jsou obecně příkazy jazyka sestavení nízké úrovně, které jsou nakonec přeloženy do strojového kódu nebo bajtového kódu. Ty se výrazně liší od pokynů ve vyšších programovacích jazycích, protože montážní pokyny fungují ve velmi malém, přímém měřítku. Jedním příkladem je řádek kódu vysoké úrovně, který sčítá dvě čísla dohromady a výsledky ukládá do proměnné, která k vyjádření vyžaduje pouze jeden řádek kódu vysoké úrovně. Když je kód zkompilován, mohlo by být vygenerováno tucet nebo více instrukcí k dokončení úlohy, přičemž každá instrukce je něco jednoduchého, jako je například promíchávání hodnot mezi počítačovou pamětí s náhodným přístupem (RAM) a registrem obslužných programů.
Jakmile je instrukce odkazována na registr instrukcí, je předána dekodéru instrukcí, takže instrukce může být převedena na strojový kód. Odkazy na umístění paměti, která mohou obsahovat proměnné nebo jiné informace, jsou vyřešeny a tyto informace jsou někdy umístěny do jiných registrů. Nakonec bude provedena skutečná instrukce. Během této doby bude čítač programu zvýšen CPU tak, aby ukazoval na další instrukci, kterou bude držet registr instrukcí, takže proces se může opakovat, dokud nebude proveden celý program.