Domov vývoj Čo je pridelenie registra? - definícia z technológie

Čo je pridelenie registra? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená pridelenie registra?

Priradenie registra sa týka postupu priraďovania premenných do registrov, ako aj zaobchádzania s prenosom údajov do a z registrov. Prideľovanie registrov môže nastať:

  • Na základnom bloku, známe ako pridelenie miestneho registra
  • Počas celej funkcie alebo postupu, známeho ako globálne pridelenie registra
  • Hranice funkcií prechádzajú pomocou grafu volaní, známeho ako medzia procedurálne prideľovanie registrov

Techopedia vysvetľuje rozdelenie registra

Počas kompilácie by kompilátor mal určiť spôsob, akým sú premenné priradené malému špecifickému rozsahu registrov. Niektoré z premenných sa nemusia používať alebo sa o nich hovorí, že sú „živé“ súčasne. To vedie k priradeniu niektorých registrov viacerým premenným. Jednému registru však nemožno priradiť žiadne dve súčasné živé premenné bez toho, aby došlo k poškodeniu hodnoty.


Premenné, ktoré nie je možné priradiť niektorým registrom, sa musia ukladať do pamäte RAM a mali by sa načítavať a zapisovať pri každom čítaní a zápise, čo je postup známy ako rozliatie. Prístup k registrom je oveľa rýchlejší ako prístup k pamäti RAM. Okrem toho zrýchľuje čas vykonávania kompilovaného programu; cieľom efektívnych kompilátorov je preto priradiť registrom toľko premenných, koľko môžu.


Vo všeobecnosti väčšina alokátorov registrov priraďuje každú premennú do hlavnej pamäte alebo do registra centrálnej procesorovej jednotky (CPU). Rýchlosť je kľúčovou výhodou pri používaní registra. Počítače obsahujú obmedzenú škálu registrov, čo znamená, že nie všetky dostupné premenné môžu byť priradené k registrom. Proces posunu premennej z registra do pamäte sa nazýva rozlievanie, zatiaľ čo opačný postup presunu premennej z pamäte do registra sa nazýva vyplnenie. Inteligentné prideľovanie registrov je kľúčovým krokom pre všetky kompilátory.


Existujú dva typy prideľovania registrov:

  • Priradenie miestneho registra: Je to proces prideľovania jedného základného bloku (alebo hyper bloku alebo super bloku) naraz. Priradenie miestneho registra zvyšuje rýchlosť.
  • Globálne prideľovanie registrov: Ak je využívanie registra nedostatočné pomocou miestneho prideľovania, je dôležité využiť prideľovanie globálnych registrov. Pri jednoduchom alokácii globálneho registra sú najaktívnejšie hodnoty alokované v každej vnútornej slučke. Úplné pridelenie globálneho registra používa postup na identifikáciu živých rozsahov v grafe regulačných tokov, priradenie živých rozsahov a podľa potreby aj rozdelenie rozsahov.
Čo je pridelenie registra? - definícia z technológie