El contador del programa es un registro dentro de la CPU que contiene la dirección de memoria de la siguiente instrucción que se ejecutará. Es crucial para la ejecución secuencial de instrucciones. Después de obtener y ejecutar una instrucción, la PC se incrementa (o se actualiza a una dirección de destino de la rama) para apuntar a la siguiente instrucción en el flujo del programa.
Si bien la PC en sí es un registro (y por lo tanto no directamente * almacenado * en la memoria principal de la misma manera que los datos son), su * valor * (la dirección de memoria) se almacena en el registro, que es parte del estado interno de la CPU que se almacena implícitamente en la memoria cuando se guarda el estado de la CPU (por ejemplo, durante un conmutador de contexto o interrupción). Por lo tanto, uno podría referirse indirectamente al valor de la PC como "almacenado". Sin embargo, referirse a él simplemente como el "contador del programa" es mucho más preciso y común. El término "contador de programa almacenado" es poco convencional y potencialmente engañoso.