셀러론 펜티엄 코어
--------- --------- --------------
G4xx G5xx G6xx G8xx i3 i5 i7
L3 Cache 1M 2M 3M 3M 3M 6M 8M
TRUBO X X X X X O O
HD Graphic 2,3 X X X X O O O
DDR3 1066 1066 1066 1333 1333 1333 1333
Core 2 2 2 2 2 4 4
Hyper Thread X X X X O X O
SSE42 O O O O O O O
AVX X X X X O O O
AES X X X X X O O
VT-x O O O O O O O
VT-d X X X X X O O
최저가격(만원대) ? 5 7 9 13 21 33
- G6xx 와 G8xx 의 차이점을 눈치채기 어려웠네요. 메모리 지원 최대 스펙만 바뀐겁니다.
- 현재 인텔은 기본적으로 코어/쓰레드 개수로 CPU 급을 나누지만, 저는 주로 L3 캐시의 크기를 봅니다. 대용량 데이터 처리에는 L3캐시 많은게 좋고 CPU 급이 높다는건 그만큼 L3캐시가 많다는 의미니까요. 제조 비용도 L3캐시가 많으면 그만큼 많이 비싸집니다. 하지만, L3캐시가 두배면 성능이 두배는 아니라는 점은 CPU선택시 고려해야 할 사항 중 하나입니다. 가격은 두배가 되지만 성능은 두배가 아니라는 거죠.
L1 Data cache 2 x 32 KBytes, 8-way set associative, 64-byte line size L1 Instruction cache 2 x 32 KBytes, 8-way set associative, 64-byte line size L2 cache 6144 KBytes, 24-way set associative, 64-byte line size
Core i7 2600K 의 경우 아래처럼 되어있다.
L1 Data cache 4 x 32 KBytes, 8-way set associative, 64-byte line size L1 Instruction cache 4 x 32 KBytes, 8-way set associative, 64-byte line size L2 cache 4 x 256 KBytes, 8-way set associative, 64-byte line size L3 cache 8 MBytes, 16-way set associative, 64-byte line size
- line 이란 캐시 영역의 기본 단위다. 보통 4워드나 8워드를 단위로 사용하며 E8400에서는 16워드(64byte)를 사용한다. 32KBytes 는 512개의 라인이 있는 셈이다.
- [캐시 데이터 위치 결정 정책]중 하나가 set associative 다. 이외에도 fully associative, direct mapped 방식이 있다. E8400, 2600K의 경우 모두 set associative 방식이다.
- 메모리의 라인과 캐시의 라인이 n:1 매칭이 되면 direct mapped 가 되며, 나머지는 n:m 매칭이다.
- 쉽게 말해 direct mapped 의 경우 메모리의 특정 라인은 캐시의 특정 라인으로만 들어간다. 메모리의 특정 라인이 캐시의 모든 라인중 한곳에 들어갈 수 있으면 fully, 제한된 라인중 한곳에 들어갈 수 있으면 set 이 된다.
Direct Mapped, 2-Way Associative 방식의 설명. 출처: 위키피디아
- n-way 는 set associative 에서, 몇개의 라인을 1개의 셋으로 했느냐를 알려준다. 1-way set associative 는 결국 direct mapped 와 동일한 셈이다. 캐시의 라인 수와 way 수가 같다면 fully associative 이 된다. way는 메모리의 채널과 같은 개념이 아니다.
- 따라서 way수가 클수록, 구현이 어렵고, 속도가 떨어지며, 제조비용이 높아지지만 캐시의 효율성(miss rate 가 낮으면 효율이 좋음)이 좋아진다.