이번 포스팅에서는 Cache의 성능을 측정해보자.
💻Cache Performance
캐시의 성능을 측정할 때, Hit 일 때, Miss일 때로 크게 두 분류로 볼 수 있다.
Hit 일 때는 Hit time이고, Miss 일때는 Miss penalty이다.

따라서, 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배 좋다고 볼 수 있다.
'2-2 > 컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] Building datapath(1) (0) | 2022.11.27 |
---|---|
[컴퓨터 구조] Associative Cache (0) | 2022.11.25 |
[컴퓨터 구조] Cache Miss Handling (0) | 2022.11.25 |
[컴퓨터 구조] Direct- mapped Cache (0) | 2022.11.25 |
[컴퓨터 구조] Cache (0) | 2022.11.25 |