컴퓨터 시스템에서 메모리 계층은 다양한 종류의 기억장치를 계층적으로 구성하고 있다. 이를 통해 효율적인 데이터 접근을 가능하게 도와준다. 오늘은 이 메모리 계층에 대해 알아보자.
1️⃣ 메모리 계층
메모리 계층은 어떻게 구성될까? 레지스터, 캐시, 주기억장치, 보조기억장치로 구성된다.
밑의 그림에서 보면 알 수 있듯이, 위로 갈수록 비싸지고 용량은 작아지며 속도는 빨라진다. 즉, 빠를수록 비싸고 적은 데이터를 저장할 수 있다는 것이 특징이다.

2️⃣ 메모리 계층이 존재하는 이유
메모리 계층이 존재하는 이유는 크게 3가지가 있다.
1) 빠른 접근과 처리 속도 증가
- 보통 사람들은 자주 쓰는 데이터는 또 다시 자주 사용한다. 그리고 자주 사용하지 않는 데이터는 계속 자주 사용하지 않는다. 따라서 자주 사용하는 작은 캐시 메모리에 데이터를 저장하며 주기억장치에 비해 훨씬 빠르게 데이터를 접근할 수 있다. 이로 인해 처리 속도가 빨라지는 효과를 볼 수 있다.
2) 경제성
- 레지스터는 비싸기 때문에 모든 데이터를 레지스터에 저장하는 것은 비효율적이다. 따라서 계층과 캐싱을 통해서 비용을 더 효율적으로 관리할 수 있다.
3) 자원의 효율적 사용
- 자주 사용하는 데이터는 빠른 메모리에 저장하고, 자주 사용하지 않는 데이터는 느린 메모리에 저장하여 효율적으로 사용할 수 있다.
3️⃣ 메모리 계층의 구성 요소
레지스터
레지스터는 CPU 내부에 있는 작은 메모리이다. 용량은 작지만 매우 빠른 임시기억장치이다. CPU는 연산을 수행할 때, 데이터를 메모리(RAM)에서 가져와서 레지스터에 임시로 저장한다. 레지스터는 매우 빠르기 때문에, CPU에서 이 데이터를 빠르게 참조할 수 있는 것이다. CPU의 연산 장치인 산술논리연산장치가 이 레지스터에 저장된 데이터를 이용해 연산을 수행하고, 그 결과를 다시 레지스터에 저장한다. 그리고 연산이 완료되면, 필요에 따라서 데이터를 다시 RAM에 저장하는 것이다.
캐시
캐시는 데이터를 미리 복사해 놓는 임시 저장소이다. 또한 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리이다. CPU와 메모리 사이의 속도는 차이가 매우 크다. 따라서 중간에 레지스터 계층을 둬서 속도 차이를 해결한다. 이렇게 속도 차이를 해결하기 위해서 두는 계층이 캐시 계층인 것이다.
여기서 살펴볼 것은 참조 지역성 개념이다. 컴퓨터의 캐시와 메모리 계층이 잘 작동하는 이유이기도하다. 프로그램이 데이터를 접근할 때 일정한 패턴을 보인다는 이론으로, 시간 지역성과 공간 지역성 두 가지로 나뉜다.
1) 시간 지역성
최근 사용한 데이터에 다시 접근하려는 특징이다. 예를 들어 루프 내에서 같은 변수를 반복해서 사용하는 경우이다.
2) 공간 지역성
특정 데이터가 참조될 때, 그 데이터와 가까운 주소에 있는 데이터가 곧 참조될 가능성이 높다는 특징이다.
이런 시간 지역성과 공간 지역성을 통해 CPU는 주기억장치에 자주 접근하지 않고도 데이터를 빠르게 처리할 수 있는 것이다.
L1
L1 캐시는 CPU에 가장 가까운 메모리이기 때문에 데이터 사용과 참조에 가장 먼저 사용된다. 그리고 가장 빠르고 작은 용량을 가진다. L1 캐시에 데이터를 찾지 못하며 L2 캐시를 참조하게 된다.
L2
L2 캐시는 L1 캐시보다 상대적으로 느리지만 여전히 빠르고 용량이 더 크다.
L3
L3 캐시는 L1, L2 캐시보다 느리지만 용량이 더 크다. 하지만 상대적으로 잘 사용하지 않는다고 한다.
4️⃣ 캐싱이란
캐싱이라는 말은 개발을 하면서 자주 들었다. 캐싱이란 뭘까?
캐싱은 자주 사용되는 데이터를 임시로 저장해 빠른 처리를 돕는 기술을 말한다. 여기서 캐시와 캐싱을 헷갈려서는 안된다. 캐시는 데이터를 임시로 저장하는 실제 메모리 장치나 공간을 의미한다. 그리고 캐싱은 데이터를 캐시에 저장하고, 이를 효과적으로 관리해서 더 빠르게 접근하는 기술과 과정을 말한다.
5️⃣ 주기억장치
주기억장치 (RAM)은 컴퓨터에서 수치, 명령, 자료 등을 기억하는 장치이다. 노트북을 살 때, RAM이 어때? 라고 많이 말하 듯이 컴퓨터의 성능에 큰 영향을 미친다. RAM의 용량이 클수록 동시에 더 많은 프로그램을 실행할 수 있기 때문이다. RAM은 하드디스크에 저장된 프로그램과 데이터를 읽어와 임시 저장하고, CPU가 이를 빠르게 접근할 수 있도록 한다.
우리가 게임을 하다보면, 로딩 중~~ 이라는 메시지가 나오는 경우를 볼 수 있다. 이 때 하드디스크나 인터넷에서 데이터를 읽어서 RAM으로 전송하는 과정이 아직 끝나지 않았다는 것을 의미한다.
RAM(휘발성 메모리)
데이터를 일시적으로 저장하고, 전원이 꺼지면 데이터가 사라진다.
ROM(비휘발성 메모리)
데이터를 영구적으로 저장하고, 전원이 꺼져도 데이터가 유지된다.
6️⃣ 보조기억장치
보조기억장치는 대용량의 데이터를 영구적으로 저장하는 장치이다. 대표적으로 HDD와 SSD가 있다. SSD는 HDD에 비해 훨씬 빠르지만 가격이 비싸다는 단점이 존재한다. 주기억장치보다 용량이 크고, 시스템에 전원이 꺼져도 데이터를 안전하게 보관할 수 있다.
<참고 자료>
[운영체제] 메모리 계층 구조(Memory Hierachy)
📌Index 메모리 계층 구조란? 메모리 계층 구조의 필요성 ✔️ 메모리 계층 구조란? 메모리 계층 구조(Memory Hierachy)는 메모리 관련 3가지 주요 특성인 용량, 접근 속도, 비용간의 절충 관계를 파악
nayoungs.tistory.com
https://c4u-rdav.tistory.com/88
[운영체제] 메모리 계층 구조(Memory Hierarchy)
메모리 계층 구조(Memory Hierarchy)란? 메모리 계층 구조는 메모리를 속도, 용량, 비용간의 절충 관계를 고려하여 필요에 따라 여러 가지 종류로 나타낸 구조를 의미합니다. 계층 구조에서 위쪽으로
c4u-rdav.tistory.com
https://mark340.tistory.com/17
[OS] 메모리 계층 구조 쉽게 이해하기
메모리 계층 구조란 무엇인가 (Memory Hierachy) 메모리를 필요에 따라 여러가지 종류로 나누는 것 => Why?? CPU가 메모리에 더 빨리 접근 가능해짐 컴퓨터 설계에 있어 서로 다른 여러 종류의 메모리 저
mark340.tistory.com
https://www.yes24.com/Product/Goods/108887922
면접을 위한 CS 전공지식 노트 - 예스24
디자인 패턴, 네트워크, 운영체제, 데이터베이스, 자료 구조, 개발자 면접과 포트폴리오까지!CS 전공지식 습득과 면접 대비, 이 책 한 권이면 충분하다!개발자 면접에서 큰 비중을 차지하는 CS(Comp
www.yes24.com
'📚 CS > 운영체제' 카테고리의 다른 글
| [CS] 멀티스레딩 & 멀티프로세싱 (feat: 멀티스레딩 예시 코드) (0) | 2025.03.10 |
|---|---|
| [OS] 가상 메모리 (1) | 2024.10.14 |
| [OS] 인터럽트 & DMA 컨트롤러 (0) | 2024.09.25 |
| [OS] CPU에 대해서 (1) | 2024.08.12 |
| [OS] 시스템 콜 (System Call), Modebit 이란? (0) | 2024.08.12 |