시작하기 전

프로그램 속 명령어와 데이터는 실행 전 후로 반드시 레지스터에 저장된다 . 따라서 저장된 값만 잘 관찰해도 프로그램의 실행 흐름을 파악할 수 있다.

다시 말해 , 레지스톡 값을 쥬심히 관찰하면 프로그램을 실행할 때 CPU 내에서 무슨 일이 벌어지고 있는지 , 어떤 명령어가 어떻게 수행되는지 알 수 있다.

반드시 알아야 할 레지스터

상용화 된 CPU 속 레지스터들은 CPU 마다 이름 , 종류 , 크기가 매우 다양하다.

많은 CPU가 공통으로 포함하고 있는 여덟 개의 레지스터를 학습해보자.

  1. 프로그램 카운터
  2. 명령어 레지스터
  3. 메모리 주소 레지스터
  4. 메모리 버퍼 레지스터
  5. 플래그 레지스터
  6. 범용 레지스터
  7. 스택 포인터
  8. 베이스 레지스터

Program Counter 프로그램 카운터

P.C 는 메모리에서 가져올 명령어의 주소 , 즉 메모리에서 읽어 들일 명령어의 주소를 저장한다.

IR : Instruction Register 명령어 레지스터

IR 은 해석할 명령어 , 메모리에서 읽어 들인 명령어를 저장하는 레지스터이다.

제어장치는 IR 에서 명령어를 받아들이고 이를 해석한 뒤 제어 신호를 내보낸다.

MAR : Memory Adress Register 메모리 주소 레지스터