일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- gpt
- Classification
- 분류
- GPT-4
- 해커톤
- deep learning
- 회귀
- LLM
- regression
- AI
- 티스토리챌린지
- OpenAI
- 머신러닝
- PCA
- LG
- Machine Learning
- 오블완
- ChatGPT
- supervised learning
- LG Aimers 4th
- 지도학습
- LG Aimers
- 딥러닝
Archives
- Today
- Total
SYDev
Chapter 04-2 : 레지스터 본문
Computer Architecture + Operating System/Computer Architecture
Chapter 04-2 : 레지스터
시데브 2023. 7. 25. 01:04학습 목표
- 프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장되므로, 레지스터만 잘 관찰해도 CPU가 돌아가는 상황을 어느정도 파악할 수 있다.
- 이런 레지스터의 종류와 역할을 학습하고, 각 레지스터를 통해 명령어가 처리되는 과정을 이해해보자.
주요 레지스터 8종
- 프로그램 카운터: 메모리에서 가져올 명령어의 주소를 저장, 명령어 포인터(IP; Instruction Pointer)라고도 불림
- 명령어 레지스터: 메모리에서 가져온 명령어를 저장
- 메모리 주소 레지스터: 메모리의 주소를 저장, CPU에서 주소 버스로 보내기 전 거치는 레지스터
- 메모리 버퍼 레지스터: 메모리와 주고받을 데이터와 명령어를 저장, 데이터 버스로 이동하기 전 거치는 레지스터
프로그램 카운터에 저장된 명령어의 주소 -> 메모리 주소 레지스터 --(주소 버스)--> 메모리 --(데이터 버스)--> 메모리 버퍼 레지스터 -> 명령어 레지스터
- 플래그 레지스터: 연산 결과 or CPU 상태에 대한 부가적인 정보(플래그)를 저장
- 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터
- 스택 포인터: 스택(LIFO) 영역을 이용한 스택 주소 지정 방식에 사용
- 베이스 레지스터: 오퍼랜드와 함께 베이스 레지스터 주소 지정 방식에 사용
특정 레지스터를 이용한 주소 지정 방식(1): 스택 주소 지정 방식
- 스택(LIFO) 포인터: 스택에 데이터가 어디까지 채워져 있는지 표시, 스택의 Last In 데이터의 주소
- 메모리 내부에 특정 영역을 잡고 스택처럼 사용하기로 약속
- 스택 주소 지정 방식: 스택 포인터로 지정된 주소를 통해 데이터에 접근하는 방식
특정 레지스터를 이용한 주소 지정 방식(2): 변위 주소 지정 방식
- 변위 주소 지정 방식(displacement addressing mode): 오퍼랜드 필드의 값과 특정 레지스터의 값을 더하여 유효주소를 얻어내는 주소 지정 방식
- 변위 주소 지정 방식은 상대 주소 지정 방식과 베이스 레지스터 지정 방식으로 나뉜다.
상대 주소 지정 방식
- 오퍼랜드 + 프로그램 카운터 -> 유효 주소
- 프로그램 카운터에 저장된 명령어 주소로부터 오퍼랜드에 있는 값만큼 떨어진 명령어에 접근
- 예를 들어 오퍼랜드에 -3 값이 저장되어있으면, 프로그램 카운터에 저장된 명령어 주소로부터 '세 번째 이전' 번지로 접근
- if문과 유사하게 모든 코드를 실행하는 것이 아닌, 분기하여 특정 주소의 코들르 실행할 때 사용됨
베이스 레지스터 주 지정 방식
- 오퍼랜드 + 베이스 레지스터 -> 유효 주소
- 베이스 레지스터는 '기준 주소', 오퍼랜드는 '기준 주소로부터 떨어진 거리'
- 주로 기억장치 내의 프로그램의 위치를 지정할 때 사용됨
참고자료
#3 컴퓨터 구조 - 명령어를 효과적으로 처리하기 위한 기법
지난 시간에는 명령어의 형식에 대해 공부하였다. 이번에는 명령어를 효과적으로 실행하기 위한 기법 3가지(주소 지정 방식 / 파이프라인 / 인터럽트)를 살펴보도록 하자 주소 지정 방식 주소 지
hyk0425.tistory.com
- 강민철, <혼자 공부하는 컴퓨터구조 + 운영체제>, 한빛미디어(주), 2022.08.16
'Computer Architecture + Operating System > Computer Architecture' 카테고리의 다른 글
Chapter 05-1: 빠른 CPU를 위한 설계 기법 (0) | 2023.08.04 |
---|---|
Chapter 04-3 : 명령어 사이클과 인터럽트 (0) | 2023.08.01 |
Chapter 04-1 : ALU와 제어장치 (0) | 2023.07.23 |
Chapter 03-2 : 명령어의 구조 (0) | 2023.07.21 |
Chapter 03-1 : 소스 코드와 명령어 (0) | 2023.07.21 |