일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 언리얼ai
- uaiperception
- DX
- leveleditor
- 언리얼비헤이어비어트리
- 수학용어정리
- c++용어정리
- 게임개발
- c++porinter
- 자료구조정리
- 자료구조
- 게임엔진튜토리얼
- bttask
- 영단어정리
- c++class
- 프로그래밍일기
- livrary
- 언리얼엔진공부
- 언리얼엔진5
- unrealengineai
- 자료형타입
- ipc(inter process communication)
- 월드아웃라이너
- directx
- 25.06.11dir
- 프로그래밍
- c++
- 언리얼엔진
- c언어정리
- 각도변환
- Today
- Total
루리코딩 세상
캐시 메모리(Cache Memory) - 주소 매핑(Address Mapping) 본문
캐시 메모리-주소매핑과 C-style_cast와 static_cast에 대해서 알아보려합니다.
CPU와 RAM 사이에는 캐시 메모리가 존재한다. 컴퓨터 내부의 존재하는 여러 개의 캐시 메모리는
니난번 참조 지역성 원리에 의해서, CPU가 사용할 것으로 예상되는 객체를 저장하는데,
이 데이터가 맞아들어 캐시메모리 내에 있는 데이터를 사용하는 것을 '캐시 히트' 라는 것까지는
조사가 되었으나 주소 매핑은 무엇일까 ..
Mapping Function
CPU가 메모리 주소를 사용하여 메모리로 데이터를 받으려할때, CPU가 쓰는 주소는 가상 메모리 주소로 어셈블리어로
처리할 명령을 연산해줄 필요성이 있다. 이때 중간의 메모리 장치(MMU)가 가운데에서 번역을 하여 물리 주소로 변환해준다.
그리고 캐시에 해당 주소에 대한 데이터가 있는지 확인을 하게되는데, 캐시 데이터 저장되는 방식에 따라 물리 주소를 다르게
해석 할 수 있다.
직접 매핑 (Direct Mapping)
캐시 메모리 설계에서 사용되는 용어로, 가장 간단한 캐시 매핑 방식 중 하나이다.
주기억장치의 블록이 캐시의 특정한 한 위치에만 매핑되는 방식이다. 캐시 블록 수가
제한되어 있기 때문에, 메모리의 여러 블록이 동일한 캐시 위치에 할당 될 수 있음.
충돌이 발생할 수 있지만, 하드웨어 구현이 단순하고 빠르다.
메모리 주소를 세 부분으로 나누어 Tag/Index/Offset으로 구성되며,
메모리 블록이 어떤 주소인지 식별하고, 캐시 내 Line에 저장될지를 나타낸다.
연관 매핑 (Assciative Mapping)
연관 매핑을 알아보기 전에 직접 매핑과 방식을 비교한 표를 참고해서 보면 도움이 될 듯하여
GTP를 활용해서 정리해봤다.
항목 | 직접 매핑 (Direct Mapping) | 완전 연관 매핑 (Fully Associative) | 집합 연관 매핑 (Set-Associative) |
매핑 방식 | 하나의 메모리 블록은 캐시의 딱 한 줄에만 매핑 | 모든 캐시 줄 중 어디든 저장 가능 | 하나의 메모리 블록은 특정 집합 내 어느 줄에 저장 |
구현 난이도 | ⭐ 가장 간단 | ❗ 복잡 (모든 태그와 비교 필요) | ⚖️ 중간 (일부 태그만 비교) |
속도 | ⏱️ 빠름 | 🚨 느림 (비교 연산 많음) | ⚡ 빠르면서도 유연함 |
충돌 미스 | ⚠️ 많이 발생 (같은 인덱스 주소 충돌) | 👍 거의 없음 | ✅ 줄 수에 따라 줄어듦 |
태그 비교 | 1개만 비교 | 전체 캐시와 비교 | 한 집합 내에서만 비교 |
하드웨어 비용 | 💰 저렴 | 💸 비쌈 | 💲 중간 |
사용 예시 | 임베디드 시스템, 단순 캐시 | 고성능 서버, 고속 캐시 | 대부분의 현대 CPU |
'하드웨어(Hardware, HW)' 카테고리의 다른 글
CPU와 쓰레드 - 왜 프로그래밍에서 쓰레드가 중요한가? (3) | 2025.05.21 |
---|---|
가상 메모리(Virtual Memory)와 스와핑(Swapping) 현상 (0) | 2025.05.16 |
커패시터(Capacitor) (1) | 2025.05.15 |
RAM(Random Access Memory)에 대하여, (5) | 2025.05.15 |