6장 메모리와 캐시 메모리

1. RAM의 특징과 종류

RAM의 특징

  • 전원을 끄면 저장된 모든 내용이 사라지는 휘발성 저장 장치이다.

  • 실행할 대상을 저장한다.

  • 반대

    • 비휘발성 저장장치

    • SSD, CD-ROM, USB 메모리

    • 보조기억장치로 활용되어 보관할 대상을 저장한다.

RAM의 용량과 성능

  • CPU가 실행하고 싶은 프로그램이 보조 기억 장치에 있다면, 이를 RAM으로 가져와야 하는데, RAM 용량이 적다면 보조기억장치에서 실행할 프로그램을 가져오는 일이 잦아 실행 시간이 길어진다.

  • 하지만, RAM의 용량에 항상 속도가 비례하여 증가하는 것은 아니다.

    • 필요 이상으로 증가하게 되면, 별 차이가 없어짐

RAM의 종류

DRAM

  • Dynamic RAM의 준말

  • 저장된 데이터가 동적으로 변하는, 즉 사라지는 RAM을 의미한다.

  • 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화 해야한다.

  • 소비전력이 비교적 낮고, 저렴하고, 집적도가 높아 대용량으로 설계하기 용이하다.

    • 집적도가 높다 = 더 작고 빽빽하게 만들 수 있다.

  • 주기억장치에 사용됨

SRAM

  • Static RAM의 준말

  • 저장된 데이터가 변하지 않는, 즉 사라지지 않는 RAM을 의미한다.

    • 하지만, 전원을 끄면 RAM 특성상 저장된 데이터가 사라진다.

  • DRAM에 비해 일반적으로 속도가 빠르다.

  • DRAM에 비해 집적도가 낮고, 소비전력도 크며, 가격도 비싸다.

  • 캐시메모리에 활용됨

SDRAM

  • Synchronous Dynamic RAM의 준말

  • 클럭과 동기화된 DRAM으로 클럭에 맞춰 동작하며, 클럭마다 CPU와 정보를 주고 받을 수 있다.

DDR SDRAM

  • Double Data Rate SDRAM의 준말

  • 대역폭을 넓혀 속도를 빠르게 만든 SDRAM

    • 대역폭 - 데이터를 주고받는 길의 너비

HBM

  • 그렇다면, 하이닉스를 글로벌 시장 부동의 1위로 이끌어준 HBM은 무슨 기술일까?

  • High Bandwidth Memory의 준말로, 고대역폭 반도체를 의미한다.

  • DRAM을 수직으로 쌓아올리는 구조로, 병렬 연산에 매우 효과적이다.

    • GPU에 주로 활용됨.

2. 메모리의 주소 공간

물리주소와 논리주소

  • 물리주소

    • 정보가 실제로 저장된 하드웨어상의 주소

  • 논리주소

    • 실행중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소를 의미

    • CPU와 실행 중인 프로그램이 사용

  • MMU

    • Memory Management Unit의 준말로, 메모리 관리 장치이다.

    • CPU가 메모리와 상호작용하려면, 논리주소와 물리주소 간의 변환이 이뤄져야 한다.

    • 베이스 레지스터: 프로그램의 가장 작은 물리주소, 즉 프로그램의 첫 물리주소를 저장한다.

    • 논리주소: 프로그램의 시작점으로부터 떨어진 거리

메모리 보호기법

  • 프로그램의 논리 주소 영역을 벗어나는 위험한 명령어의 실행을 방지하는 보호기법이 필요하다.

  • 한계 레지스터: 논리주소의 최대 크기를 저장한다.

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

3. 캐시 메모리

저장 장치 계층 구조

  • 컴퓨터가 사용하는 저장장치들을 CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낸 구조

    • CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.

    • 속도가 빠른 저장 장치는 저장 용량이 작고 가격이 비싸다.

캐시 메모리

  • CPU와 메모리 사이에 위치하고, 레지스터보다 용량이 크고 메모리 보다 빠른 SRAM기반의 저장 장치

  • CPU의 연산 속도와 멤뢰 접근 속도의 차이를 조금 줄여준다.

  • 종류

    • L1, L2, L3 캐시

    • L1, L2는 코어 내부에 위치하고 L3는 코어 외부에 위치한다.

    • L1의 경우, 명령어만을 저장하는 L1I 캐시와 데이터만을 저장하는 L1D 캐시로 분리하는 경우도 존재한다.

      • 분리형 캐시라고도 부름

참조 지역성의 원리

  • 캐시 메모리는 CPU가 사용할 법한 대상을 예측하여 저장한다.

    • 캐시 메모리 내 데이터가 CPU에 활용될 경우, 캐시 히트라고 한다.

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

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

    • 캐시 적중률이 높으면 CPU 메모리 접근 횟수를 줄일 수 있다.

  • 캐시 메모리는 참조 지역성의 원리를 따라 가져올 데이터를 결정한다.

    • 시간 지역성

      • CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.

    • 공간 지역성

      • CPU는 접근한 메모리 근처를 접근하려는 경향이 있다.

Last updated