
주기억장치 블록(K개의 단어들로 구성됨) = 하나의 캐시 라인에 적재함
b의 한 줄을 캐시 라인이라 칭한다
이때 태그라는 것이 있는데, 각 캐시 라인을 식별하는 용도로 사용된다
- 블록
주기억장치로부터 동시에 인출되는 정보들의 그룹
주기억장치 용량 = 2^n 단어, 블록 = K 단어 -> 블록의 수 = 2^n / K - 라인
캐시에서 각 블록이 저장되는 장소 - 태그
라인에 적재된 블록을 구분해주는 정보
5.3 사상방식
각 주기억장치 블록이 어느 캐시라인에 적재될 것인지를 결정해 주는 방식으로서, 캐시 내부 조직을 결정
- 직접 사상
- 완전 연관 사상
- 세트 연관 사상
1) 직접 사상
각 주기억장치 블록이 지정된 하나의 캐시 라인으로만 적재됨
주기억장치 주소 형식
- 태그 필드
라인에 적재되어 있는 블록의 번호 - 라인 번호
캐시의 m = 2^i 개의 라인들 중의 하나를 지정 - 단어 필드
각 블록 내 2^w 개 단어들 중의 하나를 구분
주기억장치의 블록 j가 적재될 수 있는 캐시 라인의 번호 i = j % m
단, j = 주기억장치 블록 번호, m = 캐시 라인의 전체 수
각 캐시 라인은 2^t개의 블록들에 의하여 공유
같은 라인을 공유하는 블록들은 서로 다른 태그를 가짐
직접 사상 캐시의 동작 원리
캐시로 기억장치 주소가 보내지면 i를 이용해 캐시의 라인을 선택함
그후 태그 비트를 확인하여 비교하고 이때 적중시면 w값을 이용해 해당하는 단어를 인출해 cpu로 보냄
캐시 미스가 일어날 경우 주기억장치로 주소를 보내 액세스 하고 인출된 블록을 지정된 캐시 라인에 적재하고 태그비르를 기록함
예시
주기억장치 용량 = 128byte
주기억장치 주소 = 7bit
블록크기 = 4byte
주기억장치 = 128/4개의 블록 = 32개의 블록으로 구성됨
캐시 용량 = 32byte일시
라인 = 캐시 용량 / 블록크기 = 32 / 4 = 8라인으로 이루어짐
직접 사상 캐시의 장단점
장점
하드웨어가 간단하고, 구현 비용이 적게 든다
단점
각 주기억장치 블록이 적재될 수 있는 캐시라인이 한개 뿐이기 때문에, 그라인을 공유하는 다른 블록이 적재되는 경우에는 overwrite되거나 swap-out됨
2) 완전 연관 사상
주기억장치 블록이 캐시의 어떤 라인으로든 적재가 가능한 것
태그 필드 = 주기억장치 블록번호가 됨
완전 연관 사상 캐시의 장단점
장점
새로운 블록이 캐시로 적재될 때 라인의 선택이 매우 자유롭다
지역성이 높다면, 적중률이 매우 높아진다
단점
캐시 라인들의 태그들을 병렬로 검사하기 위하여 가격이 높은 연관 기억장치 및 복잡한 주변 회로가 필요
3) 세트 연관 사상
직접 사상과 완전 연관 사상의 조합
주기억장치 블록 그룹이 하나의 캐시 세트를 공유하며, 그 세트에는 두 개 이상의 라인들이 적재될 수 있음
캐시는 v 개의 세트들로 나누어지며, 각 세트들은 k개의 라인들로 구성
주기억장치 블록이 적재될 수 있는 캐시 세트의 번호
i = j % v
i = 캐시 세트의 번호
j = 주기억장치 블록 번호
v = 캐시 세트들의 수
기억장치 주소 형식
태그 필드와 세트 필드를 합한 비트가 주기억장치의 2^(t+s)블록들 중의 하나를 지정
그 블록이 적재될 수 있는 세트번호 = 세트 필드에 의해 지정됨
동작 원리
기억장치 주소의 세트 필드의 s비트들을 이용하여 캐시세트들 중의 하나를 선택
주소의 태그 필드 내용과 그 세트내의 태그들을 비교
일치시 캐시 적중
일치가 없을 시 캐시 미스
'공부' 카테고리의 다른 글
| 컴퓨터 구조 - 기억장치 모듈 설계, 캐시 메모리(2025 11 11) (0) | 2025.11.11 |
|---|---|
| 그래픽스 Opengl - Barycentric 좌표 (0) | 2025.11.11 |
| 데이터베이스 - SQL 프로그래밍 (2025 11 10) (0) | 2025.11.10 |
| 컴퓨터 구조 - 기억장치 (2025 11 10) (0) | 2025.11.10 |
| QA - Testing (0) | 2025.11.08 |