У дома развитие Какво е разпределение на регистъра? - определение от техопедия

Какво е разпределение на регистъра? - определение от техопедия

Съдържание:

Anonim

Определение - Какво означава разпределение на регистър?

Разпределението на регистрите се отнася до практиката на задаване на променливи в регистрите, както и обработка на прехвърляне на данни в и извън регистрите. Възможно е разпределение на регистъра:

  • На основен блок, известен като разпределение на местния регистър
  • В рамките на цяла функция или процедура, известна като глобално разпределение на регистъра
  • Граници на функциите, преминаващи с помощта на графика на повикване, известна като разпределение между регистрите между процедурите

Техопедия обяснява разпределението на регистъра

По време на компилацията компилаторът трябва да определи начина, по който променливите се разпределят в малък, специфичен диапазон от регистри. Някои от променливите може да не се използват или да се каже, че са „на живо“ едновременно. Това води до присвояване на някои регистри на множество променливи. Независимо от това, не могат да бъдат разпределени две едновременни променливи на живо в същия регистър, без да се повредят стойността.


Променливите, които не могат да бъдат разпределени в някои регистри, трябва да се съхраняват в RAM паметта и трябва да се зареждат и извеждат за всяко четене и запис, съответно процедура, известна като разливане. Достъпът до регистрите е много по-бърз от достъпа до RAM. Освен това ускорява времето за изпълнение на съставената програма; следователно, ефективните съставители имат за цел да зададат колкото се може повече променливи на регистрите.


По принцип повечето разпределители на регистър присвояват всяка променлива на основната памет или в регистъра на централния процесор (CPU). Скоростта е основното предимство при използване на регистър. Компютрите разполагат с ограничен набор от регистри, което означава, че не всички налични променливи могат да бъдат разпределени в регистрите. Процесът на прехвърляне на променлива от регистър в паметта е известен като разливане, докато обратната процедура за преместване на променлива от паметта в регистър е известна като запълване. Интелигентното разпределение на регистрите е решаваща стъпка за всеки компилатор.


Има два вида разпределение на регистъра:

  • Локално разпределение на регистъра: Това е процес на разпределяне на един основен блок (или хипер блок или супер блок) наведнъж. Локалното разпределение на регистъра увеличава скоростта.
  • Глобално разпределение на регистъра: Ако използването на регистъра е слабо, като се използва локално разпределение, важно е да се използва разпределението в глобалния регистър. При просто разпределение в глобален регистър най-активните стойности се разпределят във всеки вътрешен цикъл. Пълното разпределение на глобалния регистър използва процедура за идентифициране на живи диапазони в графика на контролния поток, присвояване на диапазони на живо и също така разделени диапазони според изискванията.
Какво е разпределение на регистъра? - определение от техопедия