За какво са регистрите?

За какво са регистрите?
За какво са регистрите?

Видео: За какво са регистрите?

Видео: За какво са регистрите?
Видео: Изомрудъ - За Какво Са Ви Тези Големи Гърди 2024, Април
Anonim

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

За какво са регистрите?
За какво са регистрите?

Процесорът съдържа голям брой регистри, които могат да бъдат разделени на няколко основни групи: акумулатори, флагове, указатели, индексни, сегментни и контролни регистри. Регистрите на процесора са клетки на паметта за получаване, съхранение и последващо предаване на междинни резултати от изпълнението на програмата.

Всеки регистър на процесора е цифрова електронна схема, съдържаща последователност от двоични числа с различна ширина (16, 32 или 64) и резултатите от преобразуването между тях. По вида на приемане и предаване на информация те могат да бъдат последователни (shift) и паралелни.

Регистрите на акумулатора са универсални, те съдържат повечето междинни резултати от изпълнение на различни команди (логически, аритметични, входно-изходни и т.н.). Процесорът може да съдържа повече от една батерия. Разработчиците на софтуер използват батерии, за да намалят битовата ширина на инструкциите, опростяват програмния код.

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

Регистрите, съдържащи указатели към специални области на паметта (стек, база, команда), се наричат указателни регистри. Най-важният от тях е указателят на стека. Стекът е част от паметта, съставена от клетки, които следват една след друга, т.е. можете да вземете от стека само клетката, която лежи отгоре. Към този връх сочи регистърът на стека.

Основният указател обикновено съдържа адреса на конкретно местоположение на стека, който може да бъде всичко. Обикновено регистърът на стека и основният регистър се използват едновременно, когато се работи в текущата процедура, за да се посочи необходимото състояние на стека.

Регистърът на указателите на инструкции понякога се нарича брояч на инструкциите, той съдържа указатели към инструкциите на цикъла на изпълнение. Когато командата се изпълни, нейната стойност се увеличава с 1 и цикълът продължава със следващата команда. Тези. командният брояч винаги сочи към командата, следваща тази, която се изпълнява в момента.

Има два регистъра на индекса - индексът източник и индексът дестинация. Те се използват за получаване на адреса на данните от стека в комбинация с регистрите на указателите.

Сегментните регистри се използват за адресиране на сегментната памет. В този случай паметта е разделена на блокове (сегменти) с различна дължина. Адресът на желаната клетка памет се определя от адреса на началото на блока и размера на изместването спрямо него. Общо има четири сегментни регистъра: за кодов сегмент, сегмент от данни, сегмент на стека и допълнителен сегмент.

Контролните регистри управляват работата на процесора и не са достъпни за потребителя. Изпълнението им се контролира главно от машинни програми. Те съдържат информация за текущата команда, която се изпълнява, състоянието на процесора и също така локализират контролните структури, когато процесорът работи в защитен режим.

Препоръчано: