IP (процесор)

Из Википедије, слободне енциклопедије

IP регистар (енгл. Instruction Pointer) је назив који употребљава већина произвођача процесора за регистар који служи као показивач на наредну инструкцију коју процесор треба да изврши. Други назив за овај регистар је програмски бројач (енгл. Program counter) познато по скраћеници PC.

Вредност у регистру је адреса следеће инструкције коју треба учитати у процесор. По учитавању инструкције се вредност увећава за онолико колико је потребно да се укаже на следећу инструкцију. Пример за ово је код 32-битних процесора где је најмања адресибилна јединица бајт, а стандардна дужина инструкције је 4 бајта (процесорска реч је 32 бита). Тада се IP регистар увећава сваки пут за 4, показујући на следећу инструкцију у низу.

Овај регистар се имплицитно користи у свакој инструкцији. У уобичајеним ситуацијама се инструкције нижу једна за другом непрекидно. Тада се непосредно по учитавању инструкције увећава (то је операција - инкремент) показивач на следећу инструкцију. Инструкције као што су скок, условни скок, скок у потпрограм, повратак из потпрограма ремете овај низ. Тада се у регистар IP уписује другачија вредност што изазива да се следећа инструкција налази испред или иза оне која би била очекивана. Ово се зове скок у извршавању програма и представља прекид линеарности, што у неким архитектурама може представљати значајно успорење извршавања.

Овај регистар је најчешћи, један од обавезних у скоро свакој рачунарској архитектури.