Programszámláló

A Wikipédiából, a szabad enciklopédiából
Egy IBM 701 számítógép előlapja 1952-ből. A középső részen a kijelzősorok különböző regiszterek tartalmát jelenítik meg. Baloldalt alul látható az utasításszámláló – angolul instruction counter

A programszámláló (melyet utasításszámlálóként is hívnak (program counter illetve instruction pointer) a feladatütemező része, néhány számítógépen) egy regiszter a számítógép processzorában, mely jelzi, hogy a számítógép hol tart az utasítási sorban. A számítógép tulajdonságaitól függően tartalmazhatja az éppen végrehajtódó utasítás címét, vagy a következő végrehajtandó utasításét. A programszámláló automatikusan növekszik minden egyes utasítási ciklussal, tehát az utasításokat a memóriából olvassa ki szekvenciálisan. Bizonyos utasítások, mint például az elágazások vagy alprogram hívások és visszatérések megszakítják a sort, mivel új címet raknak a programszámlálóba.

A legtöbb processzorban az utasításmutató azonnal növekszik, amint kiolvasott egy programutasítást; ez azt jelenti, hogy az elágazási utasítás címét úgy kapjuk, hogy hozzáadjuk az elágazási utasítás operandusát a következő utasítás címéhez (bájt vagy word típus, a számítógép típusától függően) az elágazási utasítást követően. A következő végrehajtandó utasítás címe mindig az utasításmutatóban található meg.

Az újrakonfigurálható számítógéprendszerek (Reconfigurable Computing Systems - nem Neumann János-féle) alapvető modelljei azonban adatszámlálót használnak programszámláló helyett.