컴퓨터 구조

프로그램 카운터

zz! 2025. 5. 21. 20:35
728x90

마이크로프로세서 내부에 있는 레지스터 중의 하나로서, 다음에 실행될 명령어의 주소를 가지고 있어서 실행할 기계어 코드의 위치를 지정한다. 때문에 명령어 포인터라고도 한다. 인텔의 x86계열의 CPU에서는 IP라고 한다.

https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8_%EC%B9%B4%EC%9A%B4%ED%84%B0

 

CPU는 메모리(RAM)에 저장된 명령어들을 순서대로 실행한다.

PC는 다음에 실행할 명령어의 메모리 주소를 가리킨다.

CPU가 명령어를 하나 실행하면, PC는 자동으로 다음 명령어 주소로 업데이트된다.

만약 jmp, call, ret 과 같은 분기 명령어가 나오면, PC는 새로운 주소로 점프하여 흐름 제어(Control Flow)를 변경한다.

 

x86 (32bit) 프로그램 카운터 레지스터 : EIP

x86-64 (64bit) 프로그램 카운터 레지스터 : RIP

728x90