|
이제 실전으로 들어가서 실제 제품을 가지고 자세한 이야기를 해보자. 필자가 예로 들 제품은
i845/E/G/D에서 사용되는 메모리클럭 제너레이터 포함형으로, 그 유명한(--;) ICS에서 만드는 950219라는 제품이다.먼저 이 칩의
블럭 다이어그램을 살펴보자.

이 칩은 위와 같은 구조로 되어있다. 약자로 되어있는 부분이 많아서 한번에 알기가 약간
어려운데 추측을 통해서 대충 알 수는 있다. 우선, 왼쪽 상단에 위치한 XTAL과 OSC를 보자. 이 부분이 외장 크리스탈에서 클럭을 받는
오실레이터 부분임을 알 수 있다.
이것은 PLL1과 PLL2로 연결이 되는데, PLL은 Phase Lock Loop 이라는
기술의 약자이다. PLL은 데이터 스트림 내에 속도 정보를 넣어 전송하는 기법인데, 수신하는 측에서는 이 수신된 속도 정보에 따라 자신의 클럭을
고정시킴으로써 신호 요소만을 추출할 수 있다. 이게 흔히 말하는 "클럭 고정 기능"의 핵심이 되는 부분이다. PLL2 오른쪽으로 보시면
48MHz, 즉 USB 쪽으로 클럭을 공급하는 핀이 위치함을 알 수 있고 그 아래로는 1/2 디바이더를 통해 24MHz 의 클럭도 공급해줄 수
있는 기능이 있다.
PLL1 이 있는데, 이것은 옆에 보이는 CPU Divider, PCI Divider,
3V 66 MHz Divider로 연결되어 각각의 장치에 맞는 클럭이 흘러들어가도록 되어있음을 알 수 있다.
그렇다면 좌측 하단에 있는 Control Logic과 Config Reg
(Configuration Register) 의 역할은 무엇인가? 이것은 그 왼쪽으로 위치한 PD#, MULTSEL, FS, SDATA,
SCLK같은 약어들을 보면 대략 짐작할 수 있다. 이것은 수신하는 측, 즉 CPU 외 각종 콘트롤러 등으로부터 정보를 받아 클럭을 조절시켜주는
장치이다.
여기서 가장 중요한 CPU, PCI 부분을 함께 살펴보자. i845E칩셋의 경우
100MHz, 133MHz의 클럭을 호스트 클럭으로 쓰는 펜티엄4를 지원하므로 이 클럭제너레이터는 PLL1으로부터 둘 중 한 클럭을 선택적으로
공급받아 CPU로 보낸다. 그런데 호스트클럭은 또 무엇인가? 이거는 쉽게 설명드리면 CPU가 동작하는 데에 기본이 되는 클럭이다. 펜티엄4는
익히 알려져있는대로 Quad-pumped 기술을 써서 100MHz의 클럭을 400MHz의 효과가 나도록 4배 뻥튀기 시키는 데, 여기서
100MHz가 바로 호스트클럭이고 이 클럭, 즉 타이밍에 맞춰서 신호가 한번 원래의 상태로 돌아올때까지 총 4번의 데이터 전송을 할 수 있도록
설계되어 있다. 한편, 가끔 이 호스트클럭과 Front Side Bus(FSB)를 혼동하시는 분들이 계신데, FSB라는 것은 CPU와 이를
관할하는 콘트롤러 (흔히 노스브릿지라고 불리우는...)사이에 형성되는 버스 (데이터통로)를 일컽는 말이다. 이 통로에 호스트클럭이 공급되어
데이터를 이동시켜 준다. 엄밀한 의미에서 보면 둘은 같은 의미가 아니지만 클럭없는 FSB는 별 의미가 없으므로 두 용어를 같이 써도 별로 문제가
될 것 같지는 않다.
PCI측은 PLL1으로부터 클럭을 공급받아서 디바이더를 통해 33.3MHz가 되도록
조절시킨 다음 공급하는 매커니즘으로 되어있음을 알 수 있다. 한가지 중요한것은, 위의 블럭 다이어그램에서 보면 PCI클럭은 따로 분리되어있는
PLL을 활용하는게 아니므로 호스트클럭과 연동될 수 밖에 없다는 것이다. 이러한 매커니즘 때문에 오버클럭을 하게 되면 PCI클럭이 같이 올라가게
되는 것이다. 그리고 "ICS클럭 제너레이터는 PCI클럭 고정기능이 지원되지 않는다"라는 말이 어디서 나오는지 위 블럭 다이어그램에서 알 수
있다.
그렇다면 PCI클럭 고정을 하기 위해서는 어떻게 설계가 되어야 하는가? 그냥 PLL을
PCI 전용으로 분리시켜버리면 된다. 그러면 이에 적합한 PLL/PCI클럭 발생 매커니즘을 가진 클럭 제너레이터는 33.3MHz의 클럭을
호스트클럭과의 연동 없이도 고정적으로 보낼 수 있는 것이다. 이것은 마치 USB클럭이 48MHz로 고정되는 것과 같다. 요즘 출시되고 있는
메인모드들에 탑재되는 클럭제너레이터들 중에서는 Realtek제품만이 이러한 기능을 지원하는 것으로 알려져있는데, 아직까지 Realtek측에서
자사 제품의 스펙 쉬트를 공개하고 있지 않아 자세한 구조는 알 수 없지만 필자는 PLL을 PCI전용으로 따로 하나 두어 클럭을 발생시키는
매커니즘으로 되어있을 거라고 조심스럽게 추측해본다.
3V 66MHz 는 또 무엇인가? 이것은 아마도 AGP와 인텔의 허브아키텍쳐를 구동하기위한
용도가 아닐까 아닐까 생각해본다. 이것도 역시 이 클럭제너레이터의 구조로서는 호스트 클럭과 연동되는 구조를 가지고 있음을 알 수 있다.
|