IP (procesor)

S Vikipedije, slobodne enciklopedije

IP registar (engl. Instruction Pointer) je naziv koji upotrebljava većina proizvođača procesora za registar koji služi kao pokazivač na narednu instrukciju koju procesor treba da izvrši. Drugi naziv za ovaj registar je programski brojač (engl. Program counter) poznato po skraćenici PC.

Vrednost u registru je adresa sledeće instrukcije koju treba učitati u procesor. Po učitavanju instrukcije se vrednost uvećava za onoliko koliko je potrebno da se ukaže na sledeću instrukciju. Primer za ovo je kod 32-bitnih procesora gde je najmanja adresibilna jedinica bajt, a standardna dužina instrukcije je 4 bajta (procesorska reč je 32 bita). Tada se IP registar uvećava svaki put za 4, pokazujući na sledeću instrukciju u nizu.

Ovaj registar se implicitno koristi u svakoj instrukciji. U uobičajenim situacijama se instrukcije nižu jedna za drugom neprekidno. Tada se neposredno po učitavanju instrukcije uvećava (to je operacija - inkrement) pokazivač na sledeću instrukciju. Instrukcije kao što su skok, uslovni skok, skok u potprogram, povratak iz potprograma remete ovaj niz. Tada se u registar IP upisuje drugačija vrednost što izaziva da se sledeća instrukcija nalazi ispred ili iza one koja bi bila očekivana. Ovo se zove skok u izvršavanju programa i predstavlja prekid linearnosti, što u nekim arhitekturama može predstavljati značajno usporenje izvršavanja.

Ovaj registar je najčešći, jedan od obaveznih u skoro svakoj računarskoj arhitekturi.