• Tidak ada hasil yang ditemukan

하는 보조 태그 디렉토리로 삽입된다

.

다른 캐시에서 전달된 블록은 보조 태그 디렉토리로 삽입되지 않는다

.

기존

LRU

교체 정책과 마찬가지로 새 로운 블록은

MRU

위치로 삽입되며 원래 존재하던 블록은

LRU

위치로 한 칸 이동하고

,

기존

LRU

위치의 블록은 희생된다

.

기존 캐시에서 적중 실패가 일어났을 경우

,

보조 태그 디렉토리를 검색한다

.

해당 주소의 블록 이 존재하여 보조 태그 디렉토리에서 적중할 경우

,

적중한 위치

(MRU

에서 적중한 블록까지의 거리

)

를 알려준다

[QP06].

그림

2.11 (ㄱ)

은 캐시

A

에서 희생된 블록이 보조 태그 디렉토리로 삽입되면서 교체

-

재사용 시간이 시 작하는 모습을 보여준다

.

그림

2.11 (ㄴ)

은 시간이 흐른 후 삽입된 희생 블록이 적중하면서 교체

-

재사용 시간이 종료하는 모습을 보여준다

.

희생 블록이 발생하고 보조 태그 디렉토리에 삽입되면서 교체

-

재사용 시간이 시작한다

.

그 후 삽입된 희생 블록은

LRU

방향으로 이동하게 되 며

,

이동한 정도는 다른 희생 블록이 보조 태그 디렉토리로 삽입되는 수 에 의존한다

.

새로운 희생 블록의 삽입은 보조 태그 디렉토리 안의

LRU

위치의 블록을 희생 시키며

,

나머지 블록을 한 칸씩

LRU

방향으로 이동 시킨다

.

그리고 새로운 희생 블록은

MRU

위치로 자리 잡는다

.

결국 원래 이전에 삽입된 희생 블록은 보조 태그 디렉토리 안에서 적중하면서 교체

-

재사용 시간이 끝나게 된다

.

그림 2.12 보조 태그 디렉토리 적중의 예

그림

2.12

는 보조 태그 디렉토리에서 적중했을 때를 보여주는 한 예이

.

캐시

A

에서 캐시 적중 실패가 일어났을 경우 그 주소로 보조 태그 디 렉토리를 검색하여

2

번 거리에서 적중이 일어남을 보여준다

. MRU

위치 에서 적중이 일어나면 거리값이

0

이고

, LRU

위치에서 적중이 일어나면 거리값이

3

이다

.

본 논문에서는 캐시내부에서 희생 블록이 이동하는 모습으로 생존 시간 을 추측한 것처럼

,

희생 블록이 보조 태그 디렉토리에서 이동하는 현상을 이용하여 희생 블록의 교체

-

재사용 시간을 추측한다

.

희생 블록의 교체

-

재사용 시간은 보조 태그 디렉토리에 삽입된 시점에 시작하며 보조 태그 디렉토리에서 적중했을 때 끝이 난다

.

따라서 희생 블록의 교체

-

재사용 시간은 희생 블록이 보조 태그 디렉토리에 삽입된 때 로부터 보조 태그 디렉토리에 적중했을 때까지의 시간과 일치한다

.

희생 블록의 교체

-

재사용 시간 또한

시간

=

거리

/

속도

의 공식을 이용하여 추측할 수 있다

.

거리는 보조 태그 디렉토리에서 적중한 위치에 해당한다

.

희생 블록의 보조 태그 디렉토리 안에서의 이동속도는 단위 시간당 이동한 거리이므 로

,

이동한 거리를 측정 시간으로 나누면 된다

.

이상에서와 같이 어떤 또 다른 희생 블록이 보조 태그 디렉토리로 삽입되었을 경우 또 다른 희생 블록이 보조 태그 디렉토리로 삽입되었을 때

LRU

위치를 향해 한 칸 이 동한다

.

따라서 이동 속도는 위의 사건이 일어난 수를 측정 시간으로 나 누면 된다

.

종합해 보면

,

희생 블록의 재사용 시간은 다음과 같이 표현될 수 있다

.

정의

2.5

교체

-

재사용 시간 예측 값

(Replacement-Reuse Time

Prediction Value) :

캐시

A

의 희생 블록의 교체

-

재사용 시간 예측 값은

다음과 같다

.

   

 ×

는 희생 블록이 캐시에 적중한

MRU

위치로 부터의 거리를 의 미하여

,

는 사건 측정 시간을 의미한다

.

는 캐시

A

에서 일어난 블록 교체의 수이다

.

이상의 제안된 방법은 보조 태그 디렉토리를 사용하여 희생 블록의 교 체

-

재사용 시간을 추측한다

.

비록 보조 태그 디렉토리라는 추가 구조가 필요하긴 하지만

,

모든 캐시

set

에 설치하지 않고 일부분의

set

에만 보조 태그 디렉토리를 설치하는

set

표본

(set sampling)

방식을 사용하여 하드웨 어 비용을 줄였다

[QP06].

표본화된 보조 태그 디렉토리는 큰 캐시 사이즈 와 얻을 수 있는 성능향상에 비하면 큰 비용

(overhead)

이 아니라고 할 수 있다

.