Най-четените учебни материали
Най-новите учебни материали
***ДОСТЪП ДО САЙТА***
ДО МОМЕНТА НИ ПОСЕТИХА НАД 2 500 000 ПОТРЕБИТЕЛИ
БЕЗПЛАТНИТЕ УЧЕБНИ МАТЕРИАЛИ ПРИ НАС СА НАД 7 700
Ако сме Ви били полезни, моля да изпратите SMS с текст STG на номер 1092. Цената на SMS е 2,40 лв. с ДДС.
Вашият СМС ще допринесе за обогатяване съдържанието на сайта.
SMS Login
За да използвате ПЪЛНОТО съдържание на сайта изпратете SMS с текст STG на номер 1092 (обща стойност 2.40лв.)Процесорни регистри - предназначение, структура, операции в регистрите. Класификация на регистрите |
![]() |
![]() |
![]() |
Процесорни регистри - предназначение, структура, операции в регистрите. Класификация на регистрите. Регистри с общо предназначение, адресни регистри, сегментни регистри, управляващи регистри. Програмен модел - пример
1.1. Процесорни регистри: Процесорните регистри представляват блокът вътрешни регистри (вж.Фиг.3), който е един от съставящите основни блокове на централния процесор. Другият основен блок, който беше разгледан в предишната тема е АЛУ. 1.2. Класификация на регистрите: По предназначение вътрешните регистри могат да бъдат разделени на две основни групи: регистри за данни и регистри за адреси. От своя страна регистрите за адреси се делят на две подгрупи: регистри указатели (SP, BP, IP) и индексни регистри (SI, DI). 1.3. Регистри с общо предназначение, адресни регистри, сегментни регистри, управляващи регистри: По видове различаваме следните регистри в блока вътрешни регистри:
Регистър за първични индекси (SI -Source Index), респ. ESI и Регистър за целеви индекси (DI -destination index), респ. EDI. Тези индексни регистри служат за пресмятане на адрес при инструкции за низове, ако например низ от знаци трябва да бъде преместен вътре в паметта. Тези регистри са ориентирани по X и по Y. SI по X се използва за индексна адресация, като подава 16 битова индексна стойност, която се сумира с 8-битово отместване в инструкцията, за да се изчисли действителния адрес. Този регистър може да бъде използван и като брояч или регистър за временно съхранение. SI по Y, подобно на този по Х, се използва за индексна адресация. Неговото използване изисква един допълнителен байт в машинния код на инструкцията, тъй като всички инструкции с SI по Y са с двубайтови кодове. Указателят на инструкциите (IP -Instruction Pointer), респ. EIP, показва адресите на следващите, наредени в опашка инструкции. Това отличава този регистър от брояча на инструкции (респ. от указателя на инструкциите в по-старите микропроцесори), който брояч постоянно показва следващата инструкция за изпълнение. Само при инструкция за преход, респ. за разклонение в програмата, указателят на инструкциите показва адреса на следващата за обработка инструкция.
Флагов сегмент (FS - Flag-Segment и Кодов сегмент (CS - Code-Segment). При тези допълнителни сегментни регистри, фирмата Intel е избрала следващите след „Е” букви от латинската азбука. Тази фирма Intel, разработва друг начин за образуване на адреса. При този начин всеки адрес в паметта се получава чрез сумиране на един базов адрес и съответното отместване - Offset. Базовият адрес се запомня в един сегментен регистър, а отместването се намира в един от указателите или индексните регистри - например в указателя на инструкциите, ако дадена инструкция трябва да бъде прочетена от паметта. При директен достъп до данните в паметта, това отместване се задава при самата инструкция. Действието е следното: процесорът образува необходимия, примерно 20-битов адрес, с който трябва да се обърне към оперативната памет. Това е т.н. „физически адрес”, като процесорът умножава базовия адрес на 16 (=10h), което в двоичната бройна система съответства на простото за реализация преместване с 4 бита наляво, след което прибавя отместването. Сегментните регистри са четири типа: CS -кодов сегмент; DS -сегмент за данни; SS -стеков сегмент и ES - допълнителен сегмент за данни. Същественото предимство на образуването на сегменти е възможността за преместване на програмите и данните в паметта. Това свойство се нарича преместваемост - relocatability.
ü Регистърът AX - респ. ЕАX, наричан също така акумулатор, е централен регистър за умножение и деление. За извеждане към входно-изходен канал се използват регистрите AL, AX или ЕАX; ü Регистърът BX, наричан още базов регистър (Base Register) е необходим за пресмятане на адреса при специален вид адресиране; ü Регистърът CX, наричан също броячен регистър (Count Register), служи като броячен регистър при цикли, в инструкции за преместване надясно, респ. наляво, както и при повторяеми инструкции за низове. При последните може да се използва и регистърът ЕCX; ü Регистърът DX, респ. ЕDX, наричан също регистър за данни (Data Register), се използва за пресмятане на адреса при специален вид адресиране. Тези регистри DX, свързани с AX (респ. ЕDX, свързани с ЕАX), се използват при умножение, респ. при деление, както беше посочено по-горе при AX или ЕАX.
Сега ще се спрем на един от основните въпроси в работата на КС - структура на инструкциите. За целта с обща схема ще представим цикъла на всички основни структури на инструкциите. Цикълът на една инструкция се състои от код на операцията (КОП) и адресно поле (АП) на инструкцията:
Триадресната инструкция е най-близка до традиционната операция. Тя представя двата адреса на двата операнда и адресът, където ще се съхрани резултата: (А1) + (А2) = (А3). При двуадресната структура: (А1) + (А2) → (А1). Едноадресните структури се използват при процесори, в които има служебен вътрешен регистър, наречен акумулатор (Ак): (Ак) + (А1) → (Ак). Безадресната инструкция се появява тогава, когато има нулиране на служебен регистър или установяване на даден флаг в избрано състояние. И накрая на тази точка следва да се дефинира размера на думата в КС: тя е 8-разрядна, което е 1 байт или най-често думата в съвременните КС е двубайтова (2 байта).
Програмният модел на всяка компютърна система -КС (или компютърна конфигурация) е изграден от регистрите на нейния централен процесор (ЦП - CPU). С други думи - програмният модел обединява програмно достъпните регистри от структурата на КС. Техният състав и предназначение са различни за различните модели процесори, а дължината им (тяхната разрядност) зависи от дължината на машинната дума - W, за конкретната КС.
|