Published on

PC(Program Counter)와 SP(Stack Pointer)

Authors
  • avatar
    Name
    유사공대생
    Twitter

프로그램 카운터(PC)와 스택 포인터(SP)는 컴퓨터 아키텍처에서 중요한 역할을 한다.

image

Program Counter(PC)

프로그램 카운터(PC)는 CPU에서 현재 실행 중인 명령어의 위치를 가리키는 레지스터이다. CPU는 이 값을 참조하여 다음 실행할 명령어의 주소를 결정한다. 명령어가 실행될 때마다, 프로그램 카운터는 다음 명령어의 주소로 자동으로 증가된다. 이를 통해 CPU는 연속적으로 명령어를 실행하게 된다.

Stack Pointer(SP)

스택 포인터(SP)는 메모리에서 스택의 위치를 가리키는 레지스터이다. 스택은 데이터를 일시적으로 저장하는 데 사용되며, 데이터는 마지막에 추가된 것부터 역순으로 제거됩니다. 함수 호출과 같은 작업에서 스택은 매우 중요하다. 함수 호출 시, 현재 실행 중인 함수의 지역 변수 및 다른 정보가 스택에 저장된다. 호출된 함수가 실행을 마치면, 해당 정보는 스택에서 제거된다. 스택 포인터는 이러한 스택의 동작을 관리하고, 다음 데이터가 저장될 위치를 가리킨다.

따라서, 프로그램 카운터와 스택 포인터는 CPU의 명령어 실행 및 메모리에서 데이터를 읽고 쓰는 데 필수적인 레지스터이다.