CS/컴퓨터 구조

[컴퓨터 구조] 4-2 레지스터

서니션 2024. 6. 10. 09:30
728x90
반응형
이 글을 혼자 공부하는 컴퓨터구조 + 운영체제 (한빛미디어) 책을 읽고 혼자 공부한 내용입니다.
잘못 이해한 부분이 있을 수 있고, 문제가 있는 부분 댓글로 알려주시면 수정하겠습니다.

 

반드시 알아야 할 레지스터

 

프로그램 카운터

메모리에서 가져올 명령어의 주소, 즉 메모리에서 읽어 들일 명령어의 주소를 저장

명령어 포인터라고도 부름

 

명령어 레지스터

해석할 명령어, 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터

제어장치는 명령어 레지스터 속 명령어를 받아들이고 이를 해석한 뒤 제어 신호를 내보냄

 

메모리 주소 레지스터

메모리의 주소를 저장하는 레지스터

CPU가 읽어 들이고자 하는 주소 값을 주소 버스로 보낼 때 거치게 됨

 

메모리 버퍼 레지스터

메모리와 주고받을 값을 저장하는 레지스터

메모리가 쓰고 싶은 값이나 메모리부터 전달받은 값은 메모리 버퍼 레지스터를 거침

CPU가 주소 버스로 내보낼 값이 메모리 주소 레지스터를 거친다면, 데이터 버스로 주고 받을 값은 메모리 버퍼 레지스터를 거침

 

범용 레지스터

다양하고 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터

데이터와 주소 모두 저장 가능

 

플래그 레지스터

연산 결과 또는 CPU 상태에 대한 부가적인 정보를 저장하는 레지스터


스택 주소 지정 방식

 

스택 주소 지정 방식

스택과 스택 포인터를 이용한 주소 지정 방식

 

스택 포인터

스택의 꼭대기를 가리키는 레지스터

스택의 어디까지 데이터가 채워져 있는지에 대한 표시

 

데이터를 꺼낸다면 1-> 2-> 3의 순서대롤 꺼냄

1을 꺼내면 스택 포인터는 5가 되는 것임

 

스택은 메모리 안에 있고, 메모리 안에 스택처럼 사용할 영역이 정해져 있음(스택 영역)


변위 주소 지정 방식

 

오퍼랜드 필드의 값(변위)과 특정 레지스터의 값을 더하여 유효 주소를 얻어내는 주소 지정 방식

 

상대 주소 지정 방식

오퍼랜드와 프로그램 카운터의 값을 더하여 유효 주소를 얻는 방식

 

베이스 레지스터 주소 지정 방식

오퍼랜드와 베이스 레지스터의 값을 더하여 유효 주소를 얻는 방식

베이스 레지스터는 '기준 주소', 오퍼랜드는 '기준 주소로부터 떨어진 거리'로서의 역할

베이스 레지스터 속 기준 주소로부터 얼마나 떨어져 있는 주소에 접근할 것인지를 연산하여 유효 주소를 얻어내는 방식

 

728x90
반응형