Dərs 2 sp əs registrlərin təsnifatı




Yüklə 42.47 Kb.
tarix11.03.2016
ölçüsü42.47 Kb.
Dərs 2_SP_ƏS

Registrlərin təsnifatı
Registrlər– fiziki olaraq prosessorun daxilində yerləşən xüsusi yaddaş sahəsidir. Registrlərdən istifadə əməliyyat­larların yerinə yetrilmə sürətini artırır. Əməli yaddaş sa­həsindən fərqli olaraq onlara müraciət ünvana görə deyil, onların adlarına görə aparılır.

Registrləri aşağıdakı qruplara bölmək olar:

1. Əsas funksional registrlər:

 ümumi təyinatlı registrlər (ÜTR);

 əmr göstəricisi;

 bayraqlar registri;

 seqment registrləri.

2. Ədədi verilənləri emal edən prossorun registrləri:

-verilənlər registrləri;

-teqlər registrləri;

-vəziyyət registrləri.

-FPU sürüşkən nöqtəli verilənləri və əmrləri emal edən registrlər;

-FPU-nun idarə registrləri;

3. Sistem registrləri:

-MP-nin idarə registrləri;

-sistem ünvanları registrləri.



  1. Sazlama və testləmə registrləri.

1-ci və 2-ci qrup registrlər tətbiqi proqramların icrasında, 3-cü və 4-cü qrup registrlər isə proqrmların sazlanmasında və MP-nin testlənməsi zamanı istifadə edilir.

İstifadəçi registləri
Proqramçı proqram yazarkən bu registrlərdən istifadə etdiyi üçün, onlar istifadəçi registrləri adlanır. Bu registrlərə aşağıdakılar daxildir:

  • 8 ədəd 32 mərtəbəli registrlər. Bu registrlərdən proqramçı verilənləri və ünvanları saxlamaq üçün istifadə edə bilər (onlara ümumi təyinatlı registrlər(ÜTR) də deyirlər). Bunlar eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, ecx/cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp registrləridir;

  • 6 ədəd seqment registrləri; cs, ds, ss, es, fs, gs;

  • 32 mərtəbəli vəziyyət və idarə registrləri; eflags/ flags bayraqlar registri və eip/ip əmr göstəricisi registri;

  • səkkiz ədəd 80 mərtəbəli: st (0), st (1), st (2), st (3), st (4), st (5), st (6), st (7) həmprosessor registrləri (bu qrupa daxil olan registrlərdən sürüşkən nöqtəli tip verilənlərdən istifadə etməklə proqram tərtib edildikdə istifadə olunur);

  • səkkiz ədəd 64 mərtəbəli MMX ( MultiMedia eXtention) genişlənməli tam ədədlər registrləri: MMX0, MMX1, MMX2, MMX3, MMX4, MMX5, MMX6, MMX7;

  • səkkiz ədəd 128 mərtəbəli MMX genişlənməli sürüşkən nöqtəli ədədlər registrləri: XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7 registrlər daxildir.

Göründüyü kimi bu registrlərin bir çoxu maili xətlə yazılıb. Bunlardan birinci 32 mərtəbəli böyük registrdir. Onlardan proqramda ayrıca obyekt kimi istifadə etmək olar. Bu cür təşkil Intel firmasının i8086 mikroprosesso­rundan başlayaraq kiçik 16 mərtəbəli modellər üçün yazılmış proqramların işləməsinə imkan yaradır. I486 və Pentium mikroprosessorları əsasən 32 mərtəbəli registrlərə malikdir. Onların sayı seqment registrləri müstəsinə olmaqla i8086 mikroprosessorunda olan registrlərin sayı ilə eyni, ancaq ölçüsü böyükdür. Onun ölçüsü işarələmdə E (Extended) önşəkilçisi ilə fəriqlənir. İndi isə istifadəçi registrlərinin tərkibi və təyinatı ilə ətraflı tanış olaq.
Ümumi təyinatlı registrlər (ÜTR)
Mikroprosessorun strukturuna uyğun olaraq, mikroprosessorun əmrlərinin operandları kimi, ümumi təyinatları yerinə yetirən registrlərdən istifadə olunur. Bu registrlərə ümumi təyinatlı (ÜTR) registrlər deyilir. Ancaq, mikroprosessorun bəzi əmrlərində (məsələn, vurma, bölmə və s.) bu registrlərdən xüsusi təyinatlı registr kimi istifadə olunur.

ÜTR-dən verilənlərin və ünvanların saxlanması üçün istifadə edilir. Onları aşağıdakı kimi təsvir etmək olar:




EAX



AX

AH

AL





31 15 7 0







EDX



DX

DH

DL





31 15 7 0







ECX



CX

CH

CL





31 15 7 0




EBX



BX

BH

BL





31 15 7 0




EBP



BP





31 15 0




ESI



SI





31 15 0







EDI



DI





31 15 0




ESP



SP





31 15 0

Şəkil 2. i486 və Pentium mikroprosessorlarının ümumi təyinatlı registrləri.


i486 və Pentium mikroprosessorlarının ümumi təyinatlı registrləri şəkil 2- də göstərilmişdir.

Burada E-extended (uzadılmış) mənasını daşıyır.

Ünvanlaşdırma zamanı bu registrlərin 16 və ya 8 bitlik kiçik hissəsindən istifadə olunur, böyük hissəsinə isə sərbəst obyekt kimi baxılır. Bu intel firmasının bütün mikro­pro­sessorlarının uyuşan olmasına əsaslanır. ÜTR təyinatlarını nəzərdən keçirək:


  1. eax/ax/ah/al (Accumulator register) – ak­kumulyator adlanır. Burada eax - 32 mərtəbəli, ax - 16 mərtəbəli, ah - böyük bayt, al - kiçik baytdır və ondan əsasən, aralıq nəticələri müvəqqəti saxlamaq üçün istifadə olunur. Mikroprosessorun əmrlərinin strukturundan asılı olaraq, bəzi əmrlərdə bu registrlərdən xüsusi təyinatlı registr kimi istifadə olunur və əmrdə qeyri-aşkar şəkildə iştirak edir;

2) ebx/bx/bh/bl (Base register) – (2-4 bəndlərində göstərilən registrlərin ölçüsü 1-ci bəndindəki kimi təyin olunur) baza registri olub, obyektin baza ünvanının müvəqqəti saxlanılmasında istifadə olunur;

3) eCx/Cx/Ch/Cl (Count register) - sayğac registridir. Dövrü proseslərdə dövrlər sayını göstərmək üçün istifadə olunur;

  1. eDx/Dx/Dh/Dl (Data register) - verilənlər registri. Bu registrdən də eax/ax/ah/al registrində olduğu kimi aralıq nəticələri müvəqqəti saxlamaq üçün isti­fa­də olunur. Mikroprosessorun əmrlərinin struk­tu­run­dan asılı olaraq bəzi əmrlərdə bu registrlərdən, xüsusi təyinatlı registr kimi istifadə olunur və əmrdə qeyri-aşkar şəkildə iştirak edir.

  2. ESI/SI (Source Index register) - mənbənin indeks registridir. Bu registrlərdən sətri verilənlərin emalında, mənbənin dövrdəki cari elementinin ünvanını saxlamaq üçün istifadə olunur;

  3. EDI/DI (destination Index register) - qəbuledicinin indeks registridir. Bu registrdə zəncirvari əməliyyatlarda qəbuledicinin dövrdəki cari elementinin ünvanı saxlanılır.

Bu axırıncı iki registrdən əsasən dövri proseslərdə uzunluğu 32, 16 və ya 8 mərtəbəli elementlərin ünvanını saxlamaq üçün istifadə olunur.

Mikroprosessorun proqram modelində steklə işləmək üçün aşağıdakı iki registr nəzərdə tutulub:

1. ESP/SP (Stack Pointer register) - stek göstəricisi registri. Burada cari stek seqmentindəki stekin zirvəsinin ünvanı yerləşdirilir;

2. EBP/BP (Baze Pointer register) - stek elementinin baza göstəricisi registri olub, stekin daxilindəki verilənlərə müraciəti təşkil etmək məqsədi ilə istifadə olunur.

Bir daha qeyd edək ki, müəyyən məqsədlər üçün, mikroprosessorun müxtəlif əmrlərində bu registrlərin müxtəlif kombinasiyalarından istifadə etmək olar.

Seqment registrləri

Əməli yaddaşın səmərəli ünvanlaşdırıması məqsədilə yaddaş 6 tip seqmentə bölünür. Seqmentlərin baza ünvanını göstərmək, konkret vaxt anınında ona müraciət etmək üçün mikroprosesserun proqram modelində altı tip CS, DS, SS, ES, GS, FS seqment registlərindən istifadə olunur. Onlarıın sxematik təsviri aşağıdakı şəkildə göstərilmişdir:




SEQMENT REGİSTRLƏRİ:

CS

15 0







SS

15 0




DS




ES

15 0

15 0




FS




GS

15 0

15 0

Göstərilən registrlərin yaradılması Intel firmasının mik­ro­prosessorlarının əməli yaddaşının təşkilinə və istifadəsinə əsas­lanır. Bu mikroprosessorun apparat vasitəsi ilə pro­qram strukturunun seqment adlanan üç hisədə təşkili ilə bağ­lıdır. Yaddaşın bu cür təşkili seqmentləmə adlanır. Pro­qramın konkret vaxt anında müraciət edə biləcəyi seqmenti göstərmək üçün seqment registrlərindən istifadə olunur.

Bu registlərdə faktiki olaraq uyğun seqmentlərin başlanğıc ünvanları müəyyən düzəlişlərlə göstərilir. Mikroprosessor aşağıdakı tip seqmentlərlə işləyir:

1. Kodlar seqmenti (əmrlər seqmenti). Bu seqmentdə proqram əmrləri yerləşir. Seqmentin yerləşdiyi yaddaşın baza ünvanı CS (code segment register) – registrində yerləşdirilir ki, buna kodlar seqmenti registri deyilir və həmin seqmentə CS registrinə görə müraciət olunur;

2. Verilənlər seqmenti. Bu seqmentdə proqramda is­ti­fa­də olunan verilənlər yerləşir və seqmentin yerləşdiyi yad­daşın baza ünvanı DS (data segment register) – registrində yerləşdirilir ki, buna verilənlər seqmenti registri deyilir və həmin seqmentə DS registrinə görə müraciət olunur;

3. Stek seqmenti. Bu seqment stek adlanan yaddaş sahəsidir. Mikroprosessor steklə işi aşağıdakı prinsipdə apa­rır: bu sahədən sonuncu yazılan informasiya birinci gö­türülür (yəni, «birinci gəldi, axırıncı getdi» (FİFO) prin­spi). Seq­mentə daxil olmaq üçün SS – stek seqmenti re­gistrinin məzmunundan istifadə olunur ki, burada stek seq­mentinin ünvanı yerləşdirilir;

4. Əlavə verilənlər seqmenti. Əksər maşın əmrlərinin qey­ri aşkar icra alqoritmində mikroprosessor, əmrdə emal olu­nacaq verilənin verilənlər seqmentində yerləşdiyini və bu seq­mentin ünvanının DS registrində olduğunu qəbul edir. Əgər proqramda verilənlər üçün bir seqment kifayət et­mir­sə, mikroprossesor daha üç əlavə verilənlər seqmentindən is­tifadə etmək imkanına malikdir. Ancaq, ünvanı DS re­gistrində yerləşən əsas verilənlər seqmentindən fərqli ola­raq, əlavə verilənlər seqmentlərindən istifadə edildikdə, on­la­rın ünvanını aşkar şəkildə əmrdə, seqmenti təyin edən xü­susi prefikslərdən istifadə etməklə göstərmək tələb olunur. Əlavə seqmentlərin baza ünvanları es, gs, fs (extension data segment registers) registlərində yerləşdirilməlidir.









Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azrefs.org 2016
rəhbərliyinə müraciət

    Ana səhifə