direct mapped cache : 블록이 캐시 내에서 정확히 하나의 위치에 배치될 수 있다.
set associative cache : 블록이 캐시 내의 고정된 개수의 위치에 배치될 수 있다.
- 데이터의 n-way set associative cache는 데이터에 대해 n개의 위치를 갖는 것을 의미한다.
- 2-way의 경우, 8개의 캐시블록은 4개의 집합으로 그룹화된다.
- set number = address % (캐시의 set 개수)
- 데이터가 속해있을 수 있는 set에 대해 모든 tag를 조사한다.
fully associative cache : 블록이 캐시 내의 어느 위치에든 배치될 수 있다.
- 8개의 캐시블록에 대해 하나의 집합을 가진 8-way set associate로 간주할 수 있다.
- single set에 대해 모든 tag를 탐색(examine)해야한다.
Set Associative Cache
동일한 캐시 블록 수 (8 blocks)에 대해 다른 schemes가 존재한다.
- direct mapped cache는 1-way set cache로 간주할 수 있다. (8개의 집합에 1개의 블록)
- 2-way set associative cache는 각각 4개의 집합에 2개의 블록이 있다.
- 4-way set associative cache는 각각 2개의 집합에 4개의 블록이 있다.
- Fully associative cache는 8-way set cache로 간주할 수 있고, 1개의 집합에 8개의 블록이 있다.
세 가지 작은 캐시인 direct mapping cache, 2-way associative cache, fully associative cache가 있다고 가정하자.
각각 4개의 블록으로 구성돼있고, 각 블록은 1바이트(따라서 offset 없음)를 가진다.
캐시 접근은 0, 8, 0, 6, 8이다.
'학교강의필기장 > 컴퓨터구조' 카테고리의 다른 글
컴퓨터구조[24]: Page table, TLB (0) | 2023.06.22 |
---|---|
컴퓨터구조[23]: virtual memory (0) | 2023.06.22 |
컴퓨터구조[21]: Direct Mapped Cache for the Real World (0) | 2023.06.22 |
컴퓨터구조[20]: Access a Direct Mapped Cache (0) | 2023.06.22 |
컴퓨터구조[19]: memory, Direct Mapped Cache (0) | 2023.06.22 |