Znany również jako rejestr adresu instrukcji, komputer PC lub wskaźnik instrukcji, licznik programu jest rodzajem rejestru, który znajduje się w jednostce centralnej (CPU) systemu komputerowego. Zadaniem licznika jest zapewnienie tymczasowej obudowy dla następnej instrukcji, która ma być wykonana w ciągu instrukcji. Gdy jedna instrukcja jest pobierana i implementowana, program licznika kolejkuje następną instrukcję w ciągu, skutecznie minimalizując opóźnienia w wykonaniu kroków niezbędnych do wykonania zadania. Dzięki ciągłemu wskazywaniu następnej instrukcji proces przebiega sprawnie do przodu.
Chociaż istnieją odmiany, działanie licznika programu w jednostce centralnej jest stosunkowo proste. Po zleceniu nowego zadania instrukcje niezbędne do zarządzania tym zadaniem są pobierane z pamięci. Jest to zwykle realizowane przez procesor tworzący adres, który jest następnie wysyłany do pamięci, która w odpowiedzi wysyła instrukcje z powrotem do jednostki jako dane za pośrednictwem magistrali danych.
Licznik programu, jako jeden z kilku różnych rejestrów wbudowanych w CPU, wykonuje zadanie odbierania każdej instrukcji w sekwencji zadań. Utrzymanie logicznej sekwencji upraszcza postęp do przodu do każdego kroku, ostatecznie kończąc zadanie. Ten logiczny postęp jest utrzymywany przez wskazywanie danych, które mają być użyte jako następne, nawet gdy poprzednie dane są w użyciu, a następnie szybkie wskazywanie kolejnych danych w sekwencji, gdy każda instrukcja jest wykonywana po kolei.
W zależności od konfiguracji licznika programu, rejestr może faktycznie służyć jako wskaźnik do więcej niż jednej instrukcji związanej z aktualnie wykonywanym procesem. W przypadku niektórych projektów rejestrów licznik programu wskazuje nie tylko następny proces w sekwencji, ale także właśnie wydaną instrukcję, która jest obecnie w trakcie implementacji. Uważa się, że ten konkretny projekt pomaga w utrzymaniu równowagi zasobów, a także pomaga chronić ruch instrukcji do przodu z wyższym poziomem wydajności.
Funkcja licznika programu jest niezbędna do pomyślnego wykonania instrukcji związanych z dowolnym zadaniem. Wskazując drogę do każdej instrukcji w sekwencji, licznik pomaga zapewnić logiczne wykonanie tych kroków, które ostatecznie prowadzą do szybkiego i skutecznego wykonania zadania. Bez wykorzystania tego typu rejestru, możliwości zakłócenia sekwencji byłyby zwiększone, a szanse na wykonanie zadania byłyby stosunkowo niewielkie. Dodając organizację do stopniowego wykonywania wszystkich instrukcji krok po kroku, licznik programu służy jako kanał, który minimalizuje anomalie i utrzymuje prawidłowy postęp procesu.