|
Q12. AMD64 프로세서들의 FSB는 800이다???
이 이야기를 하기전에 기존의 FSB개념부터
살펴보는 것이 좋겠다.
기존의 FSB란 개념은 486시절부터
배수개념이 등장하면서 도입된 것으로, 높은 코어의 클럭을 메인보드가 따라가지 못해 도입된 개념이다. 따라서 코어의 작동 클럭과 외부에서 전달하는
클럭을 일정비율로 분리시키고 그것을 배율을 통해 CPU내부의 클럭을 생성해낸 것이다. 여기에서 FSB란 두가지의 의미를 내포하고 있는데,
CPU의 외부클럭이라는 의미와, CPU - 노스브릿지간 버스의 클럭을 이야기한다. 우리가 현재 의미하는 FSB는 이 두가지를 동시에 의미하고
있다.
그러나 CPU가 빠르게 발전하면서,
FSB에 약간의 변화가 나타났다. 잘 알려졌듯, Athlon XP의 경우 실제 CPU의 외부클럭은 133Mhz / 200Mhz이지만, 노스브릿지-CPU의
버스 클럭은 266 / 400으로 구동되었다. 인텔은 이 노스브릿지-CPU간 버스클럭을 높이기 위해 QDR을 채용했고, AMD는 DDR을
채용했다. 따라서 인텔 펜티엄4의 노스브릿지-CPU 버스클럭은 외부클럭 X 4로 작동하고, AMD Athlon XP는 외부클럭 X 2로
작동한다.
'외부클럭' 개념의 FSB는
200
여기서 AMD64는 노스-CPU간
데이터 버스로 하이퍼트랜스포트를 채용한 것이다. Athlon 64, Opteron, Athlon 64 FX모두, 외부클럭은 200Mhz를 가지고
있다. 이 200Mhz는 하이퍼트랜스포트의 기본클럭과 동일하다. 이 200Mhz는 CG(클럭 제너레이터)에서 생성하는 것으로,
AMD64아키텍처의 CPU-터널(노스브릿지)간의 하이퍼트랜스포트 클럭 X4 LDT를 주어 800Mhz로 생성한다. 따라서 FSB라는 개념중
'CPU의 외부클럭'이라는 개념의 Athlon 64의 FSB는 200이 맞다.

nForce 150장착의 체인텍
Zenith ZNF3-150의 바이오스화면. '외부클럭'이란 의미의 FSB는 200Mhz이다.
'CPU대역폭'이라는 의미의
FSB로는 800
위에서 'CPU대역폭'이라는 기존의
의미를 이해하고자, 펜티엄4의 QDR이나 Athlon XP의 DDR을 언급하였다. Athlon 64에서도 이 원리가 동일하게 적용된다. 단지,
'하이퍼트랜스포트'라는 프로토콜로 정해진 것 뿐이다.
하이퍼트랜스포트의 기본 클럭은
지금까지 자주 접하신, 800Mhz가 아닌 200Mhz이다. 여기에 다양한 배수가 곱해져, 최소 200Mhz 에서 최대 800Mhz까지 다양한
규격을 갖추게 되는 것이다. AMD64는 CPU-터널간 하이퍼트랜스포트 프로토콜에 16Bit / 16Bit / 800Mhz를 적용하고 있다.
따라서 버스의 클럭이라는 의미에서는 800Mhz로 동작한다. (하이퍼트랜스포트의 클럭과 대역폭에 대해서는 다음 질문에서 다루도록 하겠다)
| |
CPU-노스 버스클럭 |
외부입력 클럭 |
비고 |
 |
하이퍼트랜스포트 800Mhz
(200Mhz X 4LDT) |
200Mhz |
CPU - 노스 대역폭 :
6.4GB/s
(메모리 억세스 대역폭 제외. CPU에 포함되어있으므로) |
|
 |
외부클럭 200Mhz X 2
(DDR) = 400Mhz |
200Mhz
(XP3200+이상) |
3.2GB/s (메모리 억세스
대역폭 포함) |
|

|
외부클럭 200 X
4(QDR) = 800Mhz |
200Mhz
(C 스텝의 경우) |
6.4GB/s
(메모리 억세스 대역폭 포함) |
Q13. 그래서, CPU와 AGP터널간의 대역폭은 도대체 얼마냐고?
6.4GB/s 이다. 단,
nForce3는 3.6GB/s의 구조를 취하고 있다.
이것을 이해하려면, 하이퍼트랜스포트의
기본적인 이해도를 담고 있어야 한다. 기존에 알려진것은 '하이퍼트랜스포트는 800Mhz의 클럭을 갖는다'라고 알려져 있지만, 실제로 이것만이
정답은 아니다. 하이퍼트랜스포트는 그 구성에 따라 최소 2bit부터 32bit까지 다양하게 설정할 수 있고, 최소 200Mhz부터 최대
800Mhz까지 구성할 수 있다. 지난번 ZNF3 리뷰에서 이미 알려드렸지만, 800Mhz 하이퍼트랜스포트는 기본클럭인 200Mh z에
환경에따라 다양한 배율을 적용하여 최종 클럭을 만들어 내며, 800Mhz의 경우는 200Mhz X 4배수 = 800Mhz라는 형식으로 구성된다.

Zenith ZNF3의 LDT (하이퍼트랜스포트
배율설정) 화면. 1X ~ 4X까지 설정할 수 있지만 ZNF3-150은 nForce 150 칩셋이기에 2.5로 작동한다. (600Mhz)
하이퍼트랜스포트 대역폭 차트
|
| |
Link Width |
| |
2 bits |
4 bits |
8 bits |
16 bits |
32 bits |
| 200 MHz |
200MB/s |
400MB/s |
800MB/s |
1.6GB/s |
3.2GB/s |
| 400 MHz |
400MB/s |
800MB/s |
1.6GB/s |
3.2GB/s |
6.4GB/s |
| 500 MHz |
500MB/s |
1GB/s |
2GB/s |
4GB/s |
8GB/s |
| 600 MHz |
600MB/s |
1.2GB/s |
2.4GB/s |
4.8GB/s |
9.6GB/s |
| 800 MHz |
800MB/s |
1.6GB/s |
3.2GB/s |
6.4GB/s |
12.8GB/s |
하이퍼트랜스포트 표
Athlon 64는 외부 통로로
16Bit / 800Mhz 하이퍼트랜스포트를 채용하였으며, 이것을 계산하여보면, 2Byte(16Bit) X 2 (양방향) X 2 (DDR) X
800Mhz = 6.4GB/s 이에따라 최대 6.4GB/s의 대역폭을 가진다. 이는 Athlon 64, Athlon 64 FX, Opteron이
모두 동일하다.
단, 이는 지원하는 칩셋에 따라 다를
수 있고, 실제로 nForce3는 Athlon 64의 기본구조인 양방향 16Bit의 800Mhz가 아니라, UpLink 8Bit,
DownLink 16Bit의 600Mhz 하이퍼트랜스포트를 채용하였기 때문에 Athlon 64의 완벽한 대역폭을 소화하지 못한다. 계산하여보면,
(1 X 2(DDR) X 600 ) + (2 X 2(DDR) X 600) = 3.6GB/s이다.
Q14. 그럼 메모리 - CPU의 대역폭은?
위에서 잠깐 언급하였지만 다시
종합해서 이야기해보자. Athlon 64는 DDR 400메모리를 지원하고, Athlon 64 FX는 듀얼채널 DDR400, Opteron은
듀얼채널 DDR333이므로, 각 CPU에 따라 계산이 가능하다.

| CPU |
메모리 컨트롤러 |
대역폭 |
 |
싱글채널 DDR 400 (Unbuffered) |
3.2GB/s |
 |
듀얼채널 DDR400 (ECC
Registered) |
6.4GB/s |
 |
듀얼채널 DDR333 (ECC
Registered) |
5.4GB/s |
기존의 펜티엄4나 Athlon XP의
경우, 메모리컨트롤러가 CPU - 노스 대역폭을 따라 데이터가 전송되었지만 Athlon 64는 CPU안에 이를 포함하고 있기 때문에 효율이
높으며, 메모리 억세스를 직접 노스브릿지를 거치지 않고 CPU가 실행함에 따라, 기존의 CPU같은 메모리 오버클럭은 제공하지 않는다. 단,
코어의 클럭이 상승되면서 메모리의 클럭이 동반 상승되어 오버클럭 할 수는 있다.
|