Co je rejstřík rejstříku?
V počítačovém programování a počítačové architektuře je rejstřík rejstříku oblastí paměti obvykle zabudovanou v centrální procesorové jednotce (CPU), která se používá jako velmi rychlé čítače pro procházení adresami paměti nebo pro sledování operací, jako je opakování. V závislosti na typu architektury systému může být rejstřík rejstříků definovaným a vyhrazeným registrem mezi jinými registry procesorů, nebo to může být jakýkoli rejstřík obecného účelu. Nejčastěji indexový registr drží aktuální ofset umístění paměti, přičemž další registr obsahuje základní adresu, takže kombinace dvou registrů vytvoří kompletní adresu paměti. Jednou ze zvláštních funkcí indexového registru, když je procesor speciálně určen CPU, je to, že může být použito pro snadné procházení adres paměti buď zvýšením nebo snížením podle potřeby, takže lze procházet datové struktury, jako jsou pole a komíny. .
Indexové registry na CPU počítače jsou neuvěřitelně nízké úrovně paměti, které jsou obvykle přímo přístupné pouze programátorem pomocí sestavovacího jazyka nebo podobného nízkoúrovňového programovacího jazyka. V některých běžnějších typech procesorů jsou dva samostatné registry definovány jako indexové registry, jmenovitě registry zdrojového indexu (SI) a cílového indexu (DI). Ostatní zpracovatelé nemají konkrétně rejstříky rejstříků nebo podpůrné operátory, které je vyžadují, což znamená, že lze použít jakýkoli rejstřík obecného účelu vhodné velikosti.
Jedním z nejčastějších použití rejstříku rejstříků je působit jako ukazatel na paměťové místo, ve kterém je uložen tok dat, ke kterému je třeba postupně přistupovat. Příklad lze vidět při použití pole dat, ve kterém jsou všechny prvky uspořádány postupně v paměti. Pokud se k přístupu k matici použije rejstřík rejstříku, může držet odpovídající hodnotu posunutí prvku, ke kterému se aktuálně přistupuje, když je přidán do jiného registru, který obsahuje základní adresu, jako je například registr datových segmentů. To může velmi usnadnit dokončení postupů, jako je kopírování obsahu řetězce s nulovým zakončením ze zdrojového umístění do cílového řetězce.
Dalším využitím indexového registru může být uchovávání informací o smyčkách a dalších čítačích. Některé architektury systému dávají přednost použití rejstříku rejstříků k uchování počtu iterací, které se vyskytly ve smyčce, i když jindy lze použít jakýkoli registr. Některé instrukce k montáži se navíc při provádění určitých operací, jako je čtení nebo zápis blokové paměti, spoléhají konkrétně na registry registrů zdrojového a cílového rejstříku, jako je tomu při odesílání informací na obrazovku.