Chapter 6. 메모리와 캐시 메모리 [혼자 공부하는 컴퓨터구조 + 운영체제]

수집가 루브도·2023년 8월 31일
0

메모리와 캐시 메모리

1. RAM의 특징과 종류

1) RAM의 특징

  • 휘발성 저장장치, Volatile Memory = 주기억장치
    • 전원이 연결되지 않은 상태에서는 저장되어있던 데이터 소멸
    • 실행할 프로그램 또는 명령어 저장
  • 비휘발성 저장장치, non-volatile memory = 보조기억장치
    • 전원이 연결되지 않더라도 데이터 유지
    • CPU가 직접 접근 불가, RAM으로 복사하여 저장한 뒤 실행

2) RAM의 용량과 성능

  • RAM의 용량이 크면 CPU가 메모리에 접근하는 횟수가 줄어 성능 증가
  • 그러나 일정 이상이 되면 CPU가 동시에 얼마나 많은 것을 처리하는지가 중요해 RAM의 용량과 성능이 정비례 하지는 않음

3) RAM의 종류

(1) DRAM

  • Dynamic RAM
  • 시간이 지남에 따라 동적으로 데이터 소멸, 소멸 방지를 위해 재활성화 필요
  • 가장 일반적인 형태
    • 소비전력 낮고, 저렴하고, 집적도가 높아(작은 크기에 밀도 높은 설계) 대용량 설계 용이

(2) SRAM

  • Static RAM
  • 저장된 데이터가 변하지 않는 RAM
  • 전력 공급에 따라 데이터가 휘발되는 것은 동일하나 전력 공급 중 휘발되지는 않음
  • 데이터 재활성화 불필요 및 DRAM에 비해 빠른 속도
  • 집적도가 낮고 비쌈
  • 위와 같은 특징으로 캐시 메모리에 사용

cf. 집적도와 나노 공정
반도체 및 컴퓨터 부품을 조사하다 보면 아래와 같이 '나노' 라는 단어를 자주 접하게 됩니다.

삼성전자, 업계 최선단 12나노급 D램 양산...
SK하이닉스, 인텔서 '10나노급 5세대 D램' 데이터센터 호환성 검증...
삼성전자, 세계 최초 3나노 파운드리 양산...
TSMC, 2나노 시범생산 앞당겨 착수...삼성·인텔 견제...

이 때 말하는 나노는 나노미터(nanometer, nm, 10억분의 1미터 = 10-9 m) 단위를 의미하며 반도체 칩이 해당 크기의 집적도를 갖는다를 의미합니다. 즉 12나노급 D램은 12나노미터 크기에 논리소자회로를 구성한 것입니다.

칩 크기가 작아지면 동일 면적의 웨이퍼(반도체 원재료) 안에서 더 많은 반도체를 생산할 수 있기 때문에 생산성은 물론 성능과 전력효율까지 확보할 수 있고, 이는 가격 경쟁력과도 직결됩니다.

현재 DDR5 규격의 12나노급(=5세대 10나노급) D램은 최고 동작 속도 7.2Gbps를 지원한다고 합니다. 이는 1초에 30GB 용량의 UHD 영화 2편을 처리할 수 있는 속도입니다.

(3) SDRAM

  • Synchronous Dynamic Ram
  • 클럭 신호와 동기화 된 DRAM

(4) DDR SDRAM

  • Double Data Rate SDRAM
  • 최근에 가장 흔히 사용되는 RAM
  • 대역폭(데이터를 주고 받는 규모)를 넓혀 속도를 올린 SDRAM
    • 두 배 증가한 대역폭 만큼 SDRAM에 비해 클럭 당 전송되는 데이터 양 및 속도 증가
    • SDR SDRAM(Single Data Rate SDRAM) : 한 클럭 당 하나씩 데이터를 주고 받는 SDRAM
      • DDR2 SDRAM = DDR SDRAM * 2 = SDR SDRAM * 4
      • DDR3 SDRAM = DDR2 SDRAM * 2 = SDR SDRAM * 8
      • DDR4 SDRAM = DDR3 SDRAM * 2 = SDR SDRAM * 16
      • DDR5 SDRAM = DDR4 SDRAM * 2 = SDR SDRAM * 32

2. 메모리의 주소 공간

1) 물리 주소와 논리 주소

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

  • 논리 주소 : CPU, 실행중인 프로그램에 부여된 주소

  • 메모리 관리 장치(MMU, Memomry Management Unit) : 논리 주소 <=> 물리 주소 변환 담당

    • 베이스 레지스터 : 프로그램의 첫 물리주소 저장
    • 논리 주소 : 해당 베이스 레지스터로부터 떨어진 거리

2) 메모리 보호 기법

  • 한계 레지스터(limit register) : 프로그램의 논리 주소 범위 설정
    • 프로그램의 논리 주소 영역을 벗어나는 동작 방지

3. 캐시 메모리

1) 저장 장치 계층 구조

2) 캐시 메모리

  • 레지스터 접근 속도에 비해 메모리 접근이 느리지만 빈번한 접근 필요
  • 캐시 메모리, Cache Memory : 둘 사이의 간극을 줄이기 위한 메모리와 CPU 사이에 SRAM 기반의 저장장치
  • 코어와의 거리에 따라 L1, L2, L3로 구분
    • L1, L2 : 코어 내부 / L3 : 코어 외부
    • 멀티 코어 프로세서의 경우 코어 내부의(L1, L2) 캐시 메모리는 코어 수 만큼 존재
    • 명령어만을 따로 저장하는 L1I 캐시를 두는 분리형 캐시(split cache) 존재

      캐시를 포함한 메모리 계층 구조

3) 참조 지역성 원리

  • 캐시 메모리 : 메모리 보다 작은 용량 = 모두 저장 불가
  • 자주 사용될 것으로 예상되는 대상을 예측하여 저장
    • Cache Hit : 예측된 대상이 활용되는 경우
    • Cache Miss : 예측이 틀려 메모리에 접근하게 된 경우
    • 캐시 적중률 (Cache Hit Ratio) : 캐시 히트 수 / (캐시 히트 수 + 캐시 미스 수)
  • 참조 지역성의 원리(Locality of reference, Principle of locality)를 활용하여 예측
    • CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
      • ex. 변수의 재활용
      • = 시간 지역성(temporal locality)
    • CPU는 접근했던 메모리 공간 근처를 접근하려는 경향이 있다.
      • ex. 하나의 프로그램 또는 관련 있는 데이터는 메모리 상에 모여서 저장
      • = 공간 지역성(spatial locality)

참고자료

📚강민철, 『혼자 공부하는 컴퓨터 구조 + 운영체제』, 한빛미디어, 2022.
📹유튜브 공식 강의 15, 16, 17강
🐈‍⬛책 부록 GitHub
🔌반도체에 자주 쓰이는 단위, ‘나노’란?

profile
다양하게 보고 배워 내 것으로 스케치하기

0개의 댓글

관련 채용 정보