본문 바로가기

2-2/컴퓨터 구조

[컴퓨터 구조] Cache Performance

이번 포스팅에서는 Cache의 성능을 측정해보자.

 

 

💻Cache Performance

캐시의 성능을 측정할 때, Hit 일 때, Miss일 때로 크게 두 분류로 볼 수 있다.

Hit 일 때는 Hit time이고, Miss 일때는 Miss penalty이다.

CPU time

따라서, CPU time을 계산하는 과정은 위와 같이 표현되어진다.

여기서 total clock cycled = CPU cycles + Memory stall cycles로  표현되어 질 수 있다.

CPU cycles는 CPU가 실행하는 시간이고 Memory stall cycles는 DATA에 접근하는 시간을 의미한다.

 

여기서, Memory stall cycle에 대해서 더 알아보도록 하자.

CPU가 Cache에 요청을 하였는데 해당 데이터가 없을때, Memory에 접근해서 Cache에 기록하고 CPU까지 가져온다. 이거를 모두 다 합한것이 Miss penalty이다.

 

 

위 식을보면 Read staall cycles와 Write stall cycle 로 나눌 수 있다.

 

예제를 보자.

Instruction cache miss rate : 2%

Miss penalty : 100 cycles

Data cache miss rate : 4%

Ideal Case CPI : 2

Load and store : 36% of instructions

일때, 이 processor보다 Perfect cache는 얼마나 더 빠른가?

 

먼저 Instruction의 개수를 N이라고 두자.

먼저, perfect한 캐시는 모두 다 hit일 것이다. 그렇다면 CPU cycle만을 계산한 CPI x IC = 2 x n = 2n이다.

위 Cache는 이 CPU cycle에 Memory stall cycle 을 더한것이다.

중요한점은 Instruction miss와 data miss를 각각 계산해줘야 하는거다.

instruction miss cycles = N x 2% x 100 = 2N

data miss cycles = N x 36% x 4% x 100cycles = 1.44N

 

Total Cycle = 2N + 2N+1.44N = 5.44N이다.

perfect cache가 2.72배 좋다고 볼 수 있다.