본문 바로가기
하드웨어/컴퓨터 구조

프로그램 카운터(Program Counter)

by bantomak 2023. 7. 21.

프로그램 카운터(Program Counter)란?

프로그램은 '명령의 집합'이고, 이를 순차적으로 컴파일, 어셈블, 링크, 로드하면 메모리에 적재된다. 프로그램 카운터는 메모리 내의 생성된 프로세스의 '코드 부분'을 가리키고 CPU는 이를 순차적으로 실행하게 된다.

 

CPU Registers 안에 프로그램 카운터가 존재한다.

 

즉, CPU가 매번 프로그램 카운터가 가리키는 메모리 위치의 명령을 처리하게 된다.

컴퓨터의 동작이 CPU에 의해서만 이루어지는 것은 아니다.

  1. 메모리에는 사용자 프로그램들과 운영체제가 같이 올라가 수행된다.
  2. CPU는 프로그램 카운터가 가리키는 메모리의 위치의 코드를 수행한다.

 

프로그램 카운터가 메모리 주소 중 운영체제가 존재하는 부분을 가르키고 있다면 현재 운영체제의 코드를 수행중이며 이 경우를 커널 모드라고 한다. 반대의 경우 사용자 모드라고 한다.

 

함께 읽으면 좋은 글

 

메모리 구조(Memory Structure)에 대해서

우리가 exe 파일을 실행하면 운영체제는 프로그램에 정의된 명령어(코드)를 바탕으로 메모리에 프로세스를 적재한다. 해당 프로세스를 위한 전용 공간이 할당된다. 프로그램은 단순히 디스크에

jettstream.tistory.com

출처

 

SP - 1.3 Process Control - Basic Concepts

  1.1, 1.2 포스팅을 통해 우리는 프로세스의 정의를 아래와 같이 확인한 바 있다.Process : Instance of a Running ProgramProcess : 프로그램이 메모리에 '명령어의 시퀀스'로 적재된 후, CPU를 동작시킬 수 있

velog.io

댓글