CS공부/컴퓨터구조 / / 2025. 4. 23. 22:37

4-2. 레지스터

프로그램 속 명령어와 데이터는 실행전후로 반드시 레지스터에 저장된다.

레지스터들은 CPU마다 이름, 크기, 종류가 매우 다양하다 그 중 대표적인 8가지는

  1. 프로그램 카운터(명령어 포인터)
    1. 메모리에서 읽어 들일 명령어의 주소를 저장
  2. 명령어 레지스터
    1. 방금 메모리에서 읽어 들인 명령어를 저장하는 레지스터ㅁ
  3. 메모리 주소 레지스터
    1. 메모리의 주소를 저장하는 레지스터
    2. CPU가 읽어 들이고자 하는 주소 값을 주소 버스로 보낼 때 메모리 주소 레지스터를 거치게 된다.
  4. 메모리 버퍼(데이터) 레지스터
    1. 메모리와 주고받을 값을 저장하는 레지스터
  5. 범용 레지스터
    1. 데이터와 주소를 모두 저장하는 레지스터 다양하고 자유롭게 사용 가능
    2. 메모리 버퍼 레지스터는 데이터버스로 주고받을 값만 저장
    3. 메모리 주소 레지스터는 주소 버스로 내보낼 주소값만 저장
  6. 플래그 레지스터
    1. 연산 결과 또는 CPU 상태에 대한 부가적인 정보를 저장하는 레지스터
  7. 스택 주소 지정 방식
    1. 스택과 스택 포인터를 이용한 주소 방식
    2. 스택 포인터란 스택의 꼭대기를 가리키는 레지스터
    3. 스택은 메모리안에 스택처럼 사용할 영역이 정해져 있는 스택영역에 있음.
  8. 변위 주소 지정 방식
    1. 오퍼랜드 필드의 값과 특정 레지스터의 값을 더하여 유효 주소를 얻어내는 주소 지정 방식
    2. 상대 지정 방식 : 오퍼랜드와 프로그램 카운터의 값을 더하여 유효 주소를 얻는 방식
    3. 프로그램 카운터에 명령어 주소 오퍼랜드에 -3이 있다면 프로그램 카운터 주소 -3 값을 불러옴
    4. 베이스 레지스터 주소 지정 방식 : 오퍼랜드와 베이스 레지스터의 값을 더하여 유효 주소를 얻는 방식
    5. 베이스 레지스터에 200 오퍼랜드에 40이 있다면 기준 주소에 +240 값을 불러옴
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유