카테고리 없음

레지스터

류도토리 2023. 12. 29. 16:44
  1. 프로그램 카운터 : 메모리에서 가져올 명령어의 주소(메모리에서 읽어 들일 명령어 주소)
  2. 명령어 레지스터 : 해석할 명령어(방금 메모리에서 읽어 들인 명령어
  3. 메모리 주소 레지스터 : 메모리의 주소(CPU가 읽어 들이고자 하는 주소를 주소 버스로 보낼 때 거치는 레지스터
  4. 메모리 버퍼 레지스터 : CPU가 정보를 데이터 버스로 주고 받을 때 거치는 레지스터
    1. 실행과정
      1. 첫번째 명령어부터 실행된다고 했을 때 프로그램 카운터에 첫번째 명령어 주소가 저장됨
      2. 읽고자 하는 주소를 메모리 주소 레지스터에 복사된다
      3. 메모리 읽기 신호와 함께 몇번지 주소를 읽고싶은지 쏴줌
      4. 프로그램 카운터 1증가
      5. 데이터 버스를 통해서 해당 주소의 값을 메모리 버퍼 레지스터에 저장
      6. 명령어 레지스터에 해석할 명령어를 복사
  5. 플래그 레지스터
    1. 연산 결과 또는 CPU 상태에 대한 부가적인 정보
  6. 범용 레지스터
    1. 다양하고 일반적인 상황에서 자유롭게 사용
  7. 스택 포인터
    1. 스택은 메모리 안에 있음 (스택영역)
    2. 스택의 꼭대기를 가리키는 레지스터(스텍이 어디까지 차있는지 표시)
    3. 스택 주소 지정 방식
      1. 스택과 스택 포인터를 이용한 주소 지정 방식
  8. 베이스 레지스터
    1. 기준 주소 저장
    2. 변위 주소 지정 방식
      1. 오퍼랜드 필드의 값(변위)과 특정 레지스터의 값을 더하여 유효 주소 얻기
      2. 상대 주소 지정 방식
        1. 오퍼랜드 필드의 값(변위)과 프로그램 카운터의 값을 더하여 유효 주소 얻기
      3. 베이스 레지스터 주소 지정 방식
        1. 오퍼랜드 필드의 값(변위)과 베이스 레지스터의 값을 더하여 유효 주소 얻기
              1.  
              1.