프로그램 카운터(Program Counter)란 프로세서 내부에 있는 레지스터 중의 하나로서, 다음에 실행할 명령어의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다. 다른 말로는 명령어 포인터라고도 불린다. CPU(중앙 처리 장치)는 명령어를 순차적으로 실행하는 데 사용되며, 이 때 프로그램 카운터가 중요한 역할을 한다.
→ 쉽게 말하면, 다양한 명령어들이 실행되기를 기다리고 있는데, 이 중 어떤 것부터 처리해야 하는지를 알려주는 역할을 한다.
작업 실행 속도를 높이고 현재 실행 지점을 추적하는 데 필요한 디지털 카운터이다.
PC는 현재 실행 중인 명령(Instruction)의 주소(위치)를 포함하는 컴퓨터 프로세서의 레지스터이다.
명령 주기(Instruction cycle)는 CPU가 PC의 값을 Data bus에 배치하여 메모리로 보내는 fetch로 시작한다.
메모리는 Data bus에서 해당 메모리 위치의 내용을 전송하여 응답한다.
fetch 이후 CPU는 실행을 진행하여 얻은 메모리 내용에 따라 몇 가지 작업을 수행한다. 이 주기의 특정 지점에서 PC는 다음에 실행되는 명령이 다른 명령이 되도록 수정된다.
CPU는 다음에 실행할 명령어가 저장되어 있는 주소를 PC에서 읽어서 순차적으로 실행한다.
실행 명령 호출

다음 명령 주소 호출(Program Counter)
