thumb|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.
Az Intel terminológia a „programszámláló” helyett az „utasításmutató” (IP, instruction pointer) kifejezést használja erre a vezérlőregiszterre. Az Intel terminológia sokkal jobb a elterjedt elnevezésnél (PC, program counter), mivel azért kapta ezt a nevet, mert nem számol semmit.
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.
Jegyzetek
Kapcsolódó szócikkek Mikroarchitektúra Regiszterek Utasítás-gyorsítótár Utasításciklus Utasításfutószalag Programállapotszó
Kategória:Informatika Kategória:Mikroprocesszorok Kategória:Regiszterek