Register   레지스터

(2020-02-15)

CPU 내부 레지스터, 범용 레지스터, 입출력 레지스터, Program Counter, 프로그램 카운터

1. 컴퓨터 CPU 내부 레지스터  메모리와 유사하나, 훨씬 빠른 소규모 저장장치를 주로 의미

  ㅇ CPU 내 임시 저장장치
     - CPU 또는 MPU에 내장되어, 명령,주소,데이터를 임시 보관하는 고속의 기억장치
        . 마이크로프로세서 초기 모델인 x86 계열은 레지스터가 8개 정도


2. 컴퓨터 레지스터 일반적 구분 (프로세서 마다 다르게 정의되고 호칭됨)

  ㅇ 범용 레지스터(General Register) / 누산기(어큐뮬레이터, AC : Accmulator)
     - 연산의 중심 역할
        . 연산 입력 또는 연산 결과를 일시 저장하는 역할
           .. 연산 결과를 다시 자신에게 누적시킴
        . 또한, 메모리에 있는 값을 불러오라는 것일 수도 있음
     * 결국, 이 레지스터비트 수가, CPU 1회 연산에 처리 가능한 데이터 비트 수 (즉, 워드)

  ※ 위의 범용 이외 아래의 레지스터들을 일괄적으로,
     - `용도 지정 레지스터`,`특수 목적 레지스터` 등으로 칭함
 
  ㅇ 프로그램 카운터 (PC : Program Counter)
     - 다음 인출할 명령어 주소(메모리 상의 주소)를 임시 저장하는 레지스터명령어 레지스터 (IR : Instruction Register)
     - 가장 최근에 인출된 명령어(현재 실행 중인 명령어)를 임시 저장하는 레지스터
        . 제어 장치가 이 명령어 레지스터에 있는 명령어를 해독(디코딩)하여
          동작에 필요한 제어 신호를 발생시키게 됨

  ㅇ 데이터 레지스터
     - 데이터 버스데이터를 읽고 쓰는 임시 저장하는 버퍼 레지스터
     - (별칭) 기억장치 버퍼 레지스터 (MBR : Memory Buffer Register)
        . 기억장치를 출입하는 데이터를 잠시 기억

  ㅇ 주소 레지스터
     - 주소 버스주소를 출력하기 전에 임시 저장하는 레지스터
     - (별칭) 기억장치 주소 레지스터 (MAR : Memory Address Register)
        . 기억장치를 출입하는 데이터주소를 기억
     - 종류 (주소 레지스터를 다른 말로 포인터라고 부르기도 함)
        . 스택 포인터(SP : Stack Pointer)
           .. 스택 메모리데이터가 채워진 마지막 위치를 가리킴
        . 베이스 포인터(BP : Base Pointer)
        . 인덱스 포인터(IX : Index Pointer)

  ㅇ 입출력 레지스터 (I/O 레지스터) 
     - 특히, 마이크로컨트롤러에서는 일반 컴퓨터 CPU와는 달리,
     - 주변장치CPU 간에 데이터 전송/중개를 전담하는, 
     - 특화된 입출력 레지스터가 제법 많이 쓰임               ☞ GPIO 참조


[중앙처리장치 (CPU)] 1. CPU 2. MPU,MCU,FPU,GPU 3. RISC,CISC 4. ALU 5. 제어 장치 6. 내부 레지스터 7. 파이프라인 8. 명령어

 
        최근수정     요약목록     참고문헌