CS/컴퓨터구조

[컴퓨터구조] 메모리(RAM), 캐시 메모리

연듀 2024. 2. 8. 09:49

 

메모리

데이터를 저장하는 기억 장치

 

 

RAM

주기억장치 

  • 특징
    • RAM에는 실행할 프로그램의 명령어와 데이터가 저장
    • RAM은 휘발성 저장 장치이고, 보조 기억 장치는 비휘발성 저장 장치
    • 보조기억장치에는 CPU가 실행하고 싶은 프로그램을 저장하고, 이를 RAM으로 복사해 저장 후 실행
    • 데이터 읽는 속도가 보조기억장치에 비해 빠름
    • CPU와 주기억장치에 캐시 메모리가 존재
  • 용량과 성능
    • RAM 용량이 크면 많은 데이터를 미리 보조기억장치에서 가져와 미리 RAM에 저장 가능
    • RAM 용량이 크면 많은 프로그램들을 동시에 빠르게 실행하는 데 유리
    • 용량이 필요 이상으로 커졌을 때 속도가 그에 비례해 증가하지는 않음
  • 종류
    • DRAM(Dynamic RAM) : 시간이 지나면 저장된 데이터가 사라지는 RAM. 주기적으로 데이터를 다시 저장해야 함. 일반적으로 메모리로써 사용
    • SRAM(Static RAM) : 시간이 지나도 저장된 데이터가 사라지지 않는 RAM. DRAM보다 속도가 빠름. 캐시 메모리로 사용
    • SDRAM(Synchronous Dynamic RAM) : 클럭에 맞춰 동작하며 클럭마다 CPU와 정보를 주고받을 수 있는 DRAM
    • DDR SDRAM(Double Data Rate SDRAM) : 대역폭을 넓혀 속도를 빠르게 만든 SDRAM

 

보조 기억 장치

  • 물리적인 디스크가 연결되어 있는 기억장치
  • 컴퓨터의 전원을 끄더라도 저장된 데이터가 사라지지 않고 영구적으로 보관할 수 있는 장치
  • 프로그램과 데이터를 저장
  • CPU가 직접 접근할 수 없고 주기억장치를 거쳐서 접근
  • 용량이 크고 가격이 저렴
  • HDD, SSD

 

 

 

메모리의 주소 공간

 

논리 주소와 물리 주소

 

물리 주소: 메모리 하드웨어 상의 주소

논리 주소: CPU와 실행 중인 프로그램이 사용하는 주소

 

 

논리 주소와 물리 주소 간의 변환

 

  • CPU가 메모리와 상호작용하기 위해 필요
  • 메모리 관리 장치(MMU: Memory Management Unit)에 의해 수행
  • CPU가 발생시킨 논리 주소 + 베이스 레지스터 값(프로그램의 가장 작은 물리 주소) -> 물리 주소

 

 

메모리 보호 기법

 

논리 주소 범위를 벗어나는 명령어 실행을 방지하고 실행 중인 프로그램이 다른 프로그램에 영향을 받지 않도록 보호해야 함

  • CPU는 메모리에 접근하기 전에 접근하고자 하는 논리 주소가 한계 레지스터(논리 주소의 최대 크기 저장)보다 작은지 검사
  • 높다면 인터럽트(트랩)을 발생시켜 실행 중단

 

 

 

캐시 메모리

 

CPU의 연산 속도와 메모리 접근 속도의 차이를 줄이기 위한 저장 장치

메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가지고 와서 활용

 

 

저장 장치 계층 구조

 

  1. 레지스터
  2. 캐시 메모리(L1캐시, L2캐시, L3캐시)
  3. 메모리
  4. 보조기억 장치

 

위 계층으로 올라갈 수록

  • CPU와 가깝고 용량은 작지만 빠름
  • 가격이 비쌈

 

 

참조 지역성 원리

 

  1. CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.(시간 지역성)
  2. CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.(공간 지역성)

 

캐시 메모리는 참조 지역성의 원리에 따라 데이터를 예측하여 캐시 적중률을 높임

 

 

 

캐시 히트: 자주 사용될 것으로 예측한 데이터가 들어맞아 캐시 메모리 내 데이터가 CPU에서 활용될 경우

캐시 미스: 예측이 틀려 메모리에서 필요한 데이터를 직접 가져와야 하는 경우

캐시 적중률: 캐시 히트 횟수 / (캐시 히트 횟수+캐시 미스 횟수)