E-COPS

시스템해킹 스터디 - (3) 메모리와 캐시 메모리

miaami 2025. 4. 9. 13:03

참고 도서: 혼자 공부하는 컴퓨터구조 + 운영체제

섹션 7에 대한 정리.
(RAM, 메모리 계층 구조, 캐시 메모리)

📍 RAM의 특징과 종류


컴퓨터의 4가지 핵심 부품
- CPU, 메모리, 보조기억장치, 입출력 장치

주기억장치(Main Memory)의 종류에는 크게 RAM과 ROM 2가지가 있다.
메모리라는 용어는 그 중 RAM을 지칭하는 경우가 많다.

RAM이 크면 정확히 뭐가 좋을까?
DRAM? SRAM? SDRAN? DDR SDRAM?

RAM의 특징

CPU는 메모리로부터 명령어와 데이터들을 가져와서 실행한다.
RAM은 실행할 내용을 저장하지만 전원이 꺼지면 잊어버리는 휘발성 저장 장치이다.
그렇기 때문에 전원이 꺼져도 보관할 수 있는 비휘발성 대용량 저장 장치인 보조기억장치가 필요하다.
(보조기억장치: SSD 하드디스크 USB CD-ROM)

RAM이 크면 뭐가 좋을까?
RAM의 용량은 컴퓨터 성능에 어떤 영향을 미칠까?

RAM의 용량과 성능

많은 프로그램들을 동시에 실행하는 데에 유리하다.

RAM의 종류
DRAM (Dynamic)
전원이 연결되어 있어도 저장된 데이터가 동적으로 사라지는 RAM이다.
데이터 소멸을 막기 위해 주기적으로 재활성화해야 한다.
상대적으로 소비전력이 낮고, 저렴하고, 집적도가 높아 대용량으로 설계하기 용이하기에 일반적으로 메모리로 사용되는 RAM이다.

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

DRAM vs SRAM

SDRAM (Synchronous DRAM)
클럭 신호와 동기화된, 발전된 형태의 DRAM이다.

DDR SDRAM (Double Data Rate SDRAM)
발전된 형태의 SDRAM이다.
최근 가장 대중적으로 메모리로 사용되는 RAM이다.
대역폭을 넓혀(2배) 속도가 빠르다.

SDR SDRAM = 1x
DDR SDRAM = 2x
DDR2 SDRAM = 4x
DDR3 SDRAM = 8x
DDR4 SDRAM = 16x (현재 가장 대중적으로 사용됨)


📍 메모리의 주소 공간

논리 주소와 물리 주소

메모리에 저장된 값들은 시시각각 변하기 때문에, CPU와 프로그램들은 메모리에 어떤 주소가 있는지 다 알 수 없다.


물리 주소

메모리 입장에서 바라본, 정보가 실제로 저장된 하드웨어상의 주소


논리 주소

CPU와 실행 중인 프로그램 입장에서 바라본, 실행 중인 프로그램 각각에게 부여되어 0번지부터 시작하는 주소

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

MMU(메모리 관리 장치)라는 하드웨어에 의해 변환된다.

논리 주소와 베이스 레지스터(프로그램의 기준 주소, 즉 시작 주소) 값을 더하여 논리 주소를 물리 주소로 변환한다.

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

논리 주소
프로그램의 시작점으로부터 떨어진 거리이다.

메모리 보호
한계 레지스터
프로그램의 영역을 침범할 수 있는 명령어의 실행을 막는다.
베이스 레지스터가 실행 중인 프로그램의 가장 작은 물리 주소를 저장한다면, 한계 레지스터는 논리 주소의 최대 크기를 저장한다.
베이스 레지스터 값 <= 프로그램의 물리 주소 범위 <= 베이스 레지스터 값+한계 레지스터 값
CPU가 접근하려는 논리 주소는 한계 레지스터가 저장한 값보다 커서는 안 된다.

CPU는 메모리에 접근하기 전, 접근하고자 하는 논리 주소가 한계 레지스터보다 작은지를 항상 검사한다
실행 중인 프로그램의 독립적인 실행 공간을 확보하고 하나의 프로그램이 다른 프로그램을 침범하지 못하도록 보호한다.

📍 캐시 메모리

저장 장치 계층 구조 (Memory Hierarchy, 메모리 계층 구조)
1. CPU와 가까운 저장 장치는 빠르고, 멀리 있는 저장 장치는 느리다.
2. 속도가 빠른 저장 장치는 저장 용량이 작고 가격이 비싸다.

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

레지스터 > 캐시 메모리 > 메모리 > 보조기억장치