YZ ZONE

[ 컴퓨터구조 ] 5.5.2 캐시 기억장치 (계속) 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 5.5.2 캐시 기억장치 (계속)

러블리YZ 2023. 2. 8. 02:45

완전-연관 사상

▣ 완전-연관 사상

 주기억장치 블록이 캐시의 어떤 라인으로든 적재 가능 

 태그 필드 = 주기억장치 블록 번호
 기억장치 주소 형식

 직접 사상 캐시의 예에 완전-연관 사상 방식을 적용하면,

완전-연관 사상 캐시의 조직

완전-연관 사상 캐시의 장단점

[장점]

새로운 블록이 캐시로 적재될 때 라인의 선택이 매우 자유 롭다

지역성이 높다면, 적중률이 매우 높아진다 

[단점]

캐시 라인들의 태그들을 병렬로 검사하기 위하여 가격이 높은 연관 기억장치(associative memory) 및 복잡한 주변 회로가 필요

[예제 5-3] 완전-연관 사상 캐시에서의 적중 검사 예

(1) 1011000 (2) 0010110 (3) 0000001 (4) 0111111

<풀이>
(1) 캐시 적중 : 현재 3번 라인에 적재되어 있음
(2) 캐시 미스 : 첫 번째 빈 라인인 5번 라인에 적재된다 (태그 = 00101, 데이터 = assm)
(3) 캐시 미스 : 라인 번호 순으로 6번 라인에 적재된다 (태그 = 00000, 데이터 = abcd) 

(4) 캐시 적중 : 현재 1번 라인에 적재되어 있음

세트-연관 사상

▣ 세트-연관 사상

직접 사상과 완전-연관 사상의 조합
주기억장치 블록 그룹이 하나의 캐시 세트를 공유하며, 그 세트에는 두 개 이상의 라인들이 적재될 수 있음
 캐시는 v 개의 세트(set)들로 나누어지며, 각 세트들은 k 개의 라인들로 구성 (k-way 세트-연관 사상 이라고 부름) 

주기억장치블록이적재될수있는캐시세트의번호i :

i = j mod v

, i : 캐시 세트의 번호
j : 주기억장치 블록 번호 

v : 캐시 세트들의 수

▣ 기억장치 주소 형식

 태그 필드와 세트 필드를 합한 (t+s)비트가 주기억장치의 2(t+s)블록들 중의 하나를 지정

 그 블록이 적재될 수 있는 세트 번호: 세트 필드에 의해 지정

 앞의 [예] 2-way 세트-연관 사상 방식을 적용하는 경우의 주소 형식: (세트 수 = 8/2 = 4개)

▣ 세트 수 = 캐시 라인 수 (v = m) & 세트 내 라인의 수 k = 1 직접 사상

▣ 세트 수 = 1 & 세트 내 라인의 수 = 캐시의 전체 라인 수 (k =m) 완전-연관사상

세트-연관 사상의 동작 원리

▣ 기억장치 주소의 세트 필드의 s 비트들을 이용하여 캐시 세 트들 중의 하나를 선택

▣ 주소의 태그 필드 내용과 그 세트 내의 태그들을 비교

 일치하는 것이 있으면 (캐시 적중)
그 라인내의 한 단어를 w 비트에 의해 선택하여 인출

 일치하는 것이 없다면 (캐시 미스) 

주기억장치를 액세스

세트 내 라인들 중의 한 라인에 새로운 블록을 적재 (교체 알고리즘 필요)

2-way 세트-연관 사상 캐시의 조직

2-way 세트-연관 사상 캐시의 예

[] 주기억장치 용량 = 128( 27) 바이트
블록 크기 
= 4 바이트 주기억장치 블록 수 = 128/4 = 32 

캐시 크기 = 32 바이트, 라인 크기 = 4바이트

, 세트당라인수=2캐시내세트의수 v=8/2=4

세트-연관 사상의 예

[예제 5-4] 2-way 세트-연관 사상 캐시에서의 적중 검사

(1) 1011010 (2) 1110101 (3) 1000000 (4) 0001111

<풀이>

(1) 캐시 적중 : 현재 2번 세트의 두 번째 라인에 적재되어 있음

(2) 캐시 미스1번 세트의 두 번째 라인에 적재

(3) 캐시 미스0번 세트의 첫 번째 라인에 적재

(4) 캐시 적중 : 현재 3번 세트의 첫 번째 라인에 적재되어 있음