상세 컨텐츠

본문 제목

운영체제 레지스터

개발생활/Operating System

by 한국인맛집 2019. 1. 4. 01:15

본문

반응형

레지스터 (Register)



  • 레지스터란?.


 프로세서(CPU) 에 위치한 고속의 메모리 이다. 특수한 값 하나를 저장하는 기억공간.



레지스터의 종류

    1. 사용의 용도에따른 레지스터 분류
      1. 전용 레지스터
      2. 범용 레지스터
    2. 정보의 종류에 따른 레지스터 분류
      1. 데이터 레지스터
      2. 주소레지스터
      3. 상태 레지스터
    3. 사용자가 저장한 정보의 사용여부에 따른 분류
      1. 사용자 가시 레지스터 ( User-Visible register)
      2. 사용자 불가시 레지스터 (User-Invisible register)

  • 데이터 레지스터 (Data Register)

함수연산에 필요한 데이터를 저장하는 레지스터 , 연산결과를 플레그(Flag) 값으로 저장한다.



  • 주소 레지스터 ( Address Register)

주소, 유효주소 계산에 필요한 주소 일부를 저장하는 레지스터, 주소레지스터의 종류는 아래와 같다.


      • 기본주소 레지스터 : 프로그램 실행에 필요한 기준 주소값을 저장하는 주소 레지스터.( 프로그램 경로 주소를 저장함)
      • 인덱스 레지스터 : 유효주소를 계산하는데 사용되는 주소정보를 저장.
      • 스택포인터 레지스터 : 메모리에 프로세서 스택을 구현하는데 사용한다, ( 프로그램 언어를 사용할때 스택영역을 뜻함.) 많은 프로세서와 주소레지스터가 데이터 스택 포인터, 큐 포인터로 사용된다. 보통 일반적으로 반환주소, 프로세서 상태 정보, 서브루틴* 의 임시변수를 저장한다.

 * 서브루틴 (subroutine ) : C 언어에서 function 과 같은의미다.



  • 프로그램 카운터 ( Program counter , PC) : 프로그램 카운터는 명령어의 실행순서를 담는다. 다음 실행할 명령어의 주소 를 저장. (계수기로 되어있어, 명령어를 읽으면서 카운트함.)

  • 명령어 레지스터( Instruction Register, IR) : 현재 실행(수행) 하고있는 명령어를 저장.명령어 레지스터는 메모리 내부에서만 전달되어 속도가 빠르다. ( 메모리 버퍼 레지스터 와 명령어 레지스터 사이에 직접전달)

  • 프로그램 상태 레지스터( Program status Register, PSR) : 프로그램 상태 프래그같은 상태값을 저장한다. 플래그 외, 프로그램 카운터에 저장된 주소정보도 저장한다.

  • 메모리 주소 레지스터 ( Memory Address Register , MAR) : 메모리 주소에 접근하려 하는 메모리 주소를 저장한다. (주소 레지스터, 프로그램 카운터로부터 주소정보를 받는다)

  • 메모리 버퍼 레지스터 ( Memory Buffer Register , MBR) : 메모리에서 정보를 읽을때 나 정보를 저장할때 사용된다.




프로세서의 기본 레지스터 구성

  • IR (Instruction Register) : 명령어 레지스터
  • MAR (Memory Address Register) : 메모리 주소 레지스터
  • PSR (Program status Register ) : 프로그램 상태 레지스터
  • MBR ( Memory Buffer Register ) : 메모리 버퍼 레지스터
  • PC( Program Counter ) : 프로그램 카운터
  • DR (Data Register ) : 데이터 레지스터
  • AC ( Accumulator) : 누산기
  • MQR( Multiplier Quotient Register) : 곱수 몫 레지스터
  • MM ( Main Memory ) : 메인 메모리.


반응형

'개발생활 > Operating System' 카테고리의 다른 글

운영체제 컴퓨터 시스템 구성요소 - BUS  (31) 2019.01.03

관련글 더보기