2주차(1/8 ~ 1/14) | Chapter 04 ~ 05 | p. 125의 확인 문제 2번, p. 155의 확인 문제 4번 풀고 인증하기 | Ch.05(05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기 |
---|
<aside> ☝🏻 [대전제] 계산을 하기 위해서는 피연산자와 연산자가 필요하다. (명령어의 구조가 그러하듯)
</aside>
<aside> ☝🏻 정보) CPU마다 레지스터가 다 다름. 이 레지스터는 각각 CPU 제조사 홈페이지나 공식 문서에서 확인 가능. 그러나 우리가 지금 알아볼 것은 공통으로 포함하고 있는 여덟 개의 레지스터임.
</aside>
레지스터
<메모리에 저장된 프로그램 실행 과정>
a. 프로그램 카운터: 메모리에서 가져올 명령어의 주소 저장
b. 메모리 주소 레지스터: 메모리의 주소를 저장(메모리 접근-주소 버스 이용)
c. 메모리 버퍼 레지스터: 메모리와 주고받을 값 저장(메모리 접근-데이터 버스 이용)
d. 명령어 레지스터: 메모리에서 읽어들인 명령어 저장
해당 사진은 메모리에 저장된 프로그램 실행 과정 중 하나임
<부가 정보 및 편의 실행 과정>
e. 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용할 수 있는 레지스터
f. 플래그 레지스터: 연산 결과, 또는 CPU 상태에 대한 부가적인 정보를 저장하는 레지스터
<특정 레지스터를 이용한 주소 지정 방식>
이번 주소 지정 방식은 스택 포인터, 프로그램 카운터, 베이스 레지스터를 이용하여 주소를 지정하는 방식임. 다른 주소 지정 방식은 아래 페이지 참고!
g. 스택 포인터(←스택 주소 지정 방식): 스택에 마지막으로 저장한 값의 위치를 저장하는 레지스터
h. 베이스 레지스터(←변위 주소 지정 방식-베이스 레지스터 주소 지정 방식): 기준 주소를 저장하는 레지스터
스택 주소 지정 방식: 스택과 스택 포인터를 이용한 주소 지정 방식
변위 주소 지정 방식-상대 주소 지정 방식: 오퍼랜드 필드의 값(변위) + 프로그램 카운터의 값을 더하여 유효 주소를 얻어내는 주소 지정 방식
변위 주소 지정 방식-베이스 레지스터 주소 지정 방식: 오퍼랜드 필드의 값(변위) + 베이스 레지스터의 값을 더하여 유효 주소를 얻어내는 주소 지정 방식
스택 주소 지정 방식
변위 주소 지정 방식