6. 메모리와 캐시 메모리(컴퓨터의 4가지 핵심 부품-메모리)

RAM의 특징과 종류

<aside> ☝🏻 저장 장치에는 휘발성 저장 장치와 비휘발성 저장 장치가 있다. 전원을 끄면 저장된 내용이 사라지는 장치가 휘발성 저장 장치이고, 전원을 꺼도 내용이 남아있는 장치가 비휘발성 저장 장치이다. 휘발성 저장장치는 RAM, 비휘발성 저장장치는 HDD, SSD, CD-ROM, USB에 해당된다.

Untitled

</aside>

  1. RAM의 용량과 성능

    → 용량이 크면 빠르게 실행하는 데 유리함. 근데 비쌈.

  2. RAM의 종류

    1. DRAM: 데이터가 동적으로 변하는 RAM(메모리(주기억장치)로 사용)

      → 데이터의 소멸을 막기 위해 일정 주기로 데이터를 재활성화함.

    2. SRAM: 데이터가 변하지 않는 RAM(캐시 메모리로 사용)

    3. SDRAM: 클럭 신호와 동기화된 DRAM

      → SDR SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, DDR4 SDRAM, DDR5 SDRAM이 이에 해당됨(뒤 SDRAM이 전 SDRAM의 대역폭에 비해 두 배 향상)

    Untitled

메모리의 주소 공간

<aside> ☝🏻 CPU와 실행 중인 프로그램은 현재 메모리 몇 번지에 무엇이 저장되어 있는지 다 알지 못 한다. 메모리에 저장된 정보는 시시각각 변하며, 같은 프로그램을 껐다 켜도 적재되는 주소가 계속 변한다. 그렇다보니 물리 주소를 굳이 어렵게 알 필요가 없이 MMU(메모리 관리 장치)를 통해 물리 주소와 논리 주소와의 변환이 필요하다.

</aside>

  1. 물리 주소와 논리 주소의 이해

    1. 물리 주소: 메모리 하드웨어가 사용하는 주소

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

      Untitled

  2. 메모리 보호 기법

    → 한계 레지스터를 통해 논리 주소의 범위를 제한하는 방식. 한계 레지스터보다 높은 논리 주소에 접근하면 인터럽트(트랩)을 발생시켜 실행을 중단함.

캐시 메모리

<aside> ☝🏻 [저장 장치 계층 구조(메모리 계층 구조, Memory Hierarchy)] CPU에 얼마나 가까운가를 기준으로 계층적으로 나타낸 구조. 높을 수록 속도가 빠르고, 용량이 작고, 비쌈.

Untitled

Untitled

</aside>

  1. 캐시 메모리

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

  2. 참조 지역성 원리

    → CPU가 사용할 법한 내용 예측해 저장하는 원리

    a. ‘CPU의 최근에 접근했던 메모리 공간에 다시 접근하려는 경향’ 이용 - 시간 지역성

    → 변수는 한 번 정의되면 적어도 여러 번은 사용된다(프로그래밍 예시 생각). 그러므로 여러 번 접근될 것임을 인지하고 저장하는 것.

    b. ‘CPU의 접근한 메모리 공간 근처를 접근하려는 경향’ 이용 - 공간 지역성

    → 프로그램은 보통 관련 데이터들끼리 한데 모여 있다. 그러므로 그 주변을 다 저장하는 것

7. 보조기억장치(컴퓨터의 4가지 핵심 부품-보조기억장치)

다양한 보조기억장치

  1. 하드 디스크(자기 디스크)

    → 자기적인 방식으로 데이터를 저장하는 보조기억장치(자기 디스크)

    ***사진첨부

    a. 플래터를 다루는 구성 요소: 스핀들, 헤드, 디스크 암

    Untitled

    b. 데이터가 저장되는 구성 요소: 플래터, 트랙, 섹터, 실린더

    Untitled

    c. 데이터에 접근하는 시간(Data Access Time): 탐색 시간, 회전 지연, 전송 시간

    → 이는 성능에 정말 큰 영향을 끼치는 시간이며, 해당 시간을 단축하기 위해 참조 지역성과 같은 빠르게 접근할 수 있는 방법이 필요하다.

    제프 딘 - 프로그래머가 꼭 알아야 할 컴퓨터 시간들

    제프 딘 - 프로그래머가 꼭 알아야 할 컴퓨터 시간들

  2. 플래시 메모리

    → 전기적으로 메모리를 읽고 쓸 수 있는 반도체 기반의 저장 장치

    a. 플래시 메모리의 종류: SLC, MLC, TLC, QLC(기준: 하나의 셀에 몇 비트를 저장할 수 있냐?)

    Untitled

    b. 플래시 메모리의 저장 단위: die > plane > block(삭제 단위) > page(읽고 쓰는 단위) > cell

    Untitled

    c. 가비지 컬렉션: 쓰레기값을 정리하기 위해 가진 기능

    → Valid 페이지만 복사해서 새로운 블록을 만듦

    → 기존 블록을 삭제

    Untitled