[컴퓨터 구조] 캐시 메모리
🥲질문할것
시험 끝나고 교수님한테 꼭!! 질문드리기
-
“세트- 연관 사상”에서 V(캐시의 세트)는 어떻게 판단하는가 ①번? ②번?
-
아래 그림 “세트 - 연관 사상” 에서 V=4가 맞는지와, V =4 로 계산했을 때 i = 24 mod (4)가 나오는데, 이는 어디에 해당하는지
▶ 캐시 메모리
▷ 개요
- 캐시란?
- 두 구성요소 간에 엑세스 시간이나 전송 속도의 차이가 큰 경우 성능을 향상하기 위해 설치하는 기억 장치
- 캐싱 : 빠른 저장장치에 정보를 복사하는 일을 말한다.
- 주저장장치는 보조저장장치의 캐시로 볼 수 있다. (주기억장치에 있는 값들을 갖다 놓기 때문)
- 특징
- 주기억장치보다 액세스 속도 높음
- 가격 및 제한된 공간 때문에 용량 적음
- 캐시 설계시 고려 사항
- 캐시 적중 (Cache hit)
- CPU가 원하는 데이터가 이미 캐쉬에 있는 상태
- CPU가 원하는 데이터가 이미 캐쉬에 있는 상태
- 캐시 미스 (Cache miss)
- CPU가 원하는 데이터가 캐쉬에 없어 메인 메모리에 다시 갔다가 와야하는 상태
- CPU가 원하는 데이터가 캐쉬에 없어 메인 메모리에 다시 갔다가 와야하는 상태
- 캐시 적중률(Hit Ratio)
- 캐시에 적중도(H)
H = 캐시 적중 횟수/전체 기억장치 액세스 횟수
- 캐시 미스율 (Miss Ratio)
미스율 = 1 - H
- 평균 기억장치 액세스 시간 ( Ta )
- Tc는 캐시 액세스 시간, Tm은 주기억 장치 액세스 시간
- 예제 ①
- H (캐시 적중도)가 높아지면 평균 기억장치 액세스 시간은 감소 (캐시 액세스 시간에 접근)
- 캐시 적중률은 프로그램과 데이터의 지역성(Locality)에 크게 의존 (지역성 높을시 좋아짐)
- 캐시 적중 (Cache hit)
- 캐시 블록 변경시 주기억장치에 갱신하는 방법(일관성 유지)
- Write-Through
- 개념
- 캐시가 변경될 때, 주기억장치도 데이터를 동시에 변경해주는 방식
- 장점
- 캐시 적재 블록 내용이 주기억장치 블록 내용과 항상 같음
- 단점
- 캐시 뿐만 아니라 주기억장치도 쓰기 동작을 동시에 진행하기 때문에 쓰기 시간 증가
- 캐시 뿐만 아니라 주기억장치도 쓰기 동작을 동시에 진행하기 때문에 쓰기 시간 증가
- 개념
- Write-Back
- 개념
- 일정한 텀을 두고 캐시가 제거될때나 CPU가 대기시간에 들어갈 때 데이터를 변경해 주는 방식
- 캐시에서 데이터가 변경되어도 주기억장치에는 갱신X
- 장점
- 기억장치에 대한 쓰기 동작 횟수 최소화, 쓰기 시간 단축
- 단점
- 캐시의 내용과 주기억장치 내용 불일치 (동기화x) → 블록 교체 시 캐시 상태를 확인해 갱신하는 동작이 선행되어야 함, 추가 시간 소요
- 개념
- Write-Through
▷ 사상(mapping) 방식
- 개념
- 어떤 메인메모리 블록이 어느 캐시 슬롯에 들어갈지 결정하는 방법을 사상이라고 한다.
- 즉, 메인메모리에 있는 값을 어떤 매핑 방법에 의거해 캐시에 올릴건지를 결정하는 것을 말한다.
- 메인메모리와 캐시메모리가 어떻게 매핑(사상)될까? 알아보자.
① 직접 사상 (Direct Mapping)
- 개념
- 메모리 블록들이 정해진 하나의 캐시 블록에만 매핑
- 예시
- 메모리 공간이 32개(0000011111)이고, 캐시 메모리 공간은 8개(000111)인 상황이라면, 00000, 01000, 10000, 11000인 메모리 주소는 다른 슬롯들이 비어있어도 무조건 000 캐시 메모리 주소에 맵핑
- 이때, 000이 ‘인덱스 필드’, 인덱스 제외한 앞의 나머지(00, 01, 10, 11)를 ‘태그 필드’
- 메모리 블록들이 정해진 하나의 캐시 블록에만 매핑
- 문제
- 10110이 적재될 수 있는 캐시 슬롯을 찾아보자
- 공식 :
i = mod m
(i = 주기억장치 블록(슬롯) 번호, m = 캐시 슬롯의 전체 수) - i = 10110(2) mod 8
- 즉, 22 mod 8 => 6번째 슬롯!
- 공식 :
- 10110이 적재될 수 있는 캐시 슬롯을 찾아보자
- 장점
- 구현이 단순하고, 접근 속도가 빠르다.
- 구현 비용이 적게 든다.
=> 슬롯의 위치가 정해져 있기 때문
- 단점⭐
- 주기억장치 블록이 적재 가능한 캐시 슬롯이 한개뿐이기 때문에, 이미 적재된 슬롯이 있으면 Swap-Out이 된다. (메모리 빼야함)
② 완전-연관 사상 (Fully Associate Mapping)
- 개념
- 비어있는 캐시 메모리가 있으면, 마음대로 주소를 저장하는 방식이다.
- 직접매핑에서는 인덱스가 필요했지만, 완전 연관 사상에서는 빈자리 찾아가면 끝!
- 메모리 블록을 어떤 캐시 블록에도 사상 가능 (슬롯 필드 존재 x)
- 장점
- 슬롯 선택 자유로움; 지역성이 높을 때 적중률 극대화
- 슬롯 선택 자유로움; 지역성이 높을 때 적중률 극대화
- 단점
- 캐시 슬롯들의 태그를 동시에 검사하기 위해 매우 복잡하고 비용이 높은 회로가 필요
- 캐시 슬롯들의 태그를 동시에 검사하기 위해 매우 복잡하고 비용이 높은 회로가 필요
③ 세트-연관 사상 (Set Associate Mapping)
- 개념
- 직접 사상 + 완전 연관 사상으로 특정 행을 지정(set 할당)하고, 그 행안의 어떤 열이든 비어있을 때 사상(비어있는 slot 할당)
- 즉, 직접 사상 + 완전 사상의 혼합 방식이다!
- 블록 그룹이 캐시 세트 공유(묶음): 캐시는 v개의 세트로 구성, 각 세트는 k개의 슬롯으로 구성
- 공식
- 전체 주기억장치 블록수 : m,
- 주기억장치 블록이 적재될 수 있는 캐시 세트 번호 : i,
- 주기억장치 블록 번호 : j
m = v x k
,i = j mod (v)
📎참조
- 『 성결대학교 김자원 교수님 』 - 컴퓨터 구조 (2023)
- 『 컴퓨터구조(제5판) 』 - 복두 출판사
- https://kimtaehyun98.tistory.com/48
- https://aldrn29.tistory.com/66
댓글남기기