지역성
- 시간적 지역성
- 공간적 지역성
- 순차적 지역성
캐시 설계에 있어서 공통적 목표
- 캐시 적중률 극대화
- 캐시 액세스 시간 최소화
- 캐시 미스에 따른 지연 시간 최소화
- 주기억장치와 캐시 간의 데이터 일관성 유지 및 그에 따른 오버헤드 최소화
캐시 크기 : 용량 커지면 적중률 증가, 비용 증가, 액세스 시간 다소 증가
인출 방식 : 적중률 영향
1) 요구 인출 / 필요한 정보만 인출
2) 선인출 방식 (지역성이 높은 경우 효과적) / 인근 정보도 가져옴
블록 : 주기억장치로부터 동시에 인출되는 정보들의 그룹
라인 : 캐시에서 각 블록이 저장되는 장소
태그 : 라인에 적재된 블록을 구분해주는 정보
사상 방식 : 주기억장치 블록이 어느 캐시 라인에 적재될지를 결정하는 방식 (캐시 내부 조직 결정)
1) 직접 사상
- 태그 필드 / 라인 필드 / 단어 필드
장점 : 하드웨어가 간단, 구현 비용이 적음
단점 : 주기억장치 블록에 적재 가능한 캐시 라인이 한 개 뿐이기에, 다른 블록이 적재되면 overwrite 또는 swap-out
2) 완전-연관 사상
- 태그 필드 / 단어 필드
장점 : 새로운 블록이 캐시로 적재될 때 라인 선택이 자유롭다, 지역성 높으면 적중률이 높다
단점 : 캐시 라인 태그들을 병렬로 검사하기에는 가격이 높은 연관 기억장치, 복잡한 주변 회로 필요
3) 세트-연관 사상
- 태그 필드 / 세트 필드 / 단어 필드
교체 알고리즘
1) 최소 최근 사용 : 오래된 블록 교체
2) FIFO : 먼저 들어온 블록 교체
3) 최소 사용 빈도 : 가장 안쓰는 블록 교체
쓰기 정책 : 캐시 블록이 변경될 때, 내용을 주기억장치에 갱신하는 시기와 방법의 결정
- Write-through : 모든 쓰기 동작들이 캐시로 뿐만 아니라 주기억장치로도 동시에 수행되는 방식
- Write-back : 캐시까지만 변경(주기억장치 갱신X)
다중프로세서시스템에서 데이터 불일치 문제 발생 가능 : 주기억장치와 캐시 라인에 적재된 블록 내용이 다른 경우
-> 캐시 일관성 프로토콜 필요
다중 캐시
- 온-칩 캐시 : 캐시 액세스 시간 단축을 위해 CPU 칩 내에 포함시킨 캐시
1) 계층적 캐시(온칩을 L1, 외부 L2)
- L1의 내용이 모두 L2에도 존재 -> L1검사 후 없으면 L2 검사
분리 캐시
- 캐시를 명령어 캐시와 데이터 캐시로 분리
- 명령어 인출 유니트, 실행 유니트 간 캐시 액세스 충돌 제거
- 대부분 고속 프로세서들에서 사용
'학교수업' 카테고리의 다른 글
윈도우즈 9주차 (0) | 2022.05.26 |
---|---|
윈도우즈 8주차 (0) | 2022.05.26 |
컴퓨터 구조 10주차 (0) | 2022.05.19 |
컴퓨터그래픽스 기초 10주차 (0) | 2022.05.18 |
게임공학개론 11주차 (1) | 2022.05.16 |