레지스터는 CPU 내부의 작은 임시저장장치
프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장된다
CPU 내부에는 다양한 레지스터들이 있고, 각기 다른 역할을 가진다
반드시 알아야 할 레지스터
1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소)
2. 명령어 레지스터 : 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) _ 제어장치가 해석
3. 메모리 주소 레지스터 : 메모리의 주소 _ CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터
4. 메모리 버퍼 레지스터 : 메모리와 주고 받을 값, 즉 데이터와 명령어를 저장함
5. 플래그 레지스터 : 연산 결과 또는 CPU 상태에 대한 부가적인 정보
6. 범용 레지스터 : 다양하고 일반적인 상황에서 자유롭게 사용
7. 스택 포인터 : 스택의 꼭대기를 가르킴
8. 베이스 레지스터 : 기준 주소 저장
순차적인 실행 흐름이 끊기는 경우
- 특정 메모리 주소로 실행 흐름을 이동하는 명령어 실행시 (ex. JUMP, CONDITIONAL JUMP, CALL , RET)
- 인터럽트 발생시
- 등등 ..
특정 레지스터를 이용한 주소 지정 방식
- 스택 주소 지정 방식 : 스택과 스택 포인터를 이용한 주소 지정 방식
- 변위 주소 지정 방식 : 오퍼랜드 필드의 값과 특정 레지스터의 값을 더하여 유효 주소 얻기
변위 주소 지정 방식에는 두 가지가 있다
1. 오퍼랜드 필드의 값 + 베이스 레지스터
2. 오퍼랜드 필드의 값 + 프로그램 카운터
프로그램 카운터를 더해서 얻는 방식은 상대 주소 지정 방식
베이스 레지스터 값을 더해서 얻는 방식이 베이스 레지스터 주소 지정 방식
'CS' 카테고리의 다른 글
[혼자 공부하는 컴퓨터구조 + 운영체제] - 빠른 CPU를 위한 설계 기법 (0) | 2023.05.07 |
---|---|
[혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어 사이클과 인터럽트 (0) | 2023.04.23 |
[혼자 공부하는 컴퓨터구조 + 운영체제] - ALU와 제어 장치 (0) | 2023.04.16 |
[혼자 공부하는 컴퓨터구조 + 운영체제] - 명령어의 구조 (0) | 2023.04.16 |
[혼자 공부하는 컴퓨터구조 + 운영체제] - 소스 코드와 명령어 (0) | 2023.04.01 |