[개발자를 위한 컴퓨터 공학]- 레지스터

Ethan·2023년 8월 10일
0

1. 레지스터란?

cpu 내부의 작은 임시저장장치, 프로그램 속 명령어 & 데이터는 실행 전후로 레지스터에 저장된다.

1.프로그램 카운터(명령어 포인터 Instruction pointer)

  • 메모리에서 가져올 명령어의 주소(메모리에서 읽어들일 명령어의 주소)
  1. 명령어 레지스터
  • 해석할 명령어(방금 메모리에서 읽어 들인 명령어)
  1. 메모리 주소 레지스터
  • 메모리의 주소 (cpu가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터)

시스템버스에는 데이터버스 제어버스 주소버스가 있다

  1. 메모리 버퍼 레지스터
  • 메모리와 주고 받을 값(데이터와 명령어)
  • 어떤 데이터? cpu가 정보를 데이터 버스로 주고 받을 때 거치는 레지스터

실행할 프로그램을 메모링서 실행한다 -> 프로그램카운터가 첫번째 주소값 저장-> 메모리 주소 레지스터로 주소값 복사-> 메모리에 메모리읽기신호(제어신호)와 함께 메모리 주소 레지스터가 메모리에 몇번지 주소를 읽고싶은지 쏴주게 된다.-> 프로그램 카운터 에 저장된 주소값의 값은 메모리 버퍼 레지스터에 입력되고--> 순차적으로 실행된다.

5.플래그 레지스터

  • 연산결과 또는 CPU 상태에 대한 부가적인 정보
    6.범용 레지스터
  • 다양하고 일반적인 상황에서 자유롭게 사용
  1. 스택 포인터(주소지정에 사용)
  • 스택의 꼭데기를 가리키는 레지스터(스택이 어디까지 차 있는지에 대한 표시)
  1. 주소 지정에 사용
  • 기준 주소를 저장하고 다음에 오는 수에 따라메모리 주소 결정

변위 주소 지정 방식

  • 오퍼랜드 필드의 값(변위)과 베이스 레지스터의 값을 더하여 유효주소 얻기

ex)

profile
코딩하는 알파카

1개의 댓글

comment-user-thumbnail
2023년 8월 10일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기