1] 레지스터
레지스터는 CPU 내부의 작은 임시저장장치
프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장
2] 반드시 알아야 할 레지스터
1. 프로그램 카운터: 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소)
2. 명령어 레지스터: 해석할 명령어 (방금 메모리에서 읽어 들인 명령어)
3. 메모리 주소 레지스터: 메모리의 주소를 저장
4. 메모리 버퍼 레지스터: 메모리와 주고받을 값(데이터와 명령어)
5. 플레그 레지스터: 연산 결과 또는 CPU 상태에 대한 부가적인 정보
6. 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용
7. 스택 포인터 (스택 주소 지정 방식으로 사용됨)
스택 주소 지정 방식: 스택과 스택 포인터를 이용한 주소 지정 방식
스택 포인터: 스택의 꼭대기를 가리키는 레지스터 (스택이 어디까지 차 있는지에 대한 표시)
8. 베이스 레지스터 (변위 주소 지정 방식으로 사용됨)
변위 주소 지정 방식: 오퍼랜드 필드의 값(변위)과 특정 레지스터의 값을 더하여 유효 주소 얻는 방식
그 특정 레지스터에는
1_ 프로그램 카운터 레지스터를 이용한다면,
상대 주소 지정 방식(유효주소 = 오퍼랜드 필드의 값 + 프로그램 카운터의 값)이라 부름
2_ 베이스 레지스터를 이용한다면,
베이스 레지스터 주소 지정 방식(유효주소 = 오퍼랜드 필드의 값 + 베이스 레지스터의 값)이라 부름
- 만약, 순차적인 실행 흐름이 끊기는 경우
1. 특정 메모리 주소로 실행 흐름을 이동하는 명령어 실행 시
(ex. JUMP, CONDITIONAL JUMP, CALL, RET...)
2. 인터럽트 발생 시
3. ETC...
이러한 경우에는 프로그램 카운터가 1씩 증가하지 않고 다르게 증감
'CS > [혼자 공부하는] 컴퓨터 구조' 카테고리의 다른 글
5-1] CPU의 성능 향상 기법: 코어와 스레드 (0) | 2023.03.31 |
---|---|
4-3] CPU의 작동원리: 명령어 사이클과 인터럽트 (0) | 2023.03.31 |
4-1] CPU의 작동원리: ALU와 제어장치 (0) | 2023.03.31 |
3] 명령어 (0) | 2023.03.31 |
1] 컴퓨터 구조의 큰그림 (0) | 2023.03.31 |