Преглед садржаја:
Дефиниција - Шта значи додељивање регистра?
Додјела регистра односи се на праксу додјељивања варијабли регистрима као и руковање пријеносом података у регистре и ван њих. Могуће је додељивање регистра:- На основном блоку, познатом као расподјела локалног регистра
- Током читаве функције или поступка, познатог као глобална алокација регистра
- Границе функција преко којих се прелази помоћу графа позива, познатог као распоређивање регистара међу процедурама
Тецхопедиа објашњава доделу регистра
Током компилације преводилац би требао одредити начин на који се променљиве додељују малом, специфичном распону регистара. Неке се од променљивих можда не користе или се истовремено каже да „живе“. То доводи до придруживања неких регистара више варијабли. Без обзира на то, ниједна истодобна променљива уживо се не може доделити потпуно истом регистру без оштећења вредности.
Променљиве варијабле које се не могу доделити неким регистрима морају бити смештене у РАМ-у и треба их учитавати у свако читање и писање, односно поступак познат као просипање. Приступ регистрима је много бржи од приступа РАМ-у. Поред тога, убрзава се време извршења састављеног програма; према томе, ефикасни преводиоци имају циљ доделити што већем броју променљивих.
Генерално, већина алокатора регистра додељује сваку променљиву главној меморији или регистру централне процесне јединице (ЦПУ). Брзина је кључна предност при кориштењу регистра. Рачунари имају ограничен распон регистара, што значи да се не могу све расположиве променљиве доделити регистрима. Процес пребацивања променљиве из регистра у меморију познат је као просипање, док је обрнути поступак померања променљиве из меморије у регистар познат као попуњавање. Интелигентна алокација регистра кључни је корак за све преводиоце.
Постоје две врсте додељивања регистра:
- Додјела локалног регистра: Ово је поступак додјеле једног основног блока (или хипер блока или супер блока) у исто вријеме. Локална расподјела регистра повећава брзину.
- Глобална расподјела регистра: Ако је искориштеност регистра слаба користећи локалну расподјелу, важно је искористити глобалну расподјелу регистра. У једноставној расподјели глобалног регистра, најактивније вриједности се додјељују у свакој унутрашњој петљи. Потпуна глобална алокација регистра користи процедуру за идентификацију опсега уживо на графикону контролног тока, додељивање распона уживо и такође подељене домете према потреби.
