레지스터
- 레지스터는 CPU 안에 있는 작은 임시 저장장치
- CPU 안에는 다양한 레지스터들이 있고 각기 다른 역할
- 프로그램을 이루는 데이터와 명령어가 프로그램의 실행 전후로 저장
- 레지스터는 디버깅 도구를 이용해 관찰
주요 레지스터
프로그램 카운터
- 프로그램 카운터는 메모리에서 읽어 들일 명령어의 주소를 저장
- 명령어 포인터라고 부르는 CPU도 존재
- 프로그램 카운터는 1씩 증가, 다음으로 읽어 들일 메모리 주소가 1씩 증가하는 것과 같음.
명령어 레지스터
- 해석할 명령어, 메모리에서 방금 읽어 들인 명령어를 저장
- 제어장치는 명령어 레지스터 속 명령어를 해석한 뒤 ALU로 연산하도록 하거나 다른 부품을 제어신호를 보내 작동
범용 레지스터
- 자유롭게 사용하는 레지스터
- 데이터, 명령어, 주소 저장
플래그 레지스터
- 연산의 결과나 CPU 상태에 대한 부가 정보인 플래그 값을 저장.
스택 포인터
- 메모리 내 스택 영역의 최상단 스택 데이터 위치를 가리키는 레지스터
- 메모리에는 스택처럼 사용할 수 있는 영역이 정해져 있다.