[Study] 4주차(1)

hyo_d·2023년 4월 18일
0

Study

목록 보기
6/9

메모리/캐시메모리

RAM의 특징

<-> 보조기억장치: 비휘발성 저장 장치

  • 실행할 대상을 저장하며 전원이 꺼지면 저장된 내용을 잃어버리는 휘발성 저장 장치
  • RAM의 용량이 클수록 많은 프로그램들을 동시에 실행하는 데에 유리하다

RAM의 종류

  • DRAM(Dynamic RAM)

    • 저장된 데이터가 동적으로 사라지는 RAM
    • 데이터 소멸을 막기 위해 주기적으로 재활성화 해야함
    • 일반적으로 메모리로 사용되는 RAM
      - 상대적으로 소비전력이 낮고 저렴하고 집적도 높음
      - 대용량으로 설계하기 용이
      👉 주기억장치로 사용
  • SRAM(Static RAM)

    • 저장된 데이터가 정적인(사라지지 않는) RAM
    • DRAM보다 일반적으로 더 빠름
    • 일반적으로 캐시 메모리에서 사용되는 RAM
      • 상대적으로 소비전력이 높고 가격이 높으며 집적도가 낮음
      • 대용량으로 설계할 필요는 없으나 빨라야 하는 장치에 사용

  • SDRAM(Synchronous DRAM)
    • 클럭 신호와 동기화된 특별한(발전된 형태의) DRAM -> 대역폭 single
  • DDR SDRAM(Double Data Rate SDRAM)
    • 대역폭을 넓혀 속도를 빠르게 만든 SDRAM
    • 최근 가장 대중적으로 사용함
    • DDR2 SDRAM, DDR3 SDRAM, DDR4 SDRAM -> 각각 SDRAM보다 4배, 8배, 16배

메모리에 저장된 값들이 시시각각 변하기 때문에 CPU와 실행중인 프로그램은 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지 못한다.

물리 주소

  • 메모리 입장에서 바라본 주소
  • 정보가 실제로 저장 된 하드웨어상의 주소
  • 물리 주소에는 겹치는 번지 주소가 없다.(0번지에서 z번지까지 차례대로)

논리 주소

  • CPU와 실행 중인 프로그램 입장에서 바라본 주소
  • 실행 중인 프로그램 각각에게 부여된 0번지부터 시작하는 주소
  • 각 프로그램이 0번지부터 N번지까지 부여

메모리와 상호작용을 하려면 물리 주소와 논리 주소간의 변환이 이루어진다.
-> MMU(메모리 관리 장치)라는 하드웨어에 의해 변환

MMU

  • MMU는 논리 주소와 베이스 레지스터(프로그램의 기준주소) 값을 더하여 물리 주소로 변환
    ex) CPU: 프로그램 A의 100번지 데이터 삭제
    논리 주소 100 -> MMU(베이스 레지스터) 15000 -> 물리 주소 15100번지 삭제
  • 베이스 레지스터: 프로그램의 가장 작은 물리 주소(프로그램의 첫 물리 주소)를 저장
  • 논리 주소: 프로그램의 시작점으로부터 떨어진 거리

메모리 보호

한계 레지스터

  • 프로그램 영역을 침범할 수 있는 명령어의 실행을 막음

  • 베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면, 한계 레지스터는 논리 주소의 최대 크기를 저장

  • 베이스 레지스터 값 <= 프로그램의 물리 주소 범위 < 베이스 레지스터+한계 레지스터 값


    베이스 레지스터에 100, 한계 레지스터에 150이 저장되어 있다고 가정.
    -> 물리 주소 시작점이 100번지, 프로그램 크기(논리 주소의 최대 크기)는 150

  • CPU는 메모리에 접근하기 전 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사

  • 실행중인 프로그램의 독립적인 실행 공간 확보, 다른 프로그램을 침범하지 못하게 보호


저장 장치 계층 구조

  • CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
  • 속도가 빠른 저장 장치는 저장 용량이 작고, 가격이 비싸다.

레지스터 vs 메모리(RAM) vs USB메모리

  • 낮은 가격대의 대용량 저장 장치를 원한다면 느린 속도를 감수해야 하고, 빠른 속도의 저장 장치를 원한다면 작은 용량과 비싼 가격을 감수해야 한다.
  • CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낼 수 있다.

캐시 메모리

  • CPU와 메모리 사이에 위치한 레지스터보다 용량이 크고 메모리보다 빠른 SRAM 기반의 저장 장치
  • CPU의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
  • 메모리에서 CPU가 사용할 일부 데이터를 미리 캐시 메모리로 가져와서 쓴다
  • 집: CPU, 메모리: 대형마트, 캐시메모리: 편의점으로 비유할 수 있다.

캐시메모리를 반영한 저장 장치 계층 구조

  • 계층적 캐시 메모리

    • L1-L2-L3 캐시: 일반적으로 L1과 L2캐시는 CPU(코어) 내부에, L3캐시는 코어 외부에 위치
    • 멀티코어 프로세서의 캐시 메모리의 경우 L3캐시는 외부에서 공유하고 L1,L2캐시는 각각으로 구성되기도 함.
  • 캐시 메모리 특징

    • 캐시 메모리는 메모리보다 용량이 작다
    • 메모리의 모든 내용을 저장할 수 없다
    • CPU가 자주 사용할 법한 내용을 예측해서 저장
      • 예측이 들어맞을 경우 = 캐시 히트
      • 예측이 틀렸을 경우 = 캐시 미스
      • 캐시 적중률 = 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
  • 참조 지역성의 원리

    • CPU가 메모리에 접근할 때의 주된 경향을 바탕으로 만들어진 원리
    • CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
    • CPU는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
profile
햇병아리

0개의 댓글