Ugrás a tartalomhoz

Programszámláló

Ellenőrzött
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.

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.[1]

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

[szerkesztés]
  1. Edward L. Bosworth: The Evolution of the Intel Pentium (angol nyelven) (html, doc, pdf). Textbook for Introduction to Computer Organization. E.L. Bosworth, 2011. (Hozzáférés: 2025. október 30.)

Kapcsolódó szócikkek

[szerkesztés]