プログラムカウンタとは、実行する機械語の命令が格納されているメモリアドレスを保持するアドレスレジスタのことです。
機械語の命令を読み出す際は、プログラムカウンタの出力をアドレスバスに接続し、データバスから命令を読み出します。
そして、読み出した命令のバイト数を加算器でプログラムカウンタに加算します。つまり、読み出した命令が8バイトであれば、プログラムカウンタに8を加算します。
これにより、プログラムカウンタは、次に読み出すべき、命令のメモリアドレスを保持します。
また、プログラムカウンタに任意のメモリアドレスを書き込むことで、任意の位置から命令を読み出せます。