Post

레지스터

레지스터는 컴퓨터의 중앙 처리 장치(CPU) 내에 있는 작고 빠른 저장 장치이며, 명령 실행에 즉시 필요한 데이터를 보유하여 CPU 작동에서 중요한 역할을 한다.

레지스터 유형

  • 범용 레지스터: 산술 연산, 데이터 저장, 주소 지정 등 광범위한 작업에 사용된다.
  • 특수 목적 레지스터
    • 프로그램 카운터(PC): 실행할 다음 명령의 주소를 보유한다.
    • 명령 레지스터(IR): 현재 실행 중인 명령을 저장한다.
    • 스택 포인터(SP): 메모리에 있는 현재 스택의 맨 위를 가리킨다.
    • 상태 레지스터: 작업 결과에 대한 정보를 제공하는 플래그(예: 0, 캐리, 오버플로 플래그)가 포함되어 있다.
  • 데이터 레지스터: 현재 사용 중이거나 CPU 작업에서 곧 사용될 데이터를 보관하는 데 사용된다.
  • 주소 레지스터: 메모리의 데이터와 관련된 작업에 사용되는 메모리 주소를 저장합니다.

레지스터의 기능

  • 작업 속도 향상: 레지스터는 RAM이나 캐시와 같은 다른 형태의 저장 장치보다 빠르다.
  • 즉시 데이터 액세스: 명령을 실행하기 위해 CPU에 필요한 데이터에 대한 즉각적인 액세스를 제공한다.
  • 통제 및 조정: 특수 목적 레지스터는 CPU 내 작업 흐름을 제어하고 작업을 조정하는 데 중요한 역할을 한다.

레지스터 동작 예시 (5+3)❗️

  1. 첫 번째 명령어 가져오기
    • 숫자 5를 레지스터에 로드하는 명령어를 가져온다
      • 프로그램 카운터(PC): 가져올 명령어의 주소를 보유한다.
      • 명령어 레지스터(IR): 가져온 명령어를 저장한다.
  2. 명령어 디코딩
    • 가져온 명령어를 디코딩하여 실행해야할 작업이 무엇인지 이해한다.
      • 제어 장치: IR의 opcode를 해석한다.
  3. 로드 명령 실행
    • 숫자 5를 범용 레지스터에 로드한다.
      • 범용 레지스터(예: R1): 숫자 5를 로드한다.
  4. 두 번째 명령어 가져오기
    • 숫자 3을 레지스터에 로드하는 명령어를 가져온다.
      • 프로그램 카운터(PC): 다음 명령어의 주소로 업데이트된다.
      • 명령어 레지스터(IR): 이제 새 명령이 저장된다.
  5. 두 번째 로드 디코딩 및 실행
    • 숫자 3을 다른 레지스터에 로드하는 명령어를 디코딩하고 실행한다.
      • 범용 레지스터(예: R2): 숫자 3을 로드한다.
  6. 덧셈 명령어 가져오기
    • 두 레지스터의 내용을 추가하는 명령어를 가져온다.
      • 프로그램 카운터(PC): 다음 명령어의 주소로 업데이트된다.
      • 명령어 레지스터(IR): 덧셈 명령어를 가져오고 저장한다.
  7. 추가 내용 디코딩 및 실행
    • 덧셈 명령어를 디코딩하고 연산을 수행한다.
      • ALU: R1과 R2의 값을 더한다.
      • 범용 레지스터(예: R3): 결과(8)를 저장한다.
  8. 결과 저장 또는 사용:
    • R3의 결과는 추가 작업에 사용되거나 메모리에 저장할 수 있다.
This post is licensed under CC BY 4.0 by the author.

© zwoong. Some rights reserved.