[기본원리] 프로그램 카운터가 본 프로그램 실행 원리

반응형



프로그램 카운터에 관한 내용 입니다.

프로그램 카운터란 다음에 실행할 명령어가 보관된 주소를 저장하는 것입니다.
2010/07/02 - [Programing/기본원리] - 레지스터의 집합체! CPU!


대부분의 OS 는 프로그램이 실행되면 하드 디스크에서 프로그램을 빼온 뒤에
메모리로 복사를 하는데요. 메모리에는 명령어와 데이터가 들어있게되죠.
2010/07/02 - [Programing/기본원리] - 프로그래밍 에서의 CPU .

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥



프로그램 카운터가 실행되는 흐름

아래는 1+2 를 실행하는 프로그램의 프로그램 카운터를 쉽게 적어놓은 것입니다.


일반적으로는 명령어와 데이터는 여러 주소에 걸쳐 저장되기는 하지만, 여기에선 이해를 목적으로 하기 때문에 논외로 하겠습니다 ^^;

001 은 프로그램의 시작 위치를 나타냅니다. 운영체제에서 프로그램을 하드디스크에서 메모리로 복사하면서 프로그램 카운터 레지스터에 001 주소를 넣어 버리지요.

CPU 가 명령어 하나를 실행하면 프로그램 카운터의 값이 1씩 증가되면서 실행됩니다.
[ 즉, 001 의 명령어를 실행하면 프로그램 카운터의 값은 002가 됩니다. ]

그리고 CPU 의 제어장치는 프로그램 카운터의 값을 읽어 메모리에서 명령어를 실행합니다.

즉, 프로그램 카운터는 프로그램의 흐름을 결정하게 되는 것이지요!




반응형

댓글

Designed by JB FACTORY