본문 바로가기

공부의 기록/Operating System

[운영 체제] 메모리란?

728x90
  • 데이터를 저장하는 장치

⬛ 메모리의 종류

⬛ 레지스터

  • 프로세서 내부에 있는 메모리로 명령을 빠르게 수행한다.
  • 프로그램 카운터(Program Counter) : 다음에 수행될 명령어의 주소를 보관하는 레지스터
  • 명령어 레지스터(Instruction Register) : 현재 실행중인 명령어를 보관하는 레지스터
  • 누산기( ACCummulator) : 연산결과인 데이터를 일시적으로 저장하는 레지스터
  • 이외에도 데이터 레지스터, 주소 레지스터, 메모리 주소 레지스터, 메모리 버퍼 레지스터가 있다.

⬛ 주기억 장치(Main Memory)

  • CPU가 직접 접근할 수 있는 기억 장치로 프로세서가 수행할 프로그램과 데이터를 저장
  • CPU와 보조기억 장치와의 속도 차이로 인한 디스크 입출력 병목현상을 해소하기 위해 사용된다.

⬛ 캐시(Cache)

  • 주기억장치에서 자주 사용하는 프로그램과 데이터를 저장
  • CPU와 메인 메모리와의 속도 차이로 인한 메인 메모리의 입출력 병목현상을 해소하기 위해 사용된다.
  • 캐시 히트(Cache Hit)
    • CPU가 요청한 데이터가 캐시 메모리에 있을 때
    • 메인 메모리까지 가는 시간을 절약
  • 캐시 미스(Cache Miss)
    • CPU가 요청한 데이터가 캐시 메모리에 없을 때
    • 메인 메모리에서 요청한 데이터를 가져와 캐시 메모리에서 가져오는 과정이 필요.
  • 캐시의 지역성(Locality)
    • 캐시의 적중률(Hit-rate)을 높이기 위해 필요한 것이 지역성의 원리
    • 공간적 지역성(Spatial Locality)
      • 참조한 데이터와 인접한 데이터를 다음에 참조하는 특성
      • 데이터 하나를 캐시에 가져오는 것이 아니라 블록 단위로 여러 데이터를 가져오기 때문에 가능
      • 배열의 순차적 연산 수행
    • 시간적 지역성(Temporal Locality)
      • 참조한 데이터를 가까운 미래에 다시 참조하는 특성
      • for문 수행의 변수 i는 가까운 미래에 반복해서 사용됨.

⬛ 보조 기억 장치(Secondary memory/Storage)

  • 프로세서가 직접 접근할 수 없기 때문에 메인 메모리를 통해 접근한다.
  • 용량이 크고 가격이 저렴
728x90