Ohjelmalaskuri, joka tunnetaan myös nimellä käskyosoiterekisteri, tietokone tai käskyosoitin, on rekisterityyppi, joka löytyy tietokonejärjestelmän keskusyksiköstä (CPU). Laskurin tarkoitus on tarjota väliaikainen kotelo seuraavalle käskylle, joka suoritetaan käskysarjalla. Kun yksi käsky noudetaan ja toteutetaan, ohjelmalaskuri jonottaa jonon seuraavan käskyn, mikä minimoi tehokkaasti viiveet tehtävän suorittamiseen tarvittavien vaiheiden suorittamisessa. Osoittamalla aina seuraavaa ohjetta prosessi etenee tehokkaasti eteenpäin.
Vaikka eroja on, ohjelmalaskimen käyttö keskusyksikössä on suhteellisen yksinkertaista. Kun uusi tehtävä tilataan, tehtävän hallintaan tarvittavat ohjeet haetaan muistista. Tämä suoritetaan tavallisesti siten, että CPU luo osoitteen, joka lähetetään sitten muistiin, joka vastaa lähettämällä ohjeet takaisin laitteelle dataväylän kautta.
Ohjelmalaskuri, joka on yksi useista keskusyksikköön sisäänrakennetuista rekistereistä, suorittaa tehtävän vastaanottaa kaikki ohjeet tehtäväjärjestyksessä. Loogisen sekvenssin ylläpitäminen yksinkertaistaa eteenpäin etenemistä jokaiseen vaiheeseen ja viimeistelee tehtävän. Tämä looginen eteneminen ylläpidetään osoittamalla tiedot, joita on tarkoitus käyttää seuraavaksi, vaikka edelliset tiedot ovat käytössä, ja osoittamalla sitten nopeasti järjestyksen seuraavaan dataan, kun jokainen käsky suoritetaan vuorotellen.
Ohjelmalaskurin kokoonpanosta riippuen rekisteri voi itse asiassa toimia osoittimena useammalle kuin yhdelle käskylle, joka liittyy parhaillaan suoritettavaan prosessiin. Joissakin rekisterimalleissa ohjelmalaskuri ei ainoastaan osoita järjestyksessä seuraavaan prosessiin, vaan myös juuri julkaistua käskyä, joka on parhaillaan toteutuksessa. Tämän nimenomaisen rakenteen uskotaan auttavan ylläpitämään resurssien tasapainoa ja auttamaan suojelemaan ohjeiden siirtymistä eteenpäin tehokkaammin.
Ohjelmalaskurin toiminta on välttämätöntä mihin tahansa tehtävään liittyvien ohjeiden onnistuneeseen suorittamiseen. Osoittamalla tien kohti järjestyksen jokaista käskyä laskuri auttaa toteuttamaan loogisesti ne vaiheet, jotka viime kädessä johtavat tehtävän suorittamiseen nopeasti ja tehokkaasti. Ilman tämän tyyppistä rekisteriä sekvenssin häiriintymismahdollisuus paranee ja mahdollisuudet tehtävän suorittamiseen ovat suhteellisen vähäiset. Kun lisäät organisaation vaiheittaiseen kaikkien ohjeiden suorittamiseen, ohjelmalaskuri toimii kanavana, joka minimoi poikkeavuudet ja pitää prosessin eteenpäin oikein.