캐시 메모리
설명 영상 캐시 메모리 · 2:29
왜 배우는가: 캐시 메모리는 CPU와 주기억장치의 속도 차이를 메우는 핵심 구조이며, 컴퓨터 구조와 운영체제 전 영역(메모리 계층, 가상 메모리, 멀티코어 일관성)에 걸쳐 여러 회차에서 반복 출제되었다. 교체 기법, 쓰기 정책, 매핑, MESI 일관성은 개념을 정확히 알아야 답할 수 있다.
출제 이력: 제135회 2교시 4번, 제132회 4교시 1번, 제131회 4교시 3번, 제114회 4교시 1번, 제98회 3교시 4번
1. 한 줄 정의와 핵심 키워드
캐시 메모리는 CPU와 주기억장치 사이에 두어 자주 쓰는 데이터를 고속으로 제공하여 평균 메모리 접근 시간을 줄이는 고속 소용량 버퍼 메모리이다.
- 캐시 적중(Hit)과 캐시 미스(Miss)
- 지역성(Locality): 시간적·공간적 참조 집중
- 매핑(Mapping): 직접 사상, 완전 연관, 집합 연관
- 교체 기법(Replacement): LRU, FIFO, LFU 등
- 쓰기 정책: Write Through, Write Back
- 일관성(Coherence): MESI 등 프로토콜
2. 개념 풀이
쉽게 말하면 CPU가 필요한 데이터를 주기억장치까지 가지 않고 가까운 곳에서 찾게 해 주는 장치다. 주기억장치(DRAM)보다 빠른 SRAM으로 만들어 CPU 근처에 두고, 자주 쓰는 블록의 복사본을 담아 둔다.
정식으로는 캐시 메모리(Cache Memory)를 CPU와 주기억장치 사이에 위치한 계층 메모리로 정의한다. 캐시는 메모리 블록 단위(캐시 라인, 캐시 라인(Cache Line))로 데이터를 보관하며, 각 라인에는 원본 주소의 일부를 나타내는 태그(Tag)가 붙는다. CPU가 주소를 내면 태그를 비교해 같은 블록이 있으면 적중, 없으면 미스로 처리한다.
적중률(Hit Ratio)은 전체 참조 중 캐시에서 해결된 비율이다. 평균 접근 시간은 T_{avg} = h \times T_c + (1-h) \times T_m 으로 표현하며, h는 적중률, T_c는 캐시 접근 시간, T_m은 주기억장치 접근 시간이다. 적중률이 높을수록 평균 접근 시간이 캐시 속도에 가까워진다.
지역성(Locality)은 프로세스가 메모리를 균일하게 참조하지 않고 일부 영역을 집중 참조하는 성질이다. 시간적 지역성은 최근 참조한 주소를 곧 다시 참조하는 성질이고, 공간적 지역성은 참조한 주소 근처를 곧 참조하는 성질이다. 캐시는 이 두 성질에 기대어 블록 단위로 데이터를 미리 가져온다.
3. 등장 배경과 필요성
CPU 클록 속도는 빠르게 올라왔지만 DRAM 접근 속도는 그만큼 빨라지지 않았다. 이 격차를 메모리 월(Memory Wall)이라 부른다. 메모리를 모두 SRAM으로 만들면 속도는 충분하지만 가격과 집적도 문제가 커진다.
따라서 소량의 고속 SRAM 캐시를 CPU 가까이에 두고, 큰 용량의 DRAM을 주기억장치로 쓰는 계층 구조가 일반화되었다. 지역성이 성립하는 한 적은 용량으로도 높은 적중률을 얻을 수 있다는 점이 이 구조의 경제적 근거다.
멀티코어 환경에서는 여러 코어가 같은 데이터의 복사본을 각자 캐시에 가지게 되어 일관성 문제가 생긴다. 그래서 교체·쓰기 정책과 함께 일관성 프로토콜이 캐시 설계의 필수 요소가 되었다.
4. 구성요소·원리·절차
캐시 메모리는 CPU와 주기억장치 사이에 놓인 소용량 고속 기억장치다. 구성요소는 데이터를 담는 데이터 어레이, 주소를 식별하는 태그 어레이, 유효 여부를 나타내는 유효 비트(Valid bit), 그리고 쓰기 정책에 따른 변경 비트(Dirty bit)다. 이 요소들이 하나의 캐시 라인으로 묶여 동작한다.
이어지는 내용
- 5. 관련 법령·기준·표준
- 6. 유형과 비교
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기