Дербес компьютерді? ?олданылатын жалпы ма?сатты регистрлері


Дербес компьютердің қолданылатын жалпы
мақсатты регистрлеріЖалпы мақсатты регистрлер программаларда келесілерді сақтау үшін қолданылады:
- логикалық және арифметикалық операциялардың операндтарын;
- адрестің компоненттерін;
- жады ұяшықтарына нұсқағыштардыОсы барлық регистрлердің ішінен esp регистрін жеке айтуға болады. Оны программа операндтарын сақтау үшін қолдануға болмайды. Себебі онда программаның стек төбесіне нұсқағыш сақталады. Осы топтың барлық регистрлері өзінің “кіші” бөліктеріне қатынауға мүмкіндік береді. өзіндік адрестеу үшін регитрлердің тек кіші 16- және 8-битті бөліктерін қолдануға болады. Бұл регистрлер арифметикалы-логикалық құрылғының (АЛҚ) ішінде орналасқандықтан, оларды АЛҚ регистрлері деп те атайды.
Аралық мәліметтерді сақтауға арналған- аккумулятор. Кейбір командаларда бұл регистрлерді міндетті қолдану керек.
Жадыда кейбір объектінің базалық адресін сақтауға арналған- базалық регистр.
Кейбір қайталанатын әрекеттерді орындайтын командаларда және сәйкес команданың жұмыс алгоритмінде жасырылған- санағыш регистрі.
Кейбір командаларда қолдану міндетті, кейбір командаларда бұл айқындалмаған түрде болады.
Сегменттік регистрлерШағынпроцессордың программалық моделінде алты сегменттік регистрлер бар: cs, ss, ds, es, qs, fs. Шағынпроцессор сегменттер деп аталатын үш бөлік түріндегі программаның құрылымдық ұйымдастырылуын қолдайды. Сәйкесінше, жадының осындай ұйымдастырылуы сегменттік деп аталады. Сегменттік регистрлер уақыттың белегілі мезетінде, программа қатынас құра алатын сегменттерге нұсқау үшін арналған.
Код сегменті. Программаның командаларын қамтиды. Бұл сегментке қатынау үшін cs (code segment register) регистрі қызмет атқарады. Ол шағынпроцессор қатынай алатын, машиналық командалары бар сегменттің адресін қамтиды (яғни, бұл командалар шағынпроцессордың конвейеріне жүктеледі).
Мәліметтер сегменті. Программа өңдейтін мәліметтерді қамтиды. Бұл сегментке қатынау үшін ds (data segment register) регистрі қызмет атқарады. Ол ағымдағы программа мәліметтерінің сегменттің адресін сақтайды.
Стек сегменті. Бұл сегмент стеку деп аталатын жады аймағы болып табылады. Шағынпроцессор стекпен жұмысты келесі принцип бойынша ұйымдастырады: осы аймаққа жазылған соңғы элемент бірінші болып таңдалады. Бұл сегментке қатынау үшін, стек сегментінің адресін қамтитын ss (stack segment register) регистрі қызмет атқарады.
Қосымша мәліметтер сегменті. Егер программаға бір мәліметтер сегменті жетпесе, онда ол үш қосымша мәліметтер сегментін қолдана алады. Бірақ олардың негізгі мәліметтер сегментінен айырмашылығы, қосымша мәліметтер сегменттерін пайдаланғанда олардың адрестерін айқын түрде, командадағы арнайы префикстер көмегімен көрсету керек.
Шағынпроцессор күйі туралы ақпаратты, сонымен қатар программа және конвейерге жүктелген командалар туралы ақпаратты қамтитын, бірнеше регистрлер шағынпроцессорға енгізілді. Бұл регистрлерге мыналар жатады:
Жалаушалар регистрі eflags/flags;
Командаға нұсқау регистрі eip/ip.
Бұл регистрлерді қолданып, командалардың орындалуы туралы ақпаратты алуға болады.
Eflags/flags регистрінің разрядтылығы – 32/16 бит. Берілген регистрдің бөлек биттер анықталған функционалдық тағайындалуға ие және олар жалаушалар деп аталады.
Қолдану ерекшкліктеріне қарай eflags/flags регистрінің жалаушаларын үш топқа бөлуге болады.
8 күй жалаушалары. Бұл жалаушалар машиналық командалар орынддалғанна кейін өзгере алады. Күй жалаушалары арифметикалық және логикалық операциялардың орындалу нәтижелердің ерекшеліктерін көрсетеді.
1 басқару жалаушасы df (Directory flag) деп белгіленеді. Ол eflags регистрінің оныншы битінде орналасқан және тізбекті командалармен қолданады. Df жалаушасының мәні элемент бойынша өңдеудің бағытын анықтайды.
5 жүйелік жалаушалары. Енгізу-шығаруды, қалқалынатын үзулерді, жөндеуді, есептер мен виртуалды режим арасындағы ауыстырып – қосуды басқарады.
Eip/ip (Instruction Pointer register) – командалар нұсқағышы. Бұл регистрдің разрядтылығы 32/16 бит және ол келесі орындалатын команданың cs сегменттік регистрдің құрамына байланысты ығысуды қамтиды.