⚠️ 공부한 내용을 정리하는 공간입니다. 설명이 부족하거나 옳바르지 못한 부분이 있을 수 있습니다. 옳바르지 못한 내용을 발견하셨다면 댓글로 알려주시길 부탁드립니다. 수정하도록 하겠습니다.
오늘의 사족
오늘은 Cache Memory에 대해 알아보는 날이므로 최근에 현찰(Cash)을 사용한 기억(Memory)에 대하여 노가리를 까보겠습니다. 요즘 카드 아니면 모바일 페이를 사용해서 현찰은 잘 사용하지 않는데요 그럼에도 기억을 짜내보자면 아무래도 겨울이다 보니 붕어빵을 현찰로 산 기억이 있네요!
< 목차 >
1. Memory Hierarchy (메모리 계층 구조)
2. Cache Memory (캐시 메모리)
2-1. Cache Memory의 종류_ L1, L2, L3
2-2. 참조 지역성 원리에 따른 데이터 결정
1. Memory Hierachy (메모리 계층 구조)
메모리 계층 구조는 CPU와 얼마나 가까운지 즉, 메모리와 CPU와의 거리를 기준으로 나타낼 수 있다. CPU 내부에는 명령을 처리하는 데 있어 일시적으로 데이터를 저장하는 레지스터가 있다. CPU 내부에 있는 레지스터가 CPU와 가장 가까운 거리에 있고 그 다음으로 CPU가 명령어를 읽고 쓰는 캐시 메모리가 레지스터 다음으로 CPU와 가깝다. 이렇게 CPU와의 거리를 기준으로 메모리에 대한 계층 구조를 나타내면 다음과 같다.
2. Cache Memory
RAM의 종류를 설명한 글에서 속도가 빠르고 데이터를 재활성화할 필요가 없는 SRAM이 캐시 메모리로 사용된다고 했다. 캐시메모리는 CPU가 요청하는 데이터를 더 빠르게 찾을 수 있도록 만들어주는 메모리이다.
캐시메모리가 어떻게 CPU가 더 빠르게 작업할 수 있도록 해주는지 요리를 예시로 설명해보겠다.
우리가 요리를 할 때 필요한 재료를 미리 꺼내두면 빠르게 요리를 할 수 있다.
그런데 미리 꺼내두지 않는다면 재료가 있는 냉장고에서 재료들을 꺼내야하기 때문에 미리 꺼내서 요리할 때보다 요리 속도가 늦어진다.
2-1. Cache Memory의 종류_ L1, L2, L3
캐시 메모리는 CPU와 메모리 사이에 위치한다. 그 중에서 CPU(Core)와 얼마나 더 가깝냐에 따라서 캐시 메모리는 세분화된다.
Core에 가까운 캐시 메모리일수록 용량은 작지만 속도가 빠르며 가격도 비싸진다. CPU 내부에서 메모리 내에 데이터가 필요해지면 L1 캐시부터 데이터가 있는지 순차적으로 검색한다.
2-2. 참조 지역성 원리에 따른 데이터 결정
캐시 메모리에 저장한 데이터를 CPU가 활용할 경우에 이를 Cache Hit라 하고 CPU가 캐시 메모리에 저장한 데이터가 아닌 메모리에서 데이터를 직접 가져와야만 하는 경우를 Cache Miss라 한다. 캐시 적중률이 높을 수록 CPU가 메모리에 직접 접근하는 횟수가 줄어들기 때문에 CPU 성능이 향상된다.
용량이 메인 메모리 RAM에 비해 작은 캐시 메모리를 최대한 효율적으로 사용하기 위해서는 CPU가 자주 접근하는 데이터를 미리 캐시 메모리에 저장해놓아야 할 것이다. CPU가 요청할 데이터를 미리 캐시 메모리에 적재할 수 있으려면 CPU가 자주 접근하는 데이터에 대해 알아야 할 필요가 있다. 캐시 메모리는 참조 지역성 원리에 따라 메모리로부터 가져올 데이터를 결정한다.
CPU는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향인 시간 지역성을 보이고 접근한 메모리 공간 근처에 접근하려는 경향인 공간 지역성을 보이기 때문에 참조 지역성 원리에 따라 CPU가 사용할 법한 데이터를 미리 예측하여 캐시 메모리에 저장하면 캐시 적중률을 높일 수 있다.
'🖥️ Computer Science > Computer Architecture' 카테고리의 다른 글
[Computer Architecture] I/O Device(입출력장치)에 대하여 (0) | 2024.01.02 |
---|---|
[Computer Architecture] 보조기억장치에 대하여_ HDD, Flash Memory (0) | 2023.12.31 |
[Computer Architecture] RAM에 대하여_DRAM, SRAM, SDRAM, DDR SDRAM (0) | 2023.12.21 |
[Computer Architecture] ISA; Instruction Set Architecture _ CISC, RISC (0) | 2023.12.20 |
[Computer Architecture] CPU 성능 향상을 위한 기법 ② -Instruction pipelining, Superscalar, OoOE (1) | 2023.12.19 |