본문 바로가기

컴퓨터 기본 개념

[홍정모의 따라하며 배우는 C언어] CPU가 일하는 방법

  • 프로그램이 실행되면, 보조기억장치에 있던 데이터가 주기억장치로 옮겨진다
  • 주기억장치와 CPU가 통신하여 처리한다

  • 고수준 프로그래밍 언어로 작성하면 CPU를 통해 기계어로 변경한다

CPU 가 일하는 순서

1. 프로그램 카운터가 시작점을 말해준다

2. 메모리 주소 레지스터에 주소값 전달

3. 메모리 데이터 레지스터가 내부 데이터를 읽음

4. 메모리 데이터 레지스터가 읽어온 것이 instruction이기 때문에 명령어 레지스터로 옮겨감

5. 프로그램 카운터가 하나 증가된다. 프로그램 카운터는 항상 다음번에 읽어올 메모리의 주소를 가지고 있어야 하기 때문에 프로그램이 실행되기 전에 하나 증가됨

6. 명령어 레지스터에 있는 명령어가 제어장치로 들어감. 그럼 제어장치가 해독한다 (디코드라고 함)

7. 10번지에 있는 데이터를 가져오기 위해 10이라는 주소를 메모리 주소 레지스터를 넣어줌

8. 메모리 데이터 레지스터가 10에 있는 주소값을 읽음

9. 메모리 데이터 레지스터에 있는 것이 인스트럭션이 아닌 값이므로 + LOAD라는 명령어 이므로 어큐뮬레이터로 이동