캐시 메모리도 파일 시스템의 inode처럼 인덱싱해서 데이터를 불러옵니다. 이러한 매핑 방식에는 직접사상, 연관사상, 집합 연관사상이 있으며 각각 자세히 알아봅니다.
[ Contents ]
1. 캐시 메모리
CPU가 최근 사용한 데이터를 임시 저장하는 버퍼 형태의 고속 기억장치
캐시 메모리는 CPU(레지스터)와 주기억장치 중간에 위치하는 고속의 버퍼 메모리입니다. CPU는 캐시 - 주기억장치 - 보조기억장치 순으로 데이터를 탐색하며, 자주 찾는 데이터를 캐시에 (임시)저장해둡니다.
이때 데이터를 캐시에 저장해두는 방식을 '사상(Mapping)'이라고 합니다. CPU가 캐시에 해당 데이터가 있는지 판별하고 빠르게 찾을 수 있도록 아래와 같은 매핑 방식을 사용합니다.
2. 직접 사상 (Direct Mapping)
1:M 방식으로 캐시 슬롯과 데이터를 지정된 규칙으로 분할해서 연결하는 방식
일련의 규칙대로 캐시와 주 메모리가 매핑되는 방식입니다. 1:M 방식으로 매핑되며 주로 modulo 연산을 이용합니다.
[메모리 블록 주소] % [캐시 블록 개수]로 나눈 나머지를 토대로 각 캐시 슬롯에 매핑하며, 매핑 절차가 단순하고 신속합니다.
하지만 예기치 않게 동일한 나머지를 갖는 메모리 블록들을 자주 이용한다면, 캐시 교체 및 미스가 많이 일어날 수 있습니다.
태그 | 블록 | 오프셋 |
1 | 2 | 5 |
tag는 캐시 동기화 시 갱신여부에 사용하며, 블록은 순번(위치), 오프셋은 블록의 주소를 나타냅니다.
나머지를 이용해서, 블록 순번(번호)대로 캐시를 매핑한다고만 알아두면 될 듯하네요. (깊게 알면 어렵습니다.)
3. 연관 사상 (Associate Mapping)
1:M 방식으로 캐시 슬롯과 데이터를 자유롭게 연결하는 방식
태그 | 오프셋 |
3 | 5 |
정해진 매핑 규칙이나 위치 없이, 자유롭게 캐시 슬롯에 매핑하고 적재하는 방식입니다.
H/W 구조가 복잡하고 구현 비용이 비쌉니다.
4. 집합 연관사상 (Set Associate Mapping)
M:1방식으로 캐시 슬롯을 집합으로 묶어서 데이터와 연결하는 방식
태그 | 셋 | 오프셋 |
2 | 1 | 5 |
직접 사상과 연관 사상의 장점을 수용한 방식입니다.
직접 사상처럼 Set로 위치를 지정하되, Set 내에서는 연관 사상처럼 자유롭게 연결할 수 있습니다.
'CS' 카테고리의 다른 글
[디지털논리] 부울대수의 기본법칙: 교환, 결합, 분배, 드로르간, 흡수 규칙 (0) | 2023.05.11 |
---|---|
[컴퓨터구조] 연산 속도와 메모리 용량의 단위와 호칭: KB, MB, GB, ... (0) | 2023.05.08 |
댓글